withvibe
Reference

CLI

The withvibe CLI installs and manages a self-hosted deployment, and sets up shared envs on your own machine.

Install

npm install -g withvibe

Requires Node.js 20+. The same binary handles both installing the server stack and connecting to one as a client.

Managing a deployment

withvibe init

Install the stack on this host. Writes ~/.withvibe/.env + docker-compose.yml, generates secrets, picks free ports, pulls images, and starts everything. Add --yes for a non-interactive install with defaults.

withvibe init --yes
withvibe init --install-dir /opt/withvibe   # custom location
withvibe init --no-start                     # write config only

Key options: --mode <from-registry|from-source|from-bundle>, --install-dir <path>, --bundle-path <path>, --no-build, --no-start.

withvibe start / stop / restart

Lifecycle controls. start runs docker compose up -d with health gating; stop runs docker compose down (Postgres data is preserved in a named volume); restart restarts the services.

withvibe status

Service state, sidecar image presence, and the URLs the stack is reachable on.

withvibe logs [service]

Tails logs for one service (web, api, postgres) or all of them. Follows by default; --no-follow for a one-shot dump.

withvibe configure

Edit features and secrets after install — Traefik, QA browser, Google OAuth, API keys.

withvibe upgrade

Move to a new release. Backs up Postgres first (skip with --skip-backup), pulls/loads the new images, recreates containers. Migrations run automatically on API boot.

Use upgrade, not init, on a live install
Re-running withvibe init regenerates the Postgres password and session secret and clears configured API keys — it will brick existing data. Always use withvibe upgrade to move between versions.

withvibe doctor

Read-only host preflight: Docker connectivity, port availability, required env vars. Run this first when something is wrong.

withvibe uninstall

Removes the stack with a data-loss confirmation. --keep-data preserves the Postgres volume; --remove-images also deletes local images.

Connecting to a deployment (client)

withvibe login

Authorize this machine against a running withvibe server. Point at a non-default server with the global --server flag; --force re-auths even if a token already exists.

withvibe env <envId>

Set up the given env on this machine and open it in VS Code. --no-open skips the editor launch; --force skips the uncommitted-work warning.

Global flag

  • -s, --server <url> — withvibe web server URL (env: WITHVIBE_SERVER, default http://localhost:3000)
  • Management commands also accept -d, --install-dir <path> to target a non-default install directory.