install-agent.sh
Brings one more server into the fleet, verifies its checksum and enrolls it over mutual TLS.
curl -fsSL https://deplo.example.com/install-agent.sh | sudo bash -s -- <TOKEN> <URL> [FINGERPRINT]The three role flags below pick what the server is for, see Server roles for the full comparison.
Always take this command from the dashboard
The copy in the repository has placeholders that the running instance substitutes with the release's per-architecture URL and its checksum, and it refuses to run unsubstituted.
Requires
Root, systemd, curl and sha256sum, on linux/amd64 or arm64.
Docker is installed if missing, except for a migration source, which
needs the Docker it imports from. It refuses below 5 GB free on /,
recommends 30 GB, and checks nothing about memory or CPU.
Prop
Type
Prop
Type
What the installer does
- Runs a preflight for the architecture, required tools, disk space and
control-plane URL.
--forceoverrides only the 5 GB disk check. - Installs Docker, address pools,
git, and Traefik when the selected role needs them. - Downloads the
amd64orarm64agent and verifies its SHA-256 checksum. - Installs the agent and systemd unit, then starts the service.
- Enrolls over mTLS. It stores bootstrap credentials in
/var/lib/deplo-agent/bootstrap.envwith mode0600and clears old certificates on reinstall.
The installer never changes the firewall. If ufw or firewalld blocks
9443, it prints the command needed to open it.
Flags: --check runs the preflight and exits, --force overrides the disk floor, and --plain,
--no-color, --quiet and --help do what they say.
--ipv6 gives Docker IPv6, which an IPv6-only server gets on its own, along
with public NAT64 for ghcr.io and github.com. The same as the
panel installer. Which kind of address
the server's apps get is set in the dashboard, under
Generated addresses.
The agent then calls home, sends a certificate signing request, and receives a signed certificate. The control plane never connects to your machine to set this up.
Logs: journalctl -u deplo-agent -f.
See also
Did this page help you?