Docksy

Servers

A server is any Linux machine Docksy can reach over SSH. Docksy provisions it once, then deploys to it and watches it.

Add a server

  1. Servers → Add server. Docksy shows its public SSH key (ed25519, generated on first use) and a one-line command.
  2. Run that one-liner on the new machine. It appends the key to ~/.ssh/authorized_keys:
    $ mkdir -p ~/.ssh && echo "ssh-ed25519 AAAA… docksy" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
    Most VPS providers also let you paste the key when you create the machine.
  3. Enter a name, the host (IP or DNS), the SSH port (default 22) and the user (default root; a passwordless-sudo user also works).
  4. Validate checks: SSH connects, root/sudo works, the OS, whether Docker is present, and free disk.
  5. Provision streams a live log while it sets the server up.

What provisioning does

Provisioning is idempotent: run it again any time to repair or update a server.

The agent

The agent is a tiny static Go binary (no CGO, standard library only). Every 10 seconds it reports:

It runs unprivileged except for read access to the Docker socket, and uses under 15 MB of RAM and under 1% CPU. It only pushes to your Docksy URL (/api/agent/v1/report) with its own token. No inbound port is opened. If Docksy is unreachable, it backs off and keeps only the latest report.

A server is online when the agent reported in the last 60 seconds. After 2 minutes of silence the default Server offline alert fires.

The server page

/servers/:id is the showcase page:

On-server layout

ThingWhere / name
Networkdocksy
Proxycontainer docksy-proxy (ports 80/443)
App containersdx-<app>-<deploy8>, labels docksy.managed=true, docksy.app, docksy.deployment
Builds / backups / volumes/var/lib/docksy/…
Agent/usr/local/bin/docksy-agent, docksy-agent.service, /etc/docksy/agent.env

Remove a server

Docksy refuses to delete a server that still has apps. Delete or move the apps first. Deleting a server from Docksy doesn't wipe the machine. To remove the agent:

$ sudo systemctl disable --now docksy-agent && sudo rm /usr/local/bin/docksy-agent /etc/systemd/system/docksy-agent.service /etc/docksy/agent.env

Troubleshooting

SymptomFix
SSH authentication failedThe key isn't in authorized_keys for that user, or the user/port is wrong.
Connection timed outA firewall or security group is blocking port 22 from the Docksy host.
Agent never comes onlineThe Public URL in Settings must be reachable from the server. Check journalctl -u docksy-agent.
Ports 80/443 in useAnother web server is running. Stop it, or use a fresh machine.

With the Claude plugin, just say "add my new Hetzner box 203.0.113.7 to Docksy". The docksy-setup-server skill walks you through it.

Edit this page on GitHub