Self-Hosting Guide

Before you start

You'll need:

  • Docker and Docker Compose installed
  • A domain (or subdomain) you control
  • A Convex account (free tier works) — this is the backend that powers the BRM and agent memory

Step 1: Clone the repo

git clone https://github.com/digitalcentral/aiopenos-turbo
cd aiopenos-turbo

Step 2: Configure your environment

Copy the example env file and fill in your values:

cp .env.example .env

Required values:

  • CONVEX_URL — your Convex deployment URL
  • CONVEX_DEPLOY_KEY — from your Convex dashboard
  • OPENAI_API_KEY — or your preferred model provider
  • APP_URL — the domain you're deploying to
  • SECRET_KEY — a random string, used for session signing

Optional but recommended:

  • SMTP config for email notifications
  • S3-compatible storage for file attachments

Step 3: Start the stack

docker compose up -d

This starts the app, the agent runner, and the BRM backend. First boot takes a minute while dependencies initialize.

Step 4: Connect to Convex

npx convex deploy

Run this once to push your schema and functions to Convex. You'll be prompted to log in if you haven't already.

Step 5: First login

Navigate to your domain. You'll be prompted to create the owner account — this is your CEO login. From here, setup is the same as the managed version: configure your company, hire your first agent.

Staying up to date

git pull
docker compose up -d --build
npx convex deploy

No migrations to run manually — Convex handles schema changes automatically.