Docker

OpenVesper ships with a multi-stage Dockerfile and a docker-compose.yml for self-hosted deployments.

Quick start

# Clone the repo
git clone https://github.com/openvesper/openvesper
cd openvesper

# Build the image
docker build -t openvesper:latest .

# Run with your config mounted in
docker run --rm \
  -v ~/.openvesper:/root/.openvesper \
  -e ANTHROPIC_API_KEY=sk-ant-... \
  openvesper:latest \
  node apps/cli/dist/index.js -q "test"

docker-compose

The shipped docker-compose.yml sets up the CLI service with your config volume mounted. Edit it for your use case:

docker compose up -d

What's in the image

  • Node.js 20 base
  • All 47 plugins compiled to dist/
  • CLI binary at apps/cli/dist/index.js
  • Telegram bot at apps/telegram-bot/dist/index.js

Image size

About 350 MB. The multi-stage build keeps build dependencies out of the runtime layer.

Persistent state

Mount ~/.openvesper into the container so memory, configuration, and cron state survive container restarts:

docker run --rm \
  -v ~/.openvesper:/root/.openvesper \
  openvesper:latest \
  node apps/cli/dist/index.js cron list

What's next?