The sve tool
sve lives on the server, outside the containers, and everything that changes the
installation goes through it. It installs itself along with the product, at
/usr/local/bin/sve.
It runs outside the containers because updating means commanding Docker, and no container in this product is given that access: a remote flaw in the panel would otherwise be total control of the machine.
Commands
sve status # version, licence and health of each service
sve doctor # diagnosis when something is wrong
sve update [--to X.Y.Z] # updates; backs up first and rolls back if anything is unhealthy
sve rollback # undoes the last update
sve backup # database backup
sve restore FILE # restores a backup into the database (destructive)
sve logs <service> [-n N] # logs for one service
sve self-update # updates this tool
sve version
--dir PATH points at the installation directory if you are not running from inside it.
sve status when the API will not start
sve status reads the licence state from the database, not from the API. That is
deliberate: the moment someone types sve status is usually exactly the moment the API is
not responding, and a diagnostic tool that needs the system to be working is no use for
diagnosing anything.
sve self-update
Downloads the latest published version of the tool and replaces itself. It uses the same credential it already uses to pull images, so there is nothing new to store.
It will not install a version older than the one you have unless you ask it to:
sve self-update --to 1.12.0 # going back, on purpose