Dark mode
CLI reference

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

helpin install

Guided setup: checks prerequisites, downloads and verifies the bundle, generates secrets, starts services, and waits for readiness.

helpin configure

Changes URLs, ports, application email, and the AI provider key. Existing secrets are kept.

helpin start

Starts all services and waits until they're healthy.

helpin stop

Stops services and removes containers and networks. Data volumes are kept.

helpin restart

Recreates services to apply configuration changes.

helpin status

Shows containers, image identities, and migration state.

helpin logs [service...]

Follows logs, starting with the last 150 lines.

helpin doctor

Checks Docker, configuration, services, API readiness, HTTPS, file permissions, and capabilities.

helpin backup

Takes a consistent cold snapshot of the bundle, .env, and every data volume.

helpin restore

Restores a backup into a new directory and new volumes.

helpin upgrade

Verifies a compatible release, takes a recovery backup, migrates, and checks readiness.

helpin version

Prints the CLI version.

install options

Option

Description

--mode local or --mode server

Set up for this computer, or for a public server behind HTTPS.

--dir PATH

Installation directory. Default: ~/helpin.

--port, --help-port, --storage-port

Local ports. Defaults: 8085, 8086, 9005.

--domain, --help-domain, --storage-domain

Server mode: hostnames for the dashboard (the widget shares it), the help center, and attachments.

--proxy-cidr

Server mode: the exact source address of your reverse proxy as the ingress container sees it.

--smtp-host, --smtp-port, --smtp-username, --smtp-from, --smtp-tls

Application email. Port defaults to 587, TLS to starttls.

--smtp-password-file

Read the SMTP password from a file (first line).

--ai-provider, --ai-key-file

openrouter, openai, or anthropic, plus a file holding the key.

--version TAG

Install a specific published release.

--bundle FILE, --checksum FILE

Install from a bundle you've already downloaded.

--no-start

Prepare everything, but don't start services.

--yes

Accept prompts for unattended runs. Without it, non-interactive input fails rather than guessing.

Server-mode HTTPS options

Option

Description

--proxy builtin

Default for new servers. Helpin runs Caddy on ports 80 and 443, gets certificates automatically, and trusts only that proxy.

--proxy external

You run your own reverse proxy. Also set --proxy-cidr. Existing installs that already used their own proxy keep this mode.

--acme-email

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

ready

Configured and confirmed, for example by a successful test email

needs setup

Missing configuration, or the last check failed

unable to verify

Configured but not yet confirmed

unavailable

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?