Guide · Self-hosting

Self-host ActBrow with Docker

ActBrow ships as a Docker image. Run it next to a Postgres database and you own the entire stack — the agent runtime, the tool execution, and the SDK/widget scripts your app embeds.

1. Compose file

ActBrow needs a Postgres database and your model provider API key. This compose file brings up both.

# docker-compose.yml
services:
  actbrow:
    image: actbrow/actbrow:latest
    ports:
      - "8080:8080"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/actbrow
      SPRING_DATASOURCE_USERNAME: actbrow
      SPRING_DATASOURCE_PASSWORD: change-me
      ACTBROW_MODEL_API_KEY: sk-...
    depends_on:
      - db

  db:
    image: postgres:16
    environment:
      POSTGRES_DB: actbrow
      POSTGRES_USER: actbrow
      POSTGRES_PASSWORD: change-me
    volumes:
      - actbrow-db:/var/lib/postgresql/data

volumes:
  actbrow-db:

2. Start it

docker compose up -d

# ActBrow now serves the SDK and widget scripts at:
#   http://localhost:8080/actbrow-sdk.js
#   http://localhost:8080/actbrow-widget.js

Point the two embed script tags at your own baseUrl and the agent runs entirely on your infrastructure.

Next steps