Take full control of your events with a completely free and open-source tournament management system. Designed for maximum flexibility, this platform allows you to build custom tournament setups without worrying about vendor lock-in or hidden analytics tracking. You can easily register teams and players, even uploading them in bulk via CSV. The flexible tournament builder supports multiple stages, allowing you to mix and match Swiss, single elimination, and round-robin formats to suit your specific needs. Managing the event is simple thanks to a drag-and-drop interface that lets you assign matches to different courts and adjust start times on the fly. As the games progress, you can track scores in real-time and instantly publish the results. A public dashboard keeps participants and spectators updated by displaying live schedules and rankings. Enjoy a feature-rich experience that keeps your tournament data entirely in your own hands.
services:
bracket:
image: ghcr.io/gielcobben/bracket:latest
container_name: bracket
ports:
- "3000:3000"
environment:
- DATABASE_URL=${DATABASE_URL}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=http://localhost:3000
depends_on:
- db
restart: unless-stopped
db:
image: postgres:16-alpine
container_name: bracket-db
environment:
- POSTGRES_USER=bracket
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=bracket
volumes:
- ./postgres-data:/var/lib/postgresql/data
restart: unless-stopped# Database Connection String (must match DB credentials)
DATABASE_URL=postgresql://bracket:your_secure_db_password@db:5432/bracket
# Database Password
DB_PASSWORD=your_secure_db_password
# NextAuth Configuration
NEXTAUTH_SECRET=your_generated_secret_key_hereAuto-fetched about 23 hours ago
Auto-fetched about 23 hours ago