Daily Operations
Day-to-day stack management with the intelliask binary — start, stop, restart, status, logs, shell, db, updates, backup/restore, and systemd.
intelliask is a single self-contained binary that drives the whole stack. It
finds the config/ folder sitting next to it (where the *.compose.yml files and
.env live) and shells out to docker compose for you. It acts on the whole
stack by default, or on one or more named services if you pass them.
Running the binary
On the VM the binary lives next to config/ (e.g. /opt/intelliask/intelliask).
Run it as ./intelliask <command> from that folder, or put it on your PATH and
call intelliask <command> from anywhere. A short iask alias is installed too.
Run intelliask help for the full command + flag reference.
Commands
| Command | What it does |
|---|---|
up | Create + start the stack detached. Add --no-detach to stream logs in the foreground. |
down | Stop and remove containers (data volumes are kept unless you pass --volumes). |
restart | Restart containers in place. |
stop / start | Stop without removing / start stopped containers. |
status | Per-service state + health-check column, plus a probe of the app's /health endpoint. Add --raw for plain docker compose ps (accepts service names), or --no-probe to skip the HTTP check. Also available as health. |
logs | Follow logs (-f --tail=200). Filter with --since, --grep, --errors. |
shell | Open bash/sh in a service, or run a one-off command with -- <cmd>. |
db | Open a DB client — mongo (mongosh) or psql — with in-container credentials. |
update | Pull the latest images and recreate services — see Updating images. |
doctor | Run diagnostics in one pass: host/config preflight (Docker reachable, Compose version, cgroup v2, /dev/kvm, core secrets, free ports, disk space) and the .env ↔ compose sync check. Subchecks: doctor env (sync only) and doctor health (live probe only). |
backup / backup restore | Snapshot and restore the databases + config — see Backup & restore. |
provision | First-time setup — see Installation. |
module | Enable/disable/list optional features — the reverse proxy, exporter, code interpreter, Garage, RAG API, and vector DB. See Optional modules and Reverse Proxy. |
banner | Show, set, or clear the in-app announcement banner without shelling into the container — see Banner. |
secrets | gen fills blank secrets; rotate regenerates all — see Configuration & Secrets. |
garage | (Re-)create the Garage S3 layout, bucket, and access key. |
service | Install/uninstall the systemd boot unit. |
version | Print the binary version. |
Working with a single service
Append one or more service names to act on just those. Valid services:
(proxy is also valid when the reverse proxy is enabled.)
down acts on the whole stack
down always tears down the entire stack. To stop a single service without
removing the rest, use stop (or restart) with the service name:
intelliask stop rag-api.
Checking health & reading logs
logs flags: --since <time> (e.g. 10m or an RFC3339 timestamp), --grep <regex>
(case-insensitive), --errors (shortcut for error|warn|panic|fatal|exception|traceback),
--tail <N> (default 200), and --no-follow to print and exit.
Getting a shell or database client
Both db clients authenticate with the credentials already inside the container, so
no secrets appear on your command line.
Updating to a new image
Images are referenced as ${REGISTRY:-}${<SERVICE>_IMAGE} in each compose file.
Use update to pull the latest tag and recreate — the whole stack, or named
services:
To pin a specific tag, --version rewrites the matching <SERVICE>_IMAGE in
config/.env (after a safety backup of .env) before pulling:
update does a best-effort private-registry login first (using the CI_*
credentials in config/.env); pass --skip-login to skip it. It does not edit
any other .env values or run a full down/up — only the targeted services are
recreated. See Configuration & Secrets.
Backup & restore
backup dumps MongoDB and the pgvector Postgres database (streamed straight out of
the containers) and archives the whole config/ directory (.env, intelliask.yaml,
compose files, garage.toml, proxy config/certs). The bind-mounted storage
folder is excluded by default — add --with-files to include uploads, generated
images, and licenses.
Schedule daily backups with a systemd timer (requires root):
Restore points at a backup directory and overwrites the current databases (you
must type restore to confirm). The captured config/ is restored too:
intelliask restore --from ... still works as a top-level alias for
intelliask backup restore.
Tearing down
Destructive flags
--volumeswipes Mongo/Postgres/Garage data. Secrets stay in.env, but after the nextupyou must re-bootstrap Garage (intelliask garage, or re-runintelliask provision) to recreate the S3 bucket/key. You'll be asked to typeyesto confirm.--local-storage(alias--storage) deletes the host bind-mountedSTORAGE_ROOTfolder (uploads, generated files, Code Interpreter data). It does not delete.env, config, or proxy certs. You'll be asked to typedelete local storageto confirm.
Running on boot (systemd)
Provisioning installs and enables intelliask.service, so the stack comes up
automatically after a reboot. Manage the unit with the binary or systemctl:
Both the systemd service and the day-2 commands honour the persisted reverse-proxy
choice (PROXY_ENABLED in config/.env).
Last updated on