Add a full-purge uninstall option (containers + volumes + images + network + install dir) #17

Open
opened 2026-07-25 21:58:59 +00:00 by tech · 0 comments
Owner

Problem

uninstall.sh --remove-data today only runs docker compose down -v (containers + volumes) -- it explicitly leaves everything else behind and tells the customer to clean up manually:

"Configuration files remain at ${INSTALL_DIR} -- remove that directory yourself if you want a completely clean slate."

It also never removes the pulled argus-{api,ui,proxy} (and third-party timescaledb/valkey/docker-socket-proxy) images, the argus-network Docker network install.sh creates, or runs docker system prune. A customer who genuinely wants ARGUS fully gone from a box has to know all of this and do it by hand.

Expected behavior

A new option, e.g. ./uninstall.sh --purge (on top of the existing --remove-data, kept as-is for the "remove data but I might reinstall" case), that additionally:

  1. docker compose down -v --remove-orphans
  2. Removes any leftover argus-* named containers
  3. Removes the argus-{api,ui,proxy} images (and the third-party base images, clearly warning first since those may be shared with other stacks on the same host)
  4. Removes argus-* named volumes
  5. Removes the argus-network network
  6. Removes the install directory itself ($INSTALL_DIR)
  7. docker system prune -f -- with a clear warning that this affects any unused Docker resource on the host, not just ARGUS's own, since a shared host might have other stacks

Step 7 in particular needs a loud, explicit confirmation separate from the existing --remove-data confirmation, since docker system prune is host-wide, not ARGUS-scoped -- this should probably require its own explicit --yes acknowledgment or a second typed confirmation, not be silently bundled into --purge.

Priority

Low -- convenience/completeness for uninstall, not a bug or security issue. Genuinely useful for support/testing scenarios (a clean-slate reinstall) though.

Affected repository/components

argus-installer -- uninstall.sh.

Related: this is installer lifecycle tooling, part of the broader roadmap tracked centrally in weboria/argus-appliance#22.

## Problem `uninstall.sh --remove-data` today only runs `docker compose down -v` (containers + volumes) -- it explicitly leaves everything else behind and tells the customer to clean up manually: > "Configuration files remain at ${INSTALL_DIR} -- remove that directory yourself if you want a completely clean slate." It also never removes the pulled `argus-{api,ui,proxy}` (and third-party `timescaledb`/`valkey`/`docker-socket-proxy`) images, the `argus-network` Docker network `install.sh` creates, or runs `docker system prune`. A customer who genuinely wants ARGUS fully gone from a box has to know all of this and do it by hand. ## Expected behavior A new option, e.g. `./uninstall.sh --purge` (on top of the existing `--remove-data`, kept as-is for the "remove data but I might reinstall" case), that additionally: 1. `docker compose down -v --remove-orphans` 2. Removes any leftover `argus-*` named containers 3. Removes the `argus-{api,ui,proxy}` images (and the third-party base images, clearly warning first since those may be shared with other stacks on the same host) 4. Removes `argus-*` named volumes 5. Removes the `argus-network` network 6. Removes the install directory itself (`$INSTALL_DIR`) 7. `docker system prune -f` -- with a clear warning that this affects *any* unused Docker resource on the host, not just ARGUS's own, since a shared host might have other stacks Step 7 in particular needs a loud, explicit confirmation separate from the existing `--remove-data` confirmation, since `docker system prune` is host-wide, not ARGUS-scoped -- this should probably require its own explicit `--yes` acknowledgment or a second typed confirmation, not be silently bundled into `--purge`. ## Priority Low -- convenience/completeness for uninstall, not a bug or security issue. Genuinely useful for support/testing scenarios (a clean-slate reinstall) though. ## Affected repository/components argus-installer -- `uninstall.sh`. Related: this is installer lifecycle tooling, part of the broader roadmap tracked centrally in weboria/argus-appliance#22.
tech added the enhancementinstaller labels 2026-07-25 21:58:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Weboria/argus-installer#17