{"name":"Bracket: A Self-Hosted Tournament System for Sports and Events","description":"Bracket is an open-source, self-hosted tournament system designed for ease of use and flexibility. It supports single elimination, round-robin, and Swiss formats, allowing users to build complex tournament structures with multiple stages. Developed with Python (FastAPI) for the backend and Next.js with Mantine for the frontend, Bracket offers a robust solution for managing sports and other competitive events.","github":"https://github.com/evroon/bracket","url":"https://osrepos.com/repo/evroon-bracket","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/evroon-bracket","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/evroon-bracket.md","json":"https://osrepos.com/repo/evroon-bracket.json","topics":["bracket","tournament-system","selfhosted","python","fastapi","nextjs","docker","sports"],"keywords":["bracket","tournament-system","selfhosted","python","fastapi","nextjs","docker","sports"],"stars":null,"summary":"Bracket is an open-source, self-hosted tournament system designed for ease of use and flexibility. It supports single elimination, round-robin, and Swiss formats, allowing users to build complex tournament structures with multiple stages. Developed with Python (FastAPI) for the backend and Next.js with Mantine for the frontend, Bracket offers a robust solution for managing sports and other competitive events.","content":"## Introduction\n\nBracket is an open-source, self-hosted tournament system designed to simplify the management of sports and other competitive events. Built with a modern tech stack, including Python (FastAPI) for the backend and Next.js with Mantine for the frontend, it offers a robust and user-friendly platform. Bracket supports various tournament formats, such as single elimination, round-robin, and Swiss, allowing for flexible and complex event structures.\n\n![Bracket Screenshot](docs/content/img/bracket-screenshot-design.png)\n\n## Installation\n\nGetting Bracket up and running quickly is straightforward with Docker Compose. Follow these steps to clone the repository and launch the system:\n\nbash\ngit clone git@github.com:evroon/bracket.git\ncd bracket\nsudo docker compose up -d\n\n\nThis command will start the backend, frontend, and a PostgreSQL database instance. You can then access Bracket at `http://localhost:3000`. Default login credentials are `test@example.org` with password `aeGhoe1ahng2Aezai0Dei6Aih6dieHoo`. To populate the database with dummy data, run:\n\nbash\nsudo docker exec bracket-backend pipenv run ./cli.py create-dev-db\n\n\nFor more detailed instructions, refer to the [Quickstart documentation](https://docs.bracketapp.nl/docs/running-bracket/quickstart).\n\n## Examples\n\nBracket provides a comprehensive set of features for managing tournaments. You can create multiple clubs, each hosting various tournaments. Within each tournament, you can define stages, groups, and brackets, and easily manage teams and players. The intuitive drag-and-drop interface allows for effortless scheduling of matches to different courts or rescheduling to new times.\n\nA live demo is available for free at [bracketapp.nl/demo](https://www.bracketapp.nl/demo), where you can explore its functionalities firsthand. For a complete guide on organizing a tournament from start to finish, consult the [usage guide](https://docs.bracketapp.nl/docs/usage/guide).\n\n## Why Use Bracket?\n\nBracket stands out as an excellent choice for tournament management due to several key advantages:\n\n*   **Self-Hosted Control**: Maintain full control over your data and infrastructure by hosting the system yourself.\n*   **Flexible Tournament Formats**: Support for single elimination, round-robin, and Swiss formats caters to a wide range of competitive events.\n*   **Intuitive Interface**: The drag-and-drop functionality for matches and the ability to build complex tournament structures make management simple.\n*   **Public Dashboards**: Customizable dashboard pages can be presented to the public, keeping participants and spectators informed.\n*   **Dynamic Swiss Tournaments**: Automated scheduling for Swiss tournaments simplifies complex match pairings.\n*   **Modern Tech Stack**: Built with Python (FastAPI) and Next.js (Mantine), ensuring a performant and scalable application.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/evroon/bracket](https://github.com/evroon/bracket)\n*   **Live Demo**: [https://www.bracketapp.nl/demo](https://www.bracketapp.nl/demo)\n*   **Documentation**: [https://docs.bracketapp.nl](https://docs.bracketapp.nl)\n*   **Quickstart Guide**: [https://docs.bracketapp.nl/docs/running-bracket/quickstart](https://docs.bracketapp.nl/docs/running-bracket/quickstart)\n*   **Releases**: [https://github.com/evroon/bracket/releases](https://github.com/evroon/bracket/releases)","metrics":{"detailViews":9,"githubClicks":3},"dates":{"published":null,"modified":"2025-11-01T19:23:11.000Z"}}