Auto Tournament

Self-hosted tournament platform that runs the matches for you

GitHub Release License: PolyForm Noncommercial Docs Discord


You create the tournament. Auto Tournament starts the servers, loads each match, runs the map veto in the browser, follows the score live and moves the bracket on when a match ends. Games come in as modules: the CS2 module is included and drives servers running [Ready Up](https://github.com/Auto-Tournament/ready-up). Formerly MatchZy Auto Tournament. ## Features - Single and double elimination, Swiss, round robin and shuffle tournaments - Team sign-up and check-in, with an opening time and captains who check in their team - Map veto for Bo1, Bo3 and Bo5 in the browser - Servers created, started, stopped and updated on your machines through [CS2 Server Manager](https://github.com/Auto-Tournament/cs2-server-manager), with failover to a free server - A match room per match: live score, server status and connect info - Highlights: clips and reels of every player's best plays, recorded from the demos by recorders you run ([Frame by Frame](https://github.com/Auto-Tournament/frame-by-frame)) - Demo recording and download, stats and a 2D replay from each demo - Skins: players pick weapon paints, knives, gloves and agents on the site, and they show on your servers - Player ratings (OpenSkill) and leaderboards - Sign-in with Steam, Discord, Google, GitHub, Twitch, Epic or any OpenID Connect provider, set up in the admin panel - Public team pages with connect info, no login needed - Modules: CS2 and a Discord bot with private channels per tournament and team; game packs for games without a server integration, with results reported by the captains - In 30 languages - HTTP API with API tokens, webhooks and an OpenAPI spec; connect Claude or another MCP client and run tournaments by asking - Simulation mode for testing a tournament without players - Matchmaking (experimental) ## Install You need Docker with Docker Compose. 1. Get the compose file and the example config: ```bash git clone https://github.com/Auto-Tournament/auto-tournament.git cd auto-tournament cp example.env .env ``` 2. Set `SESSION_SECRET`, `SERVER_TOKEN` and `FRONTEND_BASE_URL` in `.env`. 3. Start it: ```bash docker compose --env-file .env -f docker/docker-compose.yml up -d ``` 4. Read the one-time setup code from the log (`docker logs auto-tournament`), open `/setup`, enter it and create the admin account. Then set up sign-in under Settings → Sign-in, and link a machine running CS2 Server Manager under Servers. Full steps: [Getting started](https://docs.autotournament.gg/getting-started/first-login). ## Updating Back up the database, then pull and restart. Migrations run on startup. ```bash docker compose --env-file .env -f docker/docker-compose.yml exec -T postgres pg_dump -U postgres auto_tournament > "backup-$(date +%F).sql" docker compose --env-file .env -f docker/docker-compose.yml pull docker compose --env-file .env -f docker/docker-compose.yml up -d ``` More in [Updating](https://docs.autotournament.gg/guides/updating). ## Documentation Full docs at **[docs.autotournament.gg](https://docs.autotournament.gg)**. - [API reference](docs/API-REFERENCE.md) and [OpenAPI spec](docs/openapi.json), generated from the code - [Webhooks](docs/WEBHOOKS.md) - [Example Discord bot](examples/discord-bot/README.md) - [Translating](TRANSLATING.md) ## Contributing See the [contributing guide](.github/CONTRIBUTING.md). Bug reports, fixes, translations and docs changes are all welcome. ## Sponsors Auto Tournament is built by one person. If your organisation runs events with it, a sponsorship pays for development, test servers and hosting: [GitHub Sponsors](https://github.com/sponsors/sivert-io) or [Ko-fi](https://ko-fi.com/sivert). ## Acknowledgments - [brackets-manager.js](https://github.com/Drarig29/brackets-manager.js) and [brackets-viewer.js](https://github.com/Drarig29/brackets-viewer.js): the bracket engine and its views - [MatchZy](https://github.com/shobhit-pathak/MatchZy) by shobhit-pathak: the plugin MatchZy Enhanced was forked from ## License Auto Tournament is licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE). Copyright (c) 2025-2026 Sivert Gullberg Hansen. Free for non-commercial use; commercial use needs a license, see [pricing](https://autotournament.gg/pricing) and [LICENSING.md](LICENSING.md).