An AI-assisted novel writing app that helps authors generate outlines, characters, worldbuilding and chapters, self-hosted with FastAPI, React and PostgreSQL.
evroon/bracket
Self-hosted tournament management system with single elimination, round-robin and Swiss formats, drag-and-drop scheduling and public dashboards.
Open-source alternative to:Challonge
- Stars
- 1,752
- Forks
- 183
- Open issues
- 65
- Last commit
- 2 days ago
What is it?
Bracket is a self-hosted tournament system for organizing competitions. It is written in async Python with FastAPI on the backend and a Vite and Mantine frontend. Organizers can build a tournament structure made of multiple stages, each containing one or more groups or brackets, using single elimination, round-robin or Swiss formats.
Scheduling is handled through drag-and-drop: matches can be moved between courts or rescheduled to a different start time. Swiss tournaments are managed dynamically, with matches scheduled automatically. Teams and their players can be created and updated, and a single installation can host multiple clubs, each with several tournaments.
The project provides dashboard pages that can be shown publicly and customized with a logo. It runs with Docker Compose alongside PostgreSQL, or can be run directly with uv and pnpm. The interface language is chosen automatically from browser settings.
Key features
- 01Supports single elimination, round-robin and Swiss formats.
- 02Multi-stage tournaments with multiple groups or brackets per stage.
- 03Drag-and-drop match scheduling across courts and start times.
- 04Automatic match scheduling for dynamic Swiss tournaments.
- 05Public dashboard pages customizable with a logo.
- 06Multiple clubs, each with multiple tournaments.
Use cases
- Organizing a sports league or club championship with group stages and playoffs.
- Running a local esports or board game tournament with Swiss pairings.
- Hosting a self-managed tournament system for a community or school with public result screens.
Quick start
- 1
Clone the repository
git clone git@github.com:evroon/bracket.git - 2
Enter the project folder
cd bracket - 3
Start backend, frontend and postgres with Docker Compose
sudo docker compose up -d
Things to know
- Running the demo setup uses Docker and a default test login that must be changed for real use.
- Licensed under AGPL-3.0, a copyleft license that requires sharing modified source code when run as a network service.
In collections
Topics
FAQ
- What is bracket?
- Self-hosted tournament management system with single elimination, round-robin and Swiss formats, drag-and-drop scheduling and public dashboards. Bracket is a self-hosted tournament system for organizing competitions. It is written in async Python with FastAPI on the backend and a Vite and Mantine frontend. Organizers can build a tournament structure made of multiple stages, each containing one or more groups or brackets, using single elimination, round-robin or Swiss formats.
- Is bracket free to use? What license does it have?
- bracket is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is bracket still maintained?
- Actively maintained. The last commit to bracket was on Nov 5, 2026.
- What can I use bracket for?
- Organizing a sports league or club championship with group stages and playoffs. Running a local esports or board game tournament with Swiss pairings. Hosting a self-managed tournament system for a community or school with public result screens.
- How do I install bracket?
- Clone the repository: git clone git@github.com:evroon/bracket.git Enter the project folder: cd bracket Start backend, frontend and postgres with Docker Compose: sudo docker compose up -d
- Where can I get bracket?
- The source code and installation instructions are on GitHub: https://github.com/evroon/bracket
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted personal health record app for organizing medical records, medications and reports, built with a React frontend and FastAPI backend.
A full-stack web app template combining a FastAPI backend, React frontend, PostgreSQL database and Docker Compose setup.
A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.
Self-hosted podcast manager and player written in Rust, with web, desktop, mobile and CLI clients sharing one server.
Self-hostable trading journal and analytics platform that imports trades from multiple brokers and analyzes performance patterns.