ProtoBurn supports self-hosting via Docker with SQLite for the database.
- Docker and Docker Compose
-
Clone the repo
git clone https://github.com/MrDemonWolf/protoburn.git cd protoburn -
Configure environment
cp .env.example .env
Edit
.env:API_KEY=your-secret-api-key CORS_ORIGIN=http://localhost:8080 API_PLAN=Max BILLING_RENEWAL_DAY=6 # For Better Auth (optional) BETTER_AUTH_SECRET=a-random-secret-string BETTER_AUTH_URL=http://localhost:3000 # Build-time (baked into the static frontend) NEXT_PUBLIC_SERVER_URL=http://localhost:3000 NEXT_PUBLIC_SITE_URL=http://localhost:8080 NEXT_PUBLIC_API_PLAN=Max
-
Start
docker compose up -d
- Web: http://localhost:8080
- API: http://localhost:3000
-
First-time setup (if using Better Auth)
Navigate to http://localhost:8080/setup to create your admin account and generate an API key.
-
Sync your usage
export PROTOBURN_API_KEY=your-api-key export PROTOBURN_API_URL=http://localhost:3000 bun sync
SQLite data is stored in a Docker volume (protoburn-data). To back up:
docker compose cp server:/app/data/protoburn.db ./backup.db- Create a new project in Coolify
- Add a Docker Compose service, point it at your repo
- Set the environment variables in Coolify's UI
- Deploy — Coolify will build and start both containers
Make sure to set NEXT_PUBLIC_SERVER_URL and CORS_ORIGIN to your Coolify-assigned domain.
git pull
docker compose up -d --build