Monitor and manage services
Day-to-day operations take a few commands: check health, read logs, and apply configuration changes. All of them are safe to run on a live installation.
Check health
helpin doctor --dir /srv/helpin
Doctor checks Docker, your Compose configuration, required services, API readiness, public HTTPS, secret file permissions, and product capabilities. For each problem, it prints the next step.
In the app, server admins see the same checks under Settings → System status. Workspace members can query GET /api/workspaces/{id}/capabilities.
See what's running
helpin status --dir /srv/helpin
Status lists every container, its image identity, and the current migration head. Long-running services should be running (healthy). The one-shot jobs (helpin-migrate, temporal-schema, temporal-namespace) should show exited (0).
Read logs
helpin logs --dir /srv/helpin # all services
helpin logs --dir /srv/helpin helpin-api # one service
helpin logs --dir /srv/helpin agent-runtime agent-runtime-worker
Symptom | Start with these services |
|---|---|
Dashboard or login problems |
|
Live chat not updating |
|
Agents not responding |
|
Indexing or scheduled jobs |
|
Attachments |
|
Public help center |
|
Privacy: Logs can contain customer data. Review excerpts before you share them, and never share
.env, signed attachment URLs, or backups.
Apply configuration changes
After you change .env or run helpin configure, apply the change:
helpin restart --dir /srv/helpin
Restart recreates services and keeps all data. Settings that server admins change in the app, such as application email or the signup policy, apply immediately without a restart.
Stop and start
helpin stop --dir /srv/helpin
helpin start --dir /srv/helpin
stop removes containers and networks but keeps your data volumes.
Warning: Never run
docker compose down -von an installation you want to keep. The-vflag deletes every data volume.
Capacity
The evaluation baseline is 8 GB RAM and 20 GiB of free disk. Watch these as usage grows:
Disk: PostgreSQL and Garage grow with conversations, documents, and attachments. Docker's own data disk also needs room for images.
Agent workload: chat, agent runs, and code execution share one
agent-runtime-worker. Heavy runs compete with interactive chat, so size CPU and memory for your busiest agent hours.Rate limits: tune
AUTHENTICATED_RATE_LIMIT_PER_MINUTEandEXPENSIVE_RATE_LIMIT_PER_MINUTEif legitimate automation hits429responses.
Related: CLI reference · Architecture & services
Was this article helpful?