Linux binaries
Run the server without Docker, preserve its data, and account for the optional helper runtimes.
Use the Linux archive attached to the Cantinarr release you want to install. Releases provide AMD64 and ARM64 archives with matching SHA-256 checksum files.
The archive contains the server with its web app, the pinned codex-app-server helper, and license notices. It is extracted from the published image build rather than built independently for the archive.
Check and unpack
Section titled “Check and unpack”Download both the archive and its .sha256 file into the same directory. This example uses AMD64; substitute the ARM64 filenames for an ARM64 machine:
sha256sum -c cantinarr-linux-amd64.tar.gz.sha256tar -xzf cantinarr-linux-amd64.tar.gzsudo install -m 0755 cantinarr codex-app-server /usr/local/bin/Stop if the checksum does not match. Keep the included license notices with your installed distribution.
Create a service account and data directory
Section titled “Create a service account and data directory”For a new Debian or Ubuntu host using a dedicated account:
sudo useradd --system --home /config --shell /usr/sbin/nologin cantinarrsudo install -d -o cantinarr -g cantinarr -m 0700 /configIf the account or data directory already exists, inspect it and preserve its contents. Do not replace an existing configuration or change ownership of another application’s data.
The server uses /config/cantinarr.db and, by default, /config/encryption.key. It does not expose a general database-path environment setting.
Run under systemd
Section titled “Run under systemd”Save the following as /etc/systemd/system/cantinarr.service on a systemd host:
[Unit]Description=CantinarrAfter=network-online.targetWants=network-online.target
[Service]User=cantinarrGroup=cantinarrWorkingDirectory=/configExecStart=/usr/local/bin/cantinarrEnvironmentFile=-/etc/cantinarr.envRestart=on-failureNoNewPrivileges=truePrivateTmp=true
[Install]WantedBy=multi-user.targetUse /etc/cantinarr.env for the environment variables you need. Protect that file if it contains secrets. Keep existing externally supplied encryption keys unchanged during migration.
sudo systemctl daemon-reloadsudo systemctl enable --now cantinarrsudo systemctl status cantinarrsudo journalctl -u cantinarr -n 100 --no-pagerOpen http://YOUR-SERVER-IP:8585, then complete first setup.
Optional helpers
Section titled “Optional helpers”The bundled Codex helper supports OpenAI OAuth-backed AI. Its ephemeral state needs the configured Linux memory-backed runtime directory, normally /dev/shm/cantinarr-codex, owned by the server user with mode 0700 when pre-created.
Apple TV support uses a separate Python helper and its locked dependencies. The binary archive alone is not a complete native Apple TV setup. Follow the native installation section in Apple TV setup.
Updates and migration
Section titled “Updates and migration”Stop the service, back up the whole /config directory, verify and install the intended release archive, and restart. Keep the same process identity, secrets, and media permissions. Validate saved instance connections afterward.
Use the old version with its corresponding backup if you must roll back. See backup and restore.