Files
bracket/search-doc.json

1 line
9.0 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"searchDocs":[{"title":"Installation","type":0,"sectionRef":"#","url":"/bracket/docs/getting-started/installation","content":"","keywords":"","version":"Next"},{"title":"Database","type":1,"pageTitle":"Installation","url":"/bracket/docs/getting-started/installation#database","content":" First create a bracket cluster: sudo pg_createcluster -u postgres -p 5532 13 bracket pg_ctlcluster 13 bracket start Subsequently, create a new bracket_dev database. First connect via sudo -Hu postgres psql -p 5532, and then run: CREATE USER bracket_dev WITH PASSWORD 'bracket_dev'; CREATE DATABASE bracket_dev OWNER bracket_dev; You can do the same but replace the user and database name with: bracket_ci: for running testsbracket_prod: for a production database The database URL can be specified per environment in the .env files (seeconfig). ","version":"Next","tagName":"h2"},{"title":"Running the frontend and backend","type":1,"pageTitle":"Installation","url":"/bracket/docs/getting-started/installation#running-the-frontend-and-backend","content":" The following starts the frontend and backend for local development: ","version":"Next","tagName":"h2"},{"title":"Frontend","type":1,"pageTitle":"Installation","url":"/bracket/docs/getting-started/installation#frontend","content":" cd frontend yarn npm run dev ","version":"Next","tagName":"h3"},{"title":"Backend","type":1,"pageTitle":"Installation","url":"/bracket/docs/getting-started/installation#backend","content":" cd backend pipenv install -d pipenv shell ./run.sh ","version":"Next","tagName":"h3"},{"title":"Configuration","type":0,"sectionRef":"#","url":"/bracket/docs/getting-started/configuration","content":"","keywords":"","version":"Next"},{"title":"Backend","type":1,"pageTitle":"Configuration","url":"/bracket/docs/getting-started/configuration#backend","content":" Copy ci.env to prod.env and fill in the values: PG_DSN: The URL of the PostgreSQL databaseJWT_SECRET: Create a random secret using openssl rand -hex 32CORS_ORIGINS and CORS_ORIGIN_REGEX: Specify allowed frontend domain names for CORS (see theFastAPI docs)ADMIN_EMAIL and ADMIN_PASSWORD: The credentials of the admin user, which is created when initializing the databaseSENTRY_DSN: The Sentry DSN for monitoring and error trackingBASE_URL: The base url of the API used for SSOALLOW_USER_REGISTRATION: Can be used to disallow user registration in the web app, currently used for production while bracket is still in betaALLOW_INSECURE_HTTP_SSO: Should not be used in production. Allows use of INSECURE requests for SSO auth. ","version":"Next","tagName":"h2"},{"title":"Backend: Example configuration file","type":1,"pageTitle":"Configuration","url":"/bracket/docs/getting-started/configuration#backend-example-configuration-file","content":" This is an example of how the config file should look like: PG_DSN='postgresql://bracket_ci:bracket_ci@localhost:5532/bracket_ci' JWT_SECRET='60eed5c5dc7a919b8595a23d6c42ddd8274e4feea651dc028d9bee495bbb9acd' CORS_ORIGINS='https://bracket.mydomain.com' CORS_ORIGIN_REGEX='https://.*\\.vercel\\.app' ADMIN_EMAIL='admin@example.com' ADMIN_PASSWORD='some unused password' SENTRY_DSN='my sentry dsn' ALLOW_USER_REGISTRATION=false ALLOW_INSECURE_HTTP_SSO=false CAPTCHA_SECRET='xxx' ","version":"Next","tagName":"h3"},{"title":"Frontend","type":1,"pageTitle":"Configuration","url":"/bracket/docs/getting-started/configuration#frontend","content":" NEXT_PUBLIC_HCAPTCHA_SITE_KEY: The HCaptcha key used for captcha challenges when creating new accounts. You get the secret when you create a new site in HCaptcha.NEXT_PUBLIC_API_BASE_URL: The base URL of the backend API to which the frontend sends requests. For example: https://api.bracket.com ","version":"Next","tagName":"h2"},{"title":"Frontend: Example configuration file","type":1,"pageTitle":"Configuration","url":"/bracket/docs/getting-started/configuration#frontend-example-configuration-file","content":" You can store the config in .env.local (as described in the Next docs). This is an example of how the config file should look like: NEXT_PUBLIC_HCAPTCHA_SITE_KEY='10000000-ffff-ffff-ffff-000000000001' NEXT_PUBLIC_API_BASE_URL='https://api.bracket.com' ","version":"Next","tagName":"h3"},{"title":"Deployment","type":0,"sectionRef":"#","url":"/bracket/docs/getting-started/deployment","content":"","keywords":"","version":"Next"},{"title":"Docker","type":1,"pageTitle":"Deployment","url":"/bracket/docs/getting-started/deployment#docker","content":" Use thetemplate docker-compose.ymlto deploy Bracket using Docker. You can run it with: git clone git@github.com:evroon/bracket.git cd bracket sudo docker-compose up -d ","version":"Next","tagName":"h2"},{"title":"Configuration","type":1,"pageTitle":"Deployment","url":"/bracket/docs/getting-started/deployment#configuration","content":" ","version":"Next","tagName":"h2"},{"title":"Backend configuration","type":1,"pageTitle":"Deployment","url":"/bracket/docs/getting-started/deployment#backend-configuration","content":" The following configuration variables need to be adjusted for the backend to run it in production: JWT_SECRET: Create a random secret using openssl rand -hex 32CORS_ORIGINS: Set frontend domain names for CORS. For example: CORS_ORIGINS=https://frontend.bracket.com.ADMIN_EMAIL and ADMIN_PASSWORD: It's important to not leave the admin credentials to the default values.ALLOW_INSECURE_HTTP_SSO: Must be set to false Optional: SENTRY_DSN: The Sentry DSN for monitoring and error trackingBASE_URL: The base url of the API used for SSO See the config docs for more information. ","version":"Next","tagName":"h3"},{"title":"Frontend configuration","type":1,"pageTitle":"Deployment","url":"/bracket/docs/getting-started/deployment#frontend-configuration","content":" The following configuration variables need to be adjusted for the frontend to run it in production: NEXT_PUBLIC_API_BASE_URL: The base URL of the backend API to which the frontend sends requests. For example: https://api.bracket.com Optional: NEXT_PUBLIC_HCAPTCHA_SITE_KEY: The HCaptcha key used for captcha challenges when creating new accounts. You get the secret when you create a new site in HCaptcha. If left blank, HCaptcha will be disabled for your site. ","version":"Next","tagName":"h3"},{"title":"Quickstart","type":0,"sectionRef":"#","url":"/bracket/docs/getting-started/quickstart","content":"Quickstart To quickly run bracket to see how it works, clone it and run docker-compose up: git clone git@github.com:evroon/bracket.git cd bracket sudo docker-compose up -d This will start the backend and frontend of Bracket, as well as a postgres instance. You should now be able to view bracket at http://localhost:3000. You can log in with username test@example.organd password aeGhoe1ahng2Aezai0Dei6Aih6dieHoo. To insert dummy rows into the database, run: sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db ","keywords":"","version":"Next"},{"title":"Introduction","type":0,"sectionRef":"#","url":"/bracket/docs/intro","content":"","keywords":"","version":"Next"},{"title":"Overview of features","type":1,"pageTitle":"Introduction","url":"/bracket/docs/intro#overview-of-features","content":" It has the following features: Supports single elimination, round-robin and swiss formats.Build your tournament structure with multiple stages that can have multiple groups/brackets in them.Drag-and-drop matches to different courts or reschedule them to another start time.Various dashboard pages are available that can be presented to the public, customized with a logo.Create/update teams, and add players to teams.Create multiple clubs, with multiple tournaments per club.Swiss tournaments can be handled dynamically, with automatic scheduling of matches. ","version":"Next","tagName":"h2"},{"title":"Why does this exist?","type":1,"pageTitle":"Introduction","url":"/bracket/docs/intro#why-does-this-exist","content":" There are plenty of tournament systems to be found online. So why does Bracket exist? Firstly, there are no complete open-source tournament systems to be found on github. Let me know if you find one, I will list it here as alternative to Bracket. Furthermore, the closed-source tournament systems that can be found online are typically payware, and quite expensive. Secondly, there is a lack of tournament systems that support Swiss tournaments. There are a few that exist, but they're typically quite ancient projects. Furthermore, AFAIK the Swiss tournament systems that exist usually only support Swiss, no other types of tournament elements (round-robin, elimination etc.). That is quite a limitation when you want to host a tournament that starts with Swiss and determines a winner based on a knockoff (elimination) stage. Finally, I developed this project to learn more about Next.js and apply my Python (e.g. FastAPI) experience to a project with a real purpose. ","version":"Next","tagName":"h2"},{"title":"Quickstart","type":1,"pageTitle":"Introduction","url":"/bracket/docs/intro#quickstart","content":" To get started, follow the steps described in quickstart ","version":"Next","tagName":"h2"}],"options":{"id":"default"}}