Skip to main content

Installing and running

The recommended way of running Conduit on a local machine is using the latest version which you can install by running the following command:

curl https://conduitdata.io/install.sh | bash
info

The script detects your OS and architecture, downloads the latest Conduit release, and installs it with your system's package manager when there is one — brew on macOS, dpkg on Debian/Ubuntu, rpm on RedHat/Fedora. Anywhere else (Arch, Alpine, SUSE, or a Mac without Homebrew) it falls back to the generic release tarball.

Every download is checked against the SHA-256 in the release's checksums.txt before anything is installed. A checksum that does not match, a checksums.txt the script cannot fetch, or a machine with no SHA-256 tool all abort the install rather than continuing. The artifact comes through the download gateway and the checksum comes from GitHub, so this catches corruption or substitution on the download path. checksums.txt is not itself signed, so it is an integrity check, not a signature — it does not protect against a compromised release.

Two environment variables let you override what the script decides:

VariableEffect
CONDUIT_INSTALL_METHODForce brew, dpkg, rpm or tarball instead of detecting one.
CONDUIT_INSTALL_DIRWhere the tarball method puts the binary. Defaults to /usr/local/bin when it is writable, otherwise $HOME/.local/bin.

When the tarball method is used, the script prints where the binary landed and whether that directory is on your PATH. It only reaches for sudo when the target directory is not writable, and says so before it does.

# install into a directory you own, no sudo
curl https://conduitdata.io/install.sh | CONDUIT_INSTALL_DIR="$HOME/.local/bin" bash

Alternatively, you can install Conduit directly using your system's package manager:

For MacOS (using Homebrew)​

brew install conduit

For Debian/Ubuntu (using dpkg)​

TAG=$(curl -sL https://github.com/ConduitIO/conduit/releases/latest | grep -oE "[^"]+tag/[^"]+" | grep -oE "v[0-9.]+$"); \
ARCH=$(dpkg --print-architecture); \
curl -L -o conduit.deb "https://conduit.gateway.scarf.sh/conduit/download/$TAG/conduit_${TAG#v}_Linux_${ARCH}.deb"; \
sudo dpkg -i conduit.deb; rm conduit.deb

For RedHat/Fedora (using rpm)​

TAG=$(curl -sL https://github.com/ConduitIO/conduit/releases/latest | grep -oE "[^"]+tag/[^"]+" | grep -oE "v[0-9.]+$"); \
ARCH=$(uname -m); \
curl -L -o conduit.rpm "https://conduit.gateway.scarf.sh/conduit/download/$TAG/conduit_${TAG#v}_Linux_${ARCH}.rpm"; \
sudo rpm -i conduit.rpm; rm conduit.rpm

Run​

Once installed, you can start Conduit by running:

conduit

You should now be able to interact with Conduit through the CLI or its HTTP API on port 8080:

             ....
.::::::::::.
.:::::‘‘‘‘:::::.
.:::: ::::.
.:::::::: ::::::::.
`:::::::: ::::::::‘
`:::: ::::‘
`:::::....:::::‘
`::::::::::‘ Conduit v0.14.0 linux/amd64
‘‘‘‘
2025-01-10T09:40:07+00:00 INF All 0 tables opened in 0s component=badger.DB
2025-01-10T09:40:07+00:00 INF Discard stats nextEmptySlot: 0 component=badger.DB
2025-01-10T09:40:07+00:00 INF Set nextTxnTs to 0 component=badger.DB
2025-01-10T09:40:07+00:00 INF loading processor plugins from directory /app/processors ... component=plugin.processor.standalone.Registry
2025-01-10T09:40:07+00:00 WRN could not read processor plugin directory error="open /app/processors: no such file or directory" component=plugin.processor.standalone.Registry
2025-01-10T09:40:07+00:00 INF standalone processor plugins initialized component=plugin.processor.standalone.Registry count=0 plugin_path=/app/processors
2025-01-10T09:40:07+00:00 INF builtin processor plugins initialized component=plugin.processor.builtin.Registry count=17
2025-01-10T09:40:07+00:00 INF processors initialized component=processor.Service count=0
2025-01-10T09:40:07+00:00 INF connector utilities started address=[::]:33955
2025-01-10T09:40:07+00:00 INF connector utilities started on [::]:33955
2025-01-10T09:40:07+00:00 INF builtin connector plugins initialized component=plugin.connector.builtin.Registry count=6
2025-01-10T09:40:07+00:00 WRN could not read connector plugin directory error="open /app/connectors: no such file or directory" component=plugin.connector.standalone.Registry
2025-01-10T09:40:07+00:00 INF standalone connector plugins initialized component=plugin.connector.standalone.Registry count=0 plugin_path=/app/connectors
2025-01-10T09:40:07+00:00 INF connectors initialized component=connector.Service count=0
2025-01-10T09:40:07+00:00 INF pipelines initialized component=pipeline.Service count=0
2025-01-10T09:40:07+00:00 INF pipeline configs provisioned component=provisioning.Service created=[] deleted=[] pipelines_path=/app/pipelines
2025-01-10T09:40:07+00:00 INF grpc API started address=[::]:8084
2025-01-10T09:40:07+00:00 INF http API started address=[::]:8080
2025-01-10T09:40:07+00:00 INF
2025-01-10T09:40:07+00:00 INF click here to navigate to explore the HTTP API: http://localhost:8080/openapi
2025-01-10T09:40:07+00:00 INF

Next Steps​

Now that you have Conduit installed you can learn [how to get started]÷(/docs/getting-started). You can also explore some other topics, such as:

scarf pixel conduit-site-docs-using