CLI reference
The helpin CLI installs, configures, and operates a Community installation. It's a single executable with no Go or Node.js dependency, and it manages Docker Compose for you.
helpin <command> [--dir PATH] [options] [service...]
Run helpin with no arguments for an interactive menu. Every command accepts --dir (default ~/helpin). Put options before service names.
Commands
Command | What it does |
|---|---|
| Guided setup: checks prerequisites, downloads and verifies the bundle, generates secrets, starts services, and waits for readiness. |
| Changes URLs, ports, application email, and the AI provider key. Existing secrets are kept. |
| Starts all services and waits until they're healthy. |
| Stops services and removes containers and networks. Data volumes are kept. |
| Recreates services to apply configuration changes. |
| Shows containers, image identities, and migration state. |
| Follows logs, starting with the last 150 lines. |
| Checks Docker, configuration, services, API readiness, HTTPS, file permissions, and capabilities. |
| Takes a consistent cold snapshot of the bundle, |
| Restores a backup into a new directory and new volumes. |
| Verifies a compatible release, takes a recovery backup, migrates, and checks readiness. |
| Prints the CLI version. |
install options
Option | Description |
|---|---|
| Set up for this computer, or for a public server behind HTTPS. |
| Installation directory. Default: |
| Local ports. Defaults: |
| Server mode: hostnames for the dashboard (the widget shares it), the help center, and attachments. |
| Server mode: the exact source address of your reverse proxy as the ingress container sees it. |
| Application email. Port defaults to |
| Read the SMTP password from a file (first line). |
|
|
| Install a specific published release. |
| Install from a bundle you've already downloaded. |
| Prepare everything, but don't start services. |
| Accept prompts for unattended runs. Without it, non-interactive input fails rather than guessing. |
Server-mode HTTPS options
Option | Description |
|---|---|
| Default for new servers. Helpin runs Caddy on ports 80 and 443, gets certificates automatically, and trusts only that proxy. |
| You run your own reverse proxy. Also set |
| Built-in proxy only. Optional address for certificate expiry notices. |
Passing --proxy-cidr without --proxy selects external, so existing automation keeps working.
Secrets are never accepted as command-line arguments. Pass them in a file, or through the HELPIN_SMTP_PASSWORD and HELPIN_AI_API_KEY environment variables.
Examples
Follow the API and agent worker logs:
helpin logs --dir /srv/helpin helpin-api agent-runtime-worker
Back up before a maintenance window, without prompts:
helpin backup --dir /srv/helpin --backup /srv/backups/helpin-$(date +%F) --yes
Upgrade to a specific release:
helpin upgrade --dir /srv/helpin --version <release-tag> --backup /srv/backups/pre-upgrade
doctor capability states
helpin doctor ends with a Capabilities section:
Status | Meaning |
|---|---|
| Configured and confirmed, for example by a successful test email |
| Missing configuration, or the last check failed |
| Configured but not yet confirmed |
| Not offered by this edition or the enabled modules |
Only object storage and background workers are required. Doctor fails when one of them needs setup. Optional integrations never fail it.
Locks and safety
Commands that modify an installation take a lock file, .NAME.helpin.lock, next to the installation directory. If a command was killed, make sure its process is gone before you remove a stale lock. Never delete a live lock.
Replacing the helpin executable doesn't upgrade your installation. Only helpin upgrade does.
Was this article helpful?