INSTALL
Running in one command.
Free, self-hosted, no signup. The installer checks your machine, sets everything up and tells you where to open Talos, so you can try a working control plane within minutes.
Any distro with sh. Installs Docker for you if it is missing, after asking first. It asks before it changes anything. Enter means no.
FOUR WAYS TO INSTALL
Pick the one that matches where Talos will run.
One command
A Linux server or VM, or a Mac.
curl -fsSL https://talosfleet.site/install.sh | shread the guide →Windows and macOS
A desktop with Docker Desktop.
irm https://talosfleet.site/install.ps1 | iexread the guide →A new cloud server
Paste a start-up script when you create the server. No SSH needed.
#!/bin/sh … (cloud-init user data)read the guide →Try it on your computer
Only your computer can open it, and one command removes it all again.
curl -fsSL https://talosfleet.site/install.sh | sh -s -- --evalread the guide →WHAT THE INSTALLER DOES
It asks before it changes anything.
One script for every system: on Windows and macOS it runs inside a small Docker container, so it is the same tested installer everywhere. Run it again at any time: it finds the existing install and updates it in place.
Checks Docker
On Linux it offers to install Docker with Docker’s own installer if it is missing, and to start it if it is stopped. On Windows and macOS it starts Docker Desktop and waits for it.
Finds an existing install
An earlier Talos on the machine is updated in place: same folder, same data, same secrets. It never starts a second, empty database next to data it can see.
Checks the machine
CPU, memory, disk and both ports. Below the minimum it warns and asks. A busy port gets a suggested free one, or one you type.
Shows the plan and asks
Nothing is changed before you answer. Enter means no. --yes answers yes to everything, for scripts.
Writes two files
docker-compose.yml and .env, with secrets generated on the spot. Into /opt/talos as root, otherwise ~/talos.
Starts Talos and tests it
Waits until the backend is healthy, then opens the links from this machine. It only says “running” once they answer.
Prints the link and the setup token
The address to open, and the one-time token that creates the first account.
WHY A SETUP TOKEN
Whoever creates the first account becomes the administrator. On a server with a public address, automated scanners can find unclaimed first-run pages within minutes, so creating that first account needs a token only someone with access to the machine can read. After that it is never asked for again.
PREREQUISITES
Docker
Linux: the installer installs Docker Engine for you if you agree. Windows and macOS: Docker Desktop, installed by you once.
2 GB RAM, 2 CPUs
The minimum; 4 GB and 4 CPUs recommended. Jobs run on your servers, not here, so it stays flat as the fleet grows.
Linux, Windows or macOS
It needs outbound SSH to the machines you intend to manage, and nothing inbound but your browser.
| MINIMUM | RECOMMENDED | |
|---|---|---|
| CPU | 2 cores | 4 cores |
| Memory | 2 GB | 4 GB |
| Free disk | 10 GB | 20 GB |
Below the minimum the installer warns and asks before going on. On Windows and macOS these are Docker Desktop’s own limits; raise them in Docker Desktop → Settings → Resources.
WHAT YOU ARE ABOUT TO RUN
Four public images. No build step.
Two of ours and two upstream. Nothing is compiled on your machine, there is no registry login, and you can inspect any of them before you start.
plus pgvector/pgvector:pg16 · redis:7-alpine (unmodified upstream)
PREFER TO DO IT BY HAND?
The whole deployment is two files.
The installer writes exactly these. Download them, fill in three secrets, and start it yourself. The script does nothing beyond this.
The first start takes a minute or two while the database schema is applied. Without a SETUP_TOKEN in .env, the one to use is printed in docker compose logs backend.
AFTER IT IS RUNNING
Production, backups, upgrades and uninstalling.
YOUR FIRST FIVE MINUTES
From empty console to a streaming job.
Create the first account
Open the link the installer printed, choose “Create the first one” and enter the setup token. It is needed once: whoever creates the first account becomes the administrator, so a stranger who reaches the page first cannot.
Add a server
Hostname, port, user. No agent to install: Talos connects over plain SSH.
Add an SSH key
Pasted once and encrypted at rest under your ENCRYPTION_KEY. It is decrypted in memory for the duration of a job and never written to a log line or a job payload.
Run discovery
Read-only inventory: OS, kernel, runtimes, running containers, database engines. It changes nothing on the host.
Watch the first job stream
Every line arrives live. What you watch is exactly what lands in the audit ledger.
ENVIRONMENT VARIABLES
What is in .env.
THIS IS DELIBERATE
Talos refuses to start with missing or default secrets. There is no fallback value and no warning-and-continue path. The check runs before anything opens a network connection, so a refused boot has written nothing. An instance holding your root SSH keys should never come up with a publicly known default key.
BACK UP ENCRYPTION_KEY WITH YOUR DATABASE
It cannot be changed once data exists. Every SSH key, cloud credential and database password is encrypted with it, and there is no recovery path: a database backup without this key is unreadable.
Email, Google/GitHub sign-in and multiple organizations are in the configuration reference.
TROUBLESHOOTING
If Talos does not start.
It's running. Now add your fleet.
Discovery is read-only, so connecting your first server changes nothing on it.