From b1e31524ff4bd1375e97e41cc68b5d4fbc3c7774 Mon Sep 17 00:00:00 2001 From: evroon Date: Thu, 2 Nov 2023 19:36:05 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20evroon/b?= =?UTF-8?q?racket@ab86f7ea7708854d86f34dbc3ccc7f2205ba1da3=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 ++-- .../js/{runtime~main.38ad5deb.js => runtime~main.2cccfcbe.js} | 2 +- docs/category/getting-started/index.html | 4 ++-- docs/getting-started/configuration/index.html | 4 ++-- docs/getting-started/installation/index.html | 4 ++-- docs/intro/index.html | 4 ++-- index.html | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) rename assets/js/{runtime~main.38ad5deb.js => runtime~main.2cccfcbe.js} (51%) diff --git a/404.html b/404.html index 7543c8bb..dd101606 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Bracket - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/runtime~main.38ad5deb.js b/assets/js/runtime~main.2cccfcbe.js similarity index 51% rename from assets/js/runtime~main.38ad5deb.js rename to assets/js/runtime~main.2cccfcbe.js index 8a9be2ab..03013419 100644 --- a/assets/js/runtime~main.38ad5deb.js +++ b/assets/js/runtime~main.2cccfcbe.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,o,a,n={},f={};function i(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=n,i.c=f,e=[],i.O=(t,r,o,a)=>{if(!r){var n=1/0;for(c=0;c=a)&&Object.keys(i.O).every((e=>i.O[e](r[d])))?r.splice(d--,1):(f=!1,a0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[r,o,a]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var a=Object.create(null);i.r(a);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&o&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,i.d(a,n),a},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"assets/js/"+({53:"935f2afb",94:"bf6dd32c",152:"54f44165",195:"c4f5d8e4",389:"aa772da0",436:"009f1e98",514:"1be78505",671:"0e384e19",794:"e88453fb",817:"14eb3368",918:"17896441"}[e]||e)+"."+{53:"c9e8d3bf",94:"4d6b032a",152:"f1e53ac0",195:"2f1d8d7c",389:"85974226",436:"4c6cf8cd",514:"e4d1af46",671:"a8b391df",794:"e2f46da5",817:"a6446dee",918:"21b2e013",972:"d5cc17b1"}[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},a="docs:",i.l=(e,t,r,n)=>{if(o[e])o[e].push(t);else{var f,d;if(void 0!==r)for(var u=document.getElementsByTagName("script"),c=0;c{f.onerror=f.onload=null,clearTimeout(b);var a=o[e];if(delete o[e],f.parentNode&&f.parentNode.removeChild(f),a&&a.forEach((e=>e(r))),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),d&&document.head.appendChild(f)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/bracket/",i.gca=function(e){return e={17896441:"918","935f2afb":"53",bf6dd32c:"94","54f44165":"152",c4f5d8e4:"195",aa772da0:"389","009f1e98":"436","1be78505":"514","0e384e19":"671",e88453fb:"794","14eb3368":"817"}[e]||e,i.p+i.u(e)},(()=>{var e={303:0,532:0};i.f.j=(t,r)=>{var o=i.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>o=e[t]=[r,a]));r.push(o[2]=a);var n=i.p+i.u(t),f=new Error;i.l(n,(r=>{if(i.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var a=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+a+": "+n+")",f.name="ChunkLoadError",f.type=a,f.request=n,o[1](f)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,n=r[0],f=r[1],d=r[2],u=0;if(n.some((t=>0!==e[t]))){for(o in f)i.o(f,o)&&(i.m[o]=f[o]);if(d)var c=d(i)}for(t&&t(r);u{"use strict";var e,t,r,o,n,a={},f={};function i(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return a[e].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=a,i.c=f,e=[],i.O=(t,r,o,n)=>{if(!r){var a=1/0;for(u=0;u=n)&&Object.keys(i.O).every((e=>i.O[e](r[c])))?r.splice(c--,1):(f=!1,n0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,o,n]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var n=Object.create(null);i.r(n);var a={};t=t||[null,r({}),r([]),r(r)];for(var f=2&o&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,i.d(n,a),n},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"assets/js/"+({53:"935f2afb",94:"bf6dd32c",152:"54f44165",195:"c4f5d8e4",389:"aa772da0",436:"009f1e98",514:"1be78505",671:"0e384e19",794:"e88453fb",817:"14eb3368",918:"17896441"}[e]||e)+"."+{53:"c9e8d3bf",94:"4d6b032a",152:"f1e53ac0",195:"2f1d8d7c",389:"85974226",436:"4c6cf8cd",514:"e4d1af46",671:"a8b391df",794:"e2f46da5",817:"a6446dee",918:"21b2e013",972:"d5cc17b1"}[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},n="docs:",i.l=(e,t,r,a)=>{if(o[e])o[e].push(t);else{var f,c;if(void 0!==r)for(var d=document.getElementsByTagName("script"),u=0;u{f.onerror=f.onload=null,clearTimeout(b);var n=o[e];if(delete o[e],f.parentNode&&f.parentNode.removeChild(f),n&&n.forEach((e=>e(r))),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),c&&document.head.appendChild(f)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/bracket/",i.gca=function(e){return e={17896441:"918","935f2afb":"53",bf6dd32c:"94","54f44165":"152",c4f5d8e4:"195",aa772da0:"389","009f1e98":"436","1be78505":"514","0e384e19":"671",e88453fb:"794","14eb3368":"817"}[e]||e,i.p+i.u(e)},(()=>{var e={303:0,532:0};i.f.j=(t,r)=>{var o=i.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var a=i.p+i.u(t),f=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",f.name="ChunkLoadError",f.type=n,f.request=a,o[1](f)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,a=r[0],f=r[1],c=r[2],d=0;if(a.some((t=>0!==e[t]))){for(o in f)i.o(f,o)&&(i.m[o]=f[o]);if(c)var u=c(i)}for(t&&t(r);d Getting Started | Bracket - + - + \ No newline at end of file diff --git a/docs/getting-started/configuration/index.html b/docs/getting-started/configuration/index.html index 67854a0b..ac824c96 100644 --- a/docs/getting-started/configuration/index.html +++ b/docs/getting-started/configuration/index.html @@ -4,13 +4,13 @@ Configuration | Bracket - +

Configuration

Copy ci.env to prod.env and fill in the values:

  • PG_DSN: The URL of the PostgreSQL database
  • JWT_SECRET: Create a random secret using openssl rand -hex 32
  • CORS_ORIGINS and CORS_ORIGIN_REGEX: Specify allowed frontend domain names for CORS (see the FastAPI docs)
  • ADMIN_EMAIL and ADMIN_PASSWORD: The credentials of the admin user, which is created when initializing the database
  • SENTRY_DSN: The Sentry DSN for monitoring and error tracking
  • BASE_URL: The base url of the API used for SSO
  • ALLOW_USER_REGISTRATION: Can be used to disallow user registration in the web app, currently used for production while bracket is still in beta
  • ALLOW_INSECURE_HTTP_SSO: Should not be used in production. Allows use of INSECURE requests for SSO auth.

Example configuration file

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
- + \ No newline at end of file diff --git a/docs/getting-started/installation/index.html b/docs/getting-started/installation/index.html index eaea318e..8311fdb3 100644 --- a/docs/getting-started/installation/index.html +++ b/docs/getting-started/installation/index.html @@ -4,13 +4,13 @@ Installation | Bracket - +

Installation

Database

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:

sudo -Hu postgres psql  -p 5532
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 tests
  • bracket_prod: for a production database

The database URL can be specified per environment in the .env files (see config).

Running the frontend and backend

The following starts the frontend and backend for local development:

Frontend

cd frontend
yarn
npm run dev

Backend

cd backend
pipenv install -d
pipenv shell
./run.sh
- + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index d8ce386f..9c84b2b7 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -4,7 +4,7 @@ Introduction | Bracket - + @@ -12,7 +12,7 @@

Introduction

Bracket is a tournament system meant to be easy to use. Bracket is written in async Python (with FastAPI) and Next.js as frontend using the Mantine library.

- + \ No newline at end of file diff --git a/index.html b/index.html index 739e79be..7fc4d9bf 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,13 @@ Bracket - +

Bracket

Free and open source tournament scheduling system

Preview of the web interface

Open-source and free

Bracket is fully open source and free to use, licensed under the MIT license.

Flexible

Bracket supports the standard tournament types, teams can be added/changed during the tournament and new matches can be scheduled dynamically.

Easy to use

The UI is meant to be easy to use while providing maximum flexibility.

Selfhosted

You are free to host it yourself. Setup is easy; either run it in Docker or run it the natively on the host. The only external dependency is a PostgreSQL database.

Modern codebase

Bracket has a frontend build with Next.js and Mantine. The backend is written in async Python using FastAPI.

- + \ No newline at end of file