Skip to content

Quick start

Thibaut Rey edited this page Sep 7, 2026 · 1 revision

🚀 Quick start

Requirements

  • Docker with Compose v2
  • Git, curl, and Node.js 22+ on the deployment host
  • At least one supported provider account or API key

1. Clone and secure the deployment

git clone https://github.com/thibautrey/multivibe.git
cd multivibe

Warning

MultiVibe controls upstream accounts that may carry paid quotas. The shipped Compose file uses ADMIN_TOKEN=change-me as a local placeholder, and the inference API is unrestricted when no proxy API key exists. Replace the admin token, configure PROXY_API_KEY (or create application keys immediately), and keep port 1455 behind a private network or authenticated TLS proxy before exposing it outside a trusted host.

Store both initial secrets in the ignored .env file:

ADMIN_TOKEN=<long-random-admin-secret>
PROXY_API_KEY=<long-random-proxy-secret>

The existing proxy-key entry already reads .env. Replace the literal admin entry in docker-compose.yml with required interpolation so Compose cannot start without the secret:

- ADMIN_TOKEN=${ADMIN_TOKEN:?ADMIN_TOKEN must be set in .env}

Do not commit either value. For a managed deployment, use its secret-injection mechanism instead of .env.

2. Build and deploy

./scripts/deploy.sh

The deployment script records the current commit identity in .env, rebuilds and recreates the container, then waits for /health to report the same gitSha and buildId. Use HEALTH_URL for a remote deployment:

HEALTH_URL=https://multivibe.example/health ./scripts/deploy.sh

After startup:

curl -fsS http://localhost:1455/health

/health is a liveness and build-identity check only; it does not validate storage or provider access. The authenticated /v1/models request in step 4 is the first end-to-end smoke test.

3. Add a provider

Open Accounts in the dashboard and add at least one account. OAuth and manual-key options differ by provider; see Providers and onboarding.

4. Call the API

export MULTIVIBE_API_KEY="replace-with-your-proxy-key"

curl -H "Authorization: Bearer $MULTIVIBE_API_KEY" \
  http://localhost:1455/v1/models

Point an OpenAI-compatible client at http://localhost:1455/v1 and use the same key. The requested model can be a discovered provider model or an enabled MultiVibe alias.

Routine operations

# Container state and recent logs
docker compose ps
docker compose logs -f --tail=200 multivibe

# Clean stop and start
docker compose stop multivibe
docker compose start multivibe

# Update to the latest fast-forward commit and rebuild
git pull --ff-only
./scripts/deploy.sh

docker compose restart only restarts the existing image; it does not rebuild new code. To roll back from a clean deployment checkout, switch to a known-good commit, run ./scripts/deploy.sh, and switch back to your normal branch before the next update.

Clone this wiki locally