Deploy a node
A node is a managed service for pipelines and storage.
Install a node
Choose between Docker, Linux, and macOS installation instructions.
Docker
Visit the configurator to download a
docker-compose.NODE.yaml
configuration file where NODE
is the name you
entered for your node. Then run:
docker compose -f docker-compose.NODE.yaml up --detach
Set environment variables to adjust the configuration.
Linux
Use our installer to install a binary package on any Linux distribution:
curl https://get.tenzir.app | sh
The shell script asks for confirmation before performing the installation. If you prefer a manual installation you can also perform the installer steps yourself.
- Debian
- Nix
- Any
Download the latest Debian package and install it via
dpkg
:
dpkg -i tenzir-static-amd64-linux.deb
Use our flake.nix
:
nix run github:tenzir/tenzir/stable
Install Tenzir by adding github:tenzir/tenzir/stable
to your flake inputs, or
use your preferred method to include third-party modules on classic NixOS.
Download a tarball with our static binary for all Linux
distributions and unpack it into /opt/tenzir
:
tar xzf tenzir-static-x86_64-linux.tar.gz -C /
We also offer prebuilt statically linked binaries for every Git commit to the
main
branch.
version="$(git describe --abbrev=10 --long --dirty --match='v[0-9]*')"
curl -fsSL "https://storage.googleapis.com/tenzir-dist-public/packages/main/tenzir-${version}-linux-static.tar.gz"
macOS
Please use Docker with Rosetta until we offer a native package.
Start a node
You can skip this step if you use Docker because docker compose up
already starts a node for you.
Run the tenzir-node
executable to start a node:
tenzir-node
_____ _____ _ _ ________ ____
|_ _| ____| \ | |__ /_ _| _ \
| | | _| | \| | / / | || |_) |
| | | |___| |\ |/ /_ | || _ <
|_| |_____|_| \_/____|___|_| \_\
v4.0.0-rc6-0-gf193b51f1f
Visit https://app.tenzir.com to get started.
This will spawn a blocking process that listens by default on the TCP endpoint
127.0.0.1:5158
. Select a different endpoint via --endpoint
, e.g., bind to an
IPv6 address:
tenzir-node --endpoint=[::1]:42000
Some pipeline operators are inherently unsafe due to their side effects, e.g., reading from a file. When such operators run inside a node, you may involuntarily expose the file system to users that have access to the node, or when you connect the node to the Tenzir platform and manage it via app.tenzir.com. This may constitute a security risk.
We therefore forbid pipelines with such side effects by default. If you are
aware of the implications, you can remove this restriction by setting
tenzir.allow-unsafe-pipelines: true
in the tenzir.yaml
of the respective
node.
Stop a node
There exist two ways stop a server:
- Hit CTRL+C in the same TTY where you ran
tenzir-node
. - Send the process a SIGINT or SIGTERM signal, e.g., via
pkill -2 tenzir-node
.
Sending the process a SIGTERM is the same as hitting CTRL+C.
Automate the deployment
Read our guides on automating the deployment of a node: