Installation
Requirements
- A Linux VPS (Ubuntu/Debian/Fedora)
- Root or sudo access
- A domain name (optional, for HTTPS)
Quick Install
curl -fsSL https://raw.githubusercontent.com/logic-roastery/project-talos/master/scripts/install.sh | sudo bashThis will:
- Install Docker if not present
- Install the Talos binary
- Configure Talos routing for either internal Traefik or an external edge proxy
- Set up systemd services
- Create the runtime directory layout
TIP
This curl | bash method does not save install.sh on the server. If you want to rerun sudo bash install.sh ... later, download the script first and keep it locally.
Installation Modes
Bare Binary (default)
curl -fsSL -o install.sh https://raw.githubusercontent.com/logic-roastery/project-talos/master/scripts/install.sh
sudo bash install.shInstalls Talos as a native binary managed by systemd. Best for production use.
Docker Mode
curl -fsSL -o install.sh https://raw.githubusercontent.com/logic-roastery/project-talos/master/scripts/install.sh
sudo bash install.sh --dockerRuns Talos inside a Docker container. Easier upgrades, but slightly more abstraction.
Build from Source
sudo bash install.sh --from-sourceClones the repo and builds the Go binary locally. Requires Go 1.21+.
Custom Port
sudo bash install.sh --port 8080Changes the Talos web UI port (default: 3000).
What Gets Installed
| Component | Location |
|---|---|
| Talos binary | /usr/local/bin/talos |
| Configuration | /opt/talos/.env |
| Data directory | /opt/talos/data/ |
| Traefik config | /opt/talos/data/traefik/ |
| Systemd service | /etc/systemd/system/talos.service |
Post-Install
After installation, open http://YOUR_VPS_IP:3000 and create your admin account.
TIP
If you have a domain, configure it in Talos Settings. Use internal proxy mode if Talos should own 80/443, or external proxy mode if another reverse proxy on the VPS already owns public HTTPS.
Upgrading
If you installed via curl | bash, upgrade the same way:
curl -fsSL https://raw.githubusercontent.com/logic-roastery/project-talos/master/scripts/install.sh | sudo bash -s -- --upgradeIf you downloaded and kept install.sh locally, use:
sudo bash install.sh --upgradeThe script automatically resolves the latest version. If you need a specific version:
sudo bash install.sh --upgrade --version-tag v0.4.0For Docker mode upgrades, add --docker:
curl -fsSL https://raw.githubusercontent.com/logic-roastery/project-talos/master/scripts/install.sh | sudo bash -s -- --upgrade --dockerThe upgrade process preserves your configuration and data, and automatically rolls back on failure.
Talos generates TALOS_ENCRYPTION_KEY only on first install. On later upgrades or restarts, if the database already exists and the key is missing from /opt/talos/.env, Talos exits with an error instead of generating a new key. Keep /opt/talos/.env with your database and backups.
If you intentionally need a new encryption key, use:
sudo bash install.sh --upgrade --regenerate-encryption-keyFor Docker mode:
sudo bash install.sh --upgrade --docker --regenerate-encryption-keyThat operation makes previously encrypted service credentials unreadable unless you restore the old key or recreate the affected services.
See Upgrading for details.