uninstall.sh

One script, two jobs: pull the agent off a host, or remove Deplo itself. Dry run by default.

Dry run first

Every command is a dry run unless you add --yes. --purge-data is irreversible: it deletes Deplo's volumes, secrets and data on that host.

Use --agent-only for a server that should leave the control plane in /opt/deplo untouched. On the control-plane host it also removes Traefik, so the panel stops answering until you re-run install.sh.

# See what would happen (dry run, the default)
curl -fsSL https://deplo.example.com/uninstall.sh | sudo bash -s -- --agent-only

# Do it
curl -fsSL https://deplo.example.com/uninstall.sh | sudo bash -s -- --yes --agent-only

# Do it, and delete the data too
curl -fsSL https://deplo.example.com/uninstall.sh | sudo bash -s -- --yes --agent-only --purge-data

When the instance itself is unreachable

If the panel or its DNS is unavailable, use https://deplo.build/uninstall.sh. It serves the newest script, so always read the dry run before adding --yes to an older installation.

Prop

Type

What it removes

By default, it removes the panel, Postgres, Traefik, agent, Deplo-managed containers, the deplo network, and /var/lib/deplo-agent.

  • --agent-only stops after removing the agent and host agent data.
  • It never removes Docker Engine, rewrites /etc/docker/daemon.json, or touches containers without a Deplo label.
  • It is safe to run on a host that was never a Deplo host and safe to run twice.

--purge-data deletes /opt/deplo/.env, and that holds DEPLO_SECRET. Every backup artifact this instance wrote is encrypted with a key derived from it. Copy the file first if you may ever want to restore one.

The older /uninstall-agent.sh URL still works and applies --agent-only automatically.

See also

Did this page help you?

On this page