Release binary
Teldrive
Installation

Release binary

Install a Teldrive release archive without containers.

Release builds are standalone binaries for Linux, macOS, and Windows. Linux releases use CGO_ENABLED=0.

Install

Linux installer

Requires Bash, curl, tar, and sha256sum. Python 3 is needed only for automatic version detection.

curl -fsSL https://tgdrive.github.io/teldrive/install.sh -o install.sh
less install.sh
bash install.sh

Pass a version, such as bash install.sh 2.0.0, to pin the installation. The default destination is ~/.local/bin; set TELDRIVE_INSTALL_DIR to override it. Add the directory to PATH.

Windows installer

Run PowerShell as your normal user:

Invoke-WebRequest https://tgdrive.github.io/teldrive/install.ps1 -OutFile install.ps1
Get-Content .\install.ps1
.\install.ps1

Use -Version 2.0.0 or -InstallDir PATH to override defaults. Add %LOCALAPPDATA%\Teldrive\bin to your user PATH. If script execution is blocked, review your execution policy or use a manual installation; do not disable system-wide protections.

Both installers verify release checksums. They install the CLI and completion files, not PostgreSQL, configuration, or a background service. Latest-version detection uses published stable GitHub releases, not drafts. Checksums detect corruption, not a compromised publisher.

Manual installation

Download the archive for your OS/architecture from GitHub Releases, then on Linux:

tar -xzf teldrive-X.Y.Z-linux-amd64.tar.gz
sudo install -m 0755 teldrive /usr/local/bin/teldrive
teldrive version

Release targets include Linux amd64/arm/arm64, macOS amd64/arm64, and Windows amd64/arm64.

Configure

Use an explicit config path:

teldrive check --config /etc/teldrive/config.toml
teldrive run --config /etc/teldrive/config.toml

See Configuration overview for file discovery and required settings.

systemd

[Unit]
Description=Teldrive
After=network-online.target postgresql.service
Wants=network-online.target

[Service]
Type=simple
User=teldrive
Group=teldrive
ExecStart=/usr/local/bin/teldrive run --config /etc/teldrive/config.toml
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Protect the config:

sudo chown root:teldrive /etc/teldrive/config.toml
sudo chmod 0640 /etc/teldrive/config.toml

Listener

For a host with a local reverse proxy, keep the default 127.0.0.1:8080. Use 0.0.0.0:8080 only when network exposure is intentional.

See Reverse proxy and HTTPS.