Docker Compose
The fastest way to run Sequenceware locally or on a single server.
Quick start
git clone https://github.com/nacorga/sequenceware.git
cd sequenceware
cp .env.example .env
docker compose up --build
This starts:
- Backend (NestJS) on port 3000
- Frontend (Angular) on port 4200
- MongoDB on port 27017
With demo data
SEED_DEMO_DATA=true docker compose up --build
This seeds the database with example runs, policies, and approval requests so you can explore the dashboard immediately.
Environment variables
Configure via .env file or environment variables:
| Variable | Default | Description |
|---|---|---|
MONGODB_URI | mongodb://mongo:27017/sequenceware | MongoDB connection string |
JWT_SECRET | dev-secret | Secret for JWT token signing |
ADMIN_EMAIL | admin@example.com | Default admin email |
ADMIN_PASSWORD | changeme123 | Default admin password |
PORT | 3000 | Backend port |
CORS_ORIGINS | * | Allowed CORS origins |
SEED_DEMO_DATA | false | Seed demo data on startup |
FRONTEND_BASE_URL | http://localhost:4200 | Frontend URL (for links in notifications) |
Development mode
For development with hot-reload:
docker compose -f docker-compose.dev.yml up
This mounts source code as volumes for live reloading.
Production considerations
For production use of Docker Compose (single server):
- Change default credentials — update
JWT_SECRET,ADMIN_EMAIL,ADMIN_PASSWORD - Restrict CORS — set
CORS_ORIGINSto your frontend URL - Use managed MongoDB — point
MONGODB_URIto MongoDB Atlas or similar - Enable TLS — put a reverse proxy (nginx, Caddy) in front with SSL
- Backups — configure MongoDB backups
tip
For multi-server production deployments, see the self-hosted guide using Fly.io and Cloudflare Pages.
Services
services:
backend:
build: ./backend
ports: ["3000:3000"]
environment:
MONGODB_URI: mongodb://mongo:27017/sequenceware
JWT_SECRET: ${JWT_SECRET:-dev-secret}
depends_on: [mongo]
frontend:
build: ./frontend
ports: ["4200:80"]
depends_on: [backend]
mongo:
image: mongo:7
ports: ["27017:27017"]
volumes: [mongo-data:/data/db]