mirror of
https://github.com/evroon/bracket.git
synced 2026-06-13 03:04:35 -04:00
Deploying to gh-pages from @ evroon/bracket@a2cd12181d 🚀
This commit is contained in:
4
404.html
4
404.html
@@ -4,8 +4,8 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="generator" content="Docusaurus v3.0.0">
|
||||
<title data-rh="true">Page Not Found | Bracket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" name="twitter:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/bracket/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Page Not Found | Bracket"><link data-rh="true" rel="icon" href="/bracket/img/logo.svg"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/bracket/404.html"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/404.html" hreflang="x-default"><link rel="stylesheet" href="/bracket/assets/css/styles.b5152765.css">
|
||||
<script src="/bracket/assets/js/runtime~main.ca7f1433.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/main.41deee3b.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/runtime~main.08ce85d7.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/main.92864343.js" defer="defer"></script>
|
||||
</head>
|
||||
<body class="navigation-with-keyboard">
|
||||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/bracket/"><div class="navbar__logo"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Bracket</b></a><a class="navbar__item navbar__link" href="/bracket/docs/intro">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="navbarSearchContainer_Bca1"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/bracket/docs/intro">Introduction</a></li><li class="footer__item"><a class="footer__link-item" href="/bracket/docs/getting-started/configuration">Configuration</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/evroon/bracket/releases" target="_blank" rel="noopener noreferrer" class="footer__link-item">Changelog<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 Bracket. Built with Docusaurus.</div></div></div></footer></div>
|
||||
|
||||
1
assets/js/009f1e98.87a6d5b5.js
Normal file
1
assets/js/009f1e98.87a6d5b5.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[436],{4069:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=t(5893),s=t(1151);const o={sidebar_position:2},r="Configuration",a={id:"getting-started/configuration",title:"Configuration",description:"Copy ci.env to prod.env and fill in the values:",source:"@site/docs/getting-started/configuration.md",sourceDirName:"getting-started",slug:"/getting-started/configuration",permalink:"/bracket/docs/getting-started/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/configuration.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/bracket/docs/getting-started/installation"}},c={},d=[{value:"Example configuration file",id:"example-configuration-file",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsxs)(n.p,{children:["Copy ",(0,i.jsx)(n.code,{children:"ci.env"})," to ",(0,i.jsx)(n.code,{children:"prod.env"})," and fill in the values:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"PG_DSN"}),": The URL of the PostgreSQL database"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"JWT_SECRET"}),": Create a random secret using ",(0,i.jsx)(n.code,{children:"openssl rand -hex 32"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"CORS_ORIGINS"})," and ",(0,i.jsx)(n.code,{children:"CORS_ORIGIN_REGEX"}),": Specify allowed frontend domain names for CORS (see the\n",(0,i.jsx)(n.a,{href:"https://fastapi.tiangolo.com/tutorial/cors/",children:"FastAPI docs"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ADMIN_EMAIL"})," and ",(0,i.jsx)(n.code,{children:"ADMIN_PASSWORD"}),": The credentials of the admin user, which is created when\ninitializing the database"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"SENTRY_DSN"}),": The ",(0,i.jsx)(n.a,{href:"https://sentry.io",children:"Sentry"})," DSN for monitoring and error tracking"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"BASE_URL"}),": The base url of the API used for SSO"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ALLOW_USER_REGISTRATION"}),": Can be used to disallow user registration in the web app, currently\nused for production while bracket is still in beta"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ALLOW_INSECURE_HTTP_SSO"}),": Should not be used in production. Allows use of INSECURE requests for\nSSO auth."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"example-configuration-file",children:"Example configuration file"}),"\n",(0,i.jsx)(n.p,{children:"This is an example of how the config file should look like:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"PG_DSN='postgresql://bracket_ci:bracket_ci@localhost:5532/bracket_ci'\nJWT_SECRET='60eed5c5dc7a919b8595a23d6c42ddd8274e4feea651dc028d9bee495bbb9acd'\nCORS_ORIGINS='https://bracket.mydomain.com'\nCORS_ORIGIN_REGEX='https://.*\\.vercel\\.app'\nADMIN_EMAIL='admin@example.com'\nADMIN_PASSWORD='some unused password'\nSENTRY_DSN='my sentry dsn'\nALLOW_USER_REGISTRATION=false\nALLOW_INSECURE_HTTP_SSO=false\n"})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(7294);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);
|
||||
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[436],{4069:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var i=t(5893),s=t(1151);const o={sidebar_position:2},r="Configuration",a={id:"getting-started/configuration",title:"Configuration",description:"Copy ci.env to prod.env and fill in the values:",source:"@site/docs/getting-started/configuration.md",sourceDirName:"getting-started",slug:"/getting-started/configuration",permalink:"/bracket/docs/getting-started/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/configuration.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/bracket/docs/getting-started/installation"},next:{title:"Quickstart",permalink:"/bracket/docs/getting-started/quickstart"}},c={},d=[{value:"Example configuration file",id:"example-configuration-file",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsxs)(n.p,{children:["Copy ",(0,i.jsx)(n.code,{children:"ci.env"})," to ",(0,i.jsx)(n.code,{children:"prod.env"})," and fill in the values:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"PG_DSN"}),": The URL of the PostgreSQL database"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"JWT_SECRET"}),": Create a random secret using ",(0,i.jsx)(n.code,{children:"openssl rand -hex 32"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"CORS_ORIGINS"})," and ",(0,i.jsx)(n.code,{children:"CORS_ORIGIN_REGEX"}),": Specify allowed frontend domain names for CORS (see the ",(0,i.jsx)(n.a,{href:"https://fastapi.tiangolo.com/tutorial/cors/",children:"FastAPI docs"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ADMIN_EMAIL"})," and ",(0,i.jsx)(n.code,{children:"ADMIN_PASSWORD"}),": The credentials of the admin user, which is created when initializing the database"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"SENTRY_DSN"}),": The ",(0,i.jsx)(n.a,{href:"https://sentry.io",children:"Sentry"})," DSN for monitoring and error tracking"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"BASE_URL"}),": The base url of the API used for SSO"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ALLOW_USER_REGISTRATION"}),": Can be used to disallow user registration in the web app, currently used for production while bracket is still in beta"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ALLOW_INSECURE_HTTP_SSO"}),": Should not be used in production. Allows use of INSECURE requests for SSO auth."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"example-configuration-file",children:"Example configuration file"}),"\n",(0,i.jsx)(n.p,{children:"This is an example of how the config file should look like:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"PG_DSN='postgresql://bracket_ci:bracket_ci@localhost:5532/bracket_ci'\nJWT_SECRET='60eed5c5dc7a919b8595a23d6c42ddd8274e4feea651dc028d9bee495bbb9acd'\nCORS_ORIGINS='https://bracket.mydomain.com'\nCORS_ORIGIN_REGEX='https://.*\\.vercel\\.app'\nADMIN_EMAIL='admin@example.com'\nADMIN_PASSWORD='some unused password'\nSENTRY_DSN='my sentry dsn'\nALLOW_USER_REGISTRATION=false\nALLOW_INSECURE_HTTP_SSO=false\n"})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(7294);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);
|
||||
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[152],{9145:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var a=t(5893),r=t(1151);const s={sidebar_position:1},i="Installation",d={id:"getting-started/installation",title:"Installation",description:"This guide explains how to run Bracket without Docker. If you quickly want to get up and running, please read quickstart.md.",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/getting-started/installation",permalink:"/bracket/docs/getting-started/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/installation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Getting Started",permalink:"/bracket/docs/category/getting-started"},next:{title:"Configuration",permalink:"/bracket/docs/getting-started/configuration"}},c={},o=[{value:"Database",id:"database",level:2},{value:"Running the frontend and backend",id:"running-the-frontend-and-backend",level:2},{value:"Frontend",id:"frontend",level:3},{value:"Backend",id:"backend",level:3}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"installation",children:"Installation"}),"\n",(0,a.jsxs)(n.p,{children:["This guide explains how to run Bracket without Docker. If you quickly want to get up and running, please read ",(0,a.jsx)(n.a,{href:"/bracket/docs/getting-started/quickstart",children:"quickstart.md"}),"."]}),"\n",(0,a.jsx)(n.h2,{id:"database",children:"Database"}),"\n",(0,a.jsxs)(n.p,{children:["First create a ",(0,a.jsx)(n.code,{children:"bracket"})," cluster:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"sudo pg_createcluster -u postgres -p 5532 13 bracket\npg_ctlcluster 13 bracket start\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Subsequently, create a new ",(0,a.jsx)(n.code,{children:"bracket_dev"})," database. First connect via ",(0,a.jsx)(n.code,{children:"sudo -Hu postgres psql -p 5532"}),", and then run:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-sql",children:"CREATE USER bracket_dev WITH PASSWORD 'bracket_dev';\nCREATE DATABASE bracket_dev OWNER bracket_dev;\n"})}),"\n",(0,a.jsx)(n.p,{children:"You can do the same but replace the user and database name with:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"bracket_ci"}),": for running tests"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"bracket_prod"}),": for a production database"]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The database URL can be specified per environment in the ",(0,a.jsx)(n.code,{children:".env"})," files (see ",(0,a.jsx)(n.a,{href:"#config",children:"config"}),")."]}),"\n",(0,a.jsx)(n.h2,{id:"running-the-frontend-and-backend",children:"Running the frontend and backend"}),"\n",(0,a.jsx)(n.p,{children:"The following starts the frontend and backend for local development:"}),"\n",(0,a.jsx)(n.h3,{id:"frontend",children:"Frontend"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd frontend\nyarn\nnpm run dev\n"})}),"\n",(0,a.jsx)(n.h3,{id:"backend",children:"Backend"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd backend\npipenv install -d\npipenv shell\n./run.sh\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>i});var a=t(7294);const r={},s=a.createContext(r);function i(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]);
|
||||
1
assets/js/54f44165.fa2b4008.js
Normal file
1
assets/js/54f44165.fa2b4008.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[152],{9145:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var a=t(5893),r=t(1151);const s={sidebar_position:1},i="Installation",c={id:"getting-started/installation",title:"Installation",description:"This guide explains how to run Bracket without Docker. If you quickly want to get up and running,",source:"@site/docs/getting-started/installation.md",sourceDirName:"getting-started",slug:"/getting-started/installation",permalink:"/bracket/docs/getting-started/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/installation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Quickstart",permalink:"/bracket/docs/getting-started/quickstart"},next:{title:"Configuration",permalink:"/bracket/docs/getting-started/configuration"}},d={},o=[{value:"Database",id:"database",level:2},{value:"Running the frontend and backend",id:"running-the-frontend-and-backend",level:2},{value:"Frontend",id:"frontend",level:3},{value:"Backend",id:"backend",level:3}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"installation",children:"Installation"}),"\n",(0,a.jsxs)(n.p,{children:["This guide explains how to run Bracket without Docker. If you quickly want to get up and running,\nplease read ",(0,a.jsx)(n.a,{href:"/bracket/docs/getting-started/quickstart",children:"quickstart.md"}),"."]}),"\n",(0,a.jsx)(n.h2,{id:"database",children:"Database"}),"\n",(0,a.jsxs)(n.p,{children:["First create a ",(0,a.jsx)(n.code,{children:"bracket"})," cluster:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"sudo pg_createcluster -u postgres -p 5532 13 bracket\npg_ctlcluster 13 bracket start\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Subsequently, create a new ",(0,a.jsx)(n.code,{children:"bracket_dev"})," database. First connect via ",(0,a.jsx)(n.code,{children:"sudo -Hu postgres psql -p 5532"}),", and then run:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-sql",children:"CREATE USER bracket_dev WITH PASSWORD 'bracket_dev';\nCREATE DATABASE bracket_dev OWNER bracket_dev;\n"})}),"\n",(0,a.jsx)(n.p,{children:"You can do the same but replace the user and database name with:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"bracket_ci"}),": for running tests"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"bracket_prod"}),": for a production database"]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["The database URL can be specified per environment in the ",(0,a.jsx)(n.code,{children:".env"})," files (see\n",(0,a.jsx)(n.a,{href:"/bracket/docs/getting-started/configuration",children:"config"}),")."]}),"\n",(0,a.jsx)(n.h2,{id:"running-the-frontend-and-backend",children:"Running the frontend and backend"}),"\n",(0,a.jsx)(n.p,{children:"The following starts the frontend and backend for local development:"}),"\n",(0,a.jsx)(n.h3,{id:"frontend",children:"Frontend"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd frontend\nyarn\nnpm run dev\n"})}),"\n",(0,a.jsx)(n.h3,{id:"backend",children:"Backend"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"cd backend\npipenv install -d\npipenv shell\n./run.sh\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var a=t(7294);const r={},s=a.createContext(r);function i(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]);
|
||||
1
assets/js/935f2afb.893aad13.js
Normal file
1
assets/js/935f2afb.893aad13.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:t=>{t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/bracket/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Quickstart","href":"/bracket/docs/getting-started/quickstart","docId":"getting-started/quickstart","unlisted":false},{"type":"link","label":"Installation","href":"/bracket/docs/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/bracket/docs/getting-started/configuration","docId":"getting-started/configuration","unlisted":false}],"href":"/bracket/docs/category/getting-started"}]},"docs":{"getting-started/configuration":{"id":"getting-started/configuration","title":"Configuration","description":"Copy ci.env to prod.env and fill in the values:","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"This guide explains how to run Bracket without Docker. If you quickly want to get up and running,","sidebar":"tutorialSidebar"},"getting-started/quickstart":{"id":"getting-started/quickstart","title":"Quickstart","description":"To quickly run bracket to see how it works, clone it and run docker-compose up:","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Bracket is a tournament system meant to be easy to use. Bracket","sidebar":"tutorialSidebar"}}}')}}]);
|
||||
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:t=>{t.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/bracket/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/bracket/docs/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Configuration","href":"/bracket/docs/getting-started/configuration","docId":"getting-started/configuration","unlisted":false},{"type":"link","label":"Quickstart","href":"/bracket/docs/getting-started/quickstart","docId":"getting-started/quickstart","unlisted":false}],"href":"/bracket/docs/category/getting-started"}]},"docs":{"getting-started/configuration":{"id":"getting-started/configuration","title":"Configuration","description":"Copy ci.env to prod.env and fill in the values:","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"This guide explains how to run Bracket without Docker. If you quickly want to get up and running, please read quickstart.md.","sidebar":"tutorialSidebar"},"getting-started/quickstart":{"id":"getting-started/quickstart","title":"Quickstart","description":"To quickly run bracket to see how it works, clone it and run docker-compose up:","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Bracket is a tournament system meant to be easy to use. Bracket","sidebar":"tutorialSidebar"}}}')}}]);
|
||||
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[195],{9060:(e,s,t)=>{t.r(s),t.d(s,{default:()=>C});t(7294);var i=t(2263),n=t(63),r=t(8439),c=t(8172),a=t(3918),d=t(3565),l=(t(6610),t(6616),t(2197)),o=t(140),h=t(9748),p=t(3579);const m={wrapper:"wrapper_t3oZ",inner:"inner_rzNq",title:"title_OnkG",description:"description_g0OM",controls:"controls_s_ZW",control:"control_q1ls"};var x=t(5893);function u(){return(0,x.jsx)("div",{className:m.wrapper,children:(0,x.jsxs)(d.W,{maxSize:"400px",className:m.inner,children:[(0,x.jsxs)("h1",{className:m.title,children:["Free and open source"," ",(0,x.jsx)(l.x,{component:"span",variant:"gradient",gradient:{from:"indigo",to:"#674ad6"},inherit:!0,children:"tournament scheduling"})," ","system"]}),(0,x.jsx)(l.x,{className:m.description,color:"dimmed",children:"Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public."}),(0,x.jsxs)(o.Z,{className:m.controls,children:[(0,x.jsx)(h.z,{size:"xl",className:m.control,variant:"gradient",gradient:{from:"indigo",to:"#674ad6"},onClick:()=>{open("docs/getting-started/quickstart","_self")},children:"Get started"}),(0,x.jsx)(h.z,{component:"a",href:"https://github.com/evroon/bracket",size:"xl",variant:"default",className:m.control,leftSection:(0,x.jsx)(p.E,{size:20}),children:"GitHub"})]})]})})}var g=t(4589),j=t(4934);function f(){return(0,x.jsx)(d.W,{width:"100%",mb:"md",children:(0,x.jsxs)(j.l,{withIndicators:!0,slideSize:"100%",slideGap:"md",loop:!0,align:"center",slidesToScroll:1,children:[(0,x.jsx)(j.l.Slide,{children:(0,x.jsx)(g.E,{src:t(4544).Z})}),(0,x.jsx)(j.l.Slide,{children:(0,x.jsx)(g.E,{src:t(8359).Z})}),(0,x.jsx)(j.l.Slide,{children:(0,x.jsx)(g.E,{src:t(2016).Z})}),(0,x.jsx)(j.l.Slide,{children:(0,x.jsx)(g.E,{src:t(8204).Z})}),(0,x.jsx)(j.l.Slide,{children:(0,x.jsx)(g.E,{src:t(3002).Z})})]})})}const b={title:"title_GqtP",description:"description_meEo",card:"card_M5pr",cardTitle:"cardTitle_tke3"};var Z=t(5984),w=t(529),v=t(8565),k=t(7649),_=t(7720),y=t(425),S=t(8861),N=t(1786);const z=[{title:"Open-source and free",description:"Bracket is fully open source and free to use, licensed under the MIT license.",icon:_.Z},{title:"Flexible",description:"Bracket supports the standard tournament types, teams can be added/changed\n during the tournament and new matches can be scheduled dynamically.",icon:y.Z},{title:"Easy to use",description:"The UI is meant to be easy to use while providing maximum flexibility.",icon:S.Z},{title:"Self-hosted",description:"You are free to host it yourself. Setup is easy; either run it in Docker or run it the\n natively on the host. The only external dependency is a PostgreSQL database.",icon:N.Z}];function E(){(0,Z.rZ)();const e=z.map((e=>(0,x.jsxs)(w.Z,{shadow:"md",radius:"md",className:b.card,padding:"xl",children:[(0,x.jsx)(e.icon,{style:{width:(0,v.h)(50),height:(0,v.h)(50)},stroke:2,color:"#674ad6"}),(0,x.jsx)(l.x,{fz:"lg",fw:500,className:b.cardTitle,mt:"md",children:e.title}),(0,x.jsx)(l.x,{fz:"sm",c:"dimmed",mt:"sm",children:e.description})]},e.title)));return(0,x.jsx)(d.W,{size:"lg",py:"xl",children:(0,x.jsx)(k.M,{cols:{base:1,md:3},spacing:"xl",mt:0,children:e})})}const T=(0,r.j)({});function C(){const{siteConfig:e}=(0,i.Z)();return(0,x.jsx)(c.M,{theme:T,defaultColorScheme:"dark",children:(0,x.jsxs)(n.Z,{title:"",description:"Description will go into a meta tag in <head />",children:[(0,x.jsx)(u,{}),(0,x.jsxs)("main",{children:[(0,x.jsx)(a.D,{order:2,className:b.title,ta:"center",mt:"lg",children:"Features"}),(0,x.jsx)(E,{}),(0,x.jsxs)(d.W,{mt:"lg",px:"0px",children:[(0,x.jsx)(a.D,{order:2,className:b.title,ta:"center",my:"lg",children:"Preview"}),(0,x.jsx)(f,{})]})]})]})})}},4544:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/builder_preview-62e6ac545b4c4ec6b8ca60d1c9ea07c6.png"},8204:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/courts_preview-08b58242a9055ff18abb59d2aea462bd.png"},8359:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/planning_preview-8643301c7e80b9957ea309be33acc0c0.png"},2016:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/schedule_preview-24883a4e1af871210479b5e06169e16e.png"},3002:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/standings_preview-623140c25c5a680c1710027d513cb461.png"}}]);
|
||||
1
assets/js/c4f5d8e4.a378cd78.js
Normal file
1
assets/js/c4f5d8e4.a378cd78.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[195],{9060:(e,s,t)=>{t.r(s),t.d(s,{default:()=>G});t(7294);var i=t(63),n=t(8439),r=t(8172),c=t(3918),a=t(3565),d=(t(6610),t(6616),t(2197)),l=t(140),o=t(9748),h=t(3579);const p={wrapper:"wrapper_t3oZ",inner:"inner_rzNq",title:"title_OnkG",description:"description_g0OM",controls:"controls_s_ZW",control:"control_q1ls"};var m=t(5893);function x(){return(0,m.jsx)("div",{className:p.wrapper,children:(0,m.jsxs)(a.W,{maxSize:"400px",className:p.inner,children:[(0,m.jsxs)("h1",{className:p.title,children:["Free and open source"," ",(0,m.jsx)(d.x,{component:"span",variant:"gradient",gradient:{from:"indigo",to:"#674ad6"},inherit:!0,children:"tournament scheduling"})," ","system"]}),(0,m.jsx)(d.x,{className:p.description,color:"dimmed",children:"Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public."}),(0,m.jsxs)(l.Z,{className:p.controls,children:[(0,m.jsx)(o.z,{size:"xl",className:p.control,variant:"gradient",gradient:{from:"indigo",to:"#674ad6"},onClick:()=>{open("docs/getting-started/quickstart","_self")},children:"Get started"}),(0,m.jsx)(o.z,{component:"a",href:"https://github.com/evroon/bracket",size:"xl",variant:"default",className:p.control,leftSection:(0,m.jsx)(h.E,{size:20}),children:"GitHub"})]})]})})}var u=t(4589),g=t(4934);function j(){return(0,m.jsx)(a.W,{width:"100%",mb:"md",children:(0,m.jsxs)(g.l,{withIndicators:!0,slideSize:"100%",slideGap:"md",loop:!0,align:"center",slidesToScroll:1,children:[(0,m.jsx)(g.l.Slide,{children:(0,m.jsx)(u.E,{src:t(4544).Z})}),(0,m.jsx)(g.l.Slide,{children:(0,m.jsx)(u.E,{src:t(8359).Z})}),(0,m.jsx)(g.l.Slide,{children:(0,m.jsx)(u.E,{src:t(2016).Z})}),(0,m.jsx)(g.l.Slide,{children:(0,m.jsx)(u.E,{src:t(8204).Z})}),(0,m.jsx)(g.l.Slide,{children:(0,m.jsx)(u.E,{src:t(3002).Z})})]})})}const f={title:"title_GqtP",description:"description_meEo",card:"card_M5pr",cardTitle:"cardTitle_tke3"};var b=t(5984),Z=t(529),w=t(8565),v=t(7649),k=t(7720),_=t(425),y=t(8861),S=t(1786);const N=[{title:"Open-source and free",description:"Bracket is fully open source and free to use, licensed under the AGPL-3.0 license.",icon:k.Z},{title:"Flexible",description:"Bracket supports the standard tournament types, teams can be added/changed\n during the tournament and new matches can be scheduled dynamically.",icon:_.Z},{title:"Easy to use",description:"The UI is meant to be easy to use while providing maximum flexibility.",icon:y.Z},{title:"Self-hosted",description:"You are free to host it yourself. Setup is easy; either run it in Docker or run it the\n natively on the host. The only external dependency is a PostgreSQL database.",icon:S.Z}];function z(){(0,b.rZ)();const e=N.map((e=>(0,m.jsxs)(Z.Z,{shadow:"md",radius:"md",className:f.card,padding:"xl",children:[(0,m.jsx)(e.icon,{style:{width:(0,w.h)(50),height:(0,w.h)(50)},stroke:2,color:"#674ad6"}),(0,m.jsx)(d.x,{fz:"lg",fw:500,className:f.cardTitle,mt:"md",children:e.title}),(0,m.jsx)(d.x,{fz:"sm",c:"dimmed",mt:"sm",children:e.description})]},e.title)));return(0,m.jsx)(a.W,{size:"lg",py:"xl",children:(0,m.jsx)(v.M,{cols:{base:1,md:3},spacing:"xl",mt:0,children:e})})}const E=(0,n.j)({});function G(){return(0,m.jsx)(r.M,{theme:E,defaultColorScheme:"dark",children:(0,m.jsxs)(i.Z,{title:"",description:"Description will go into a meta tag in <head />",children:[(0,m.jsx)(x,{}),(0,m.jsxs)("main",{children:[(0,m.jsx)(c.D,{order:2,className:f.title,ta:"center",mt:"lg",children:"Features"}),(0,m.jsx)(z,{}),(0,m.jsxs)(a.W,{mt:"lg",px:"0px",children:[(0,m.jsx)(c.D,{order:2,className:f.title,ta:"center",my:"lg",children:"Preview"}),(0,m.jsx)(j,{})]})]})]})})}},4544:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/builder_preview-62e6ac545b4c4ec6b8ca60d1c9ea07c6.png"},8204:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/courts_preview-08b58242a9055ff18abb59d2aea462bd.png"},8359:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/planning_preview-8643301c7e80b9957ea309be33acc0c0.png"},2016:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/schedule_preview-24883a4e1af871210479b5e06169e16e.png"},3002:(e,s,t)=>{t.d(s,{Z:()=>i});const i=t.p+"assets/images/standings_preview-623140c25c5a680c1710027d513cb461.png"}}]);
|
||||
@@ -1 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[794],{6536:t=>{t.exports=JSON.parse('{"title":"Getting Started","slug":"/category/getting-started","permalink":"/bracket/docs/category/getting-started","navigation":{"previous":{"title":"Introduction","permalink":"/bracket/docs/intro"},"next":{"title":"Installation","permalink":"/bracket/docs/getting-started/installation"}}}')}}]);
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[794],{6536:t=>{t.exports=JSON.parse('{"title":"Getting Started","slug":"/category/getting-started","permalink":"/bracket/docs/category/getting-started","navigation":{"previous":{"title":"Introduction","permalink":"/bracket/docs/intro"},"next":{"title":"Quickstart","permalink":"/bracket/docs/getting-started/quickstart"}}}')}}]);
|
||||
1
assets/js/fbd7a87c.1205f8ae.js
Normal file
1
assets/js/fbd7a87c.1205f8ae.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[39],{3174:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(5893),r=n(1151);const o={sidebar_position:0},a="Quickstart",c={id:"getting-started/quickstart",title:"Quickstart",description:"To quickly run bracket to see how it works, clone it and run docker-compose up:",source:"@site/docs/getting-started/quickstart.md",sourceDirName:"getting-started",slug:"/getting-started/quickstart",permalink:"/bracket/docs/getting-started/quickstart",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/quickstart.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0},sidebar:"tutorialSidebar",previous:{title:"Getting Started",permalink:"/bracket/docs/category/getting-started"},next:{title:"Installation",permalink:"/bracket/docs/getting-started/installation"}},i={},d=[];function u(e){const t={code:"code",h1:"h1",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"quickstart",children:"Quickstart"}),"\n",(0,s.jsxs)(t.p,{children:["To quickly run bracket to see how it works, clone it and run ",(0,s.jsx)(t.code,{children:"docker-compose up"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"git clone git@github.com:evroon/bracket.git\ncd bracket\nsudo docker-compose up -d\n"})}),"\n",(0,s.jsxs)(t.p,{children:["This will start the backend and frontend of Bracket, as well as a postgres instance. You should now\nbe able to view bracket at ",(0,s.jsx)(t.code,{children:"http://localhost:3000"}),". You can log in with username ",(0,s.jsx)(t.code,{children:"test@example.org"}),"\nand password ",(0,s.jsx)(t.code,{children:"aeGhoe1ahng2Aezai0Dei6Aih6dieHoo"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"To insert dummy rows into the database, run:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db\n"})})]})}function l(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>a});var s=n(7294);const r={},o=s.createContext(r);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
|
||||
@@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[39],{3174:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var r=n(5893),s=n(1151);const o={sidebar_position:2},c="Quickstart",a={id:"getting-started/quickstart",title:"Quickstart",description:"To quickly run bracket to see how it works, clone it and run docker-compose up:",source:"@site/docs/getting-started/quickstart.md",sourceDirName:"getting-started",slug:"/getting-started/quickstart",permalink:"/bracket/docs/getting-started/quickstart",draft:!1,unlisted:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/getting-started/quickstart.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Configuration",permalink:"/bracket/docs/getting-started/configuration"}},i={},d=[];function u(e){const t={a:"a",code:"code",h1:"h1",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"quickstart",children:"Quickstart"}),"\n",(0,r.jsxs)(t.p,{children:["To quickly run bracket to see how it works, clone it and run ",(0,r.jsx)(t.code,{children:"docker-compose up"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"git clone git@github.com:evroon/bracket.git\ncd bracket\nsudo docker-compose up -d\n"})}),"\n",(0,r.jsxs)(t.p,{children:["This will start the backend and frontend of Bracket, as well as a postgres instance. You should now\nbe able to view bracket at ",(0,r.jsx)(t.a,{href:"http://localhost:3000",children:"http://localhost:3000"}),". You can log in with username ",(0,r.jsx)(t.code,{children:"test@example.org"}),"\nand password ",(0,r.jsx)(t.code,{children:"aeGhoe1ahng2Aezai0Dei6Aih6dieHoo"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"To insert dummy rows into the database, run:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-shell",children:"sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db\n"})})]})}function l(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>c});var r=n(7294);const s={},o=r.createContext(s);function c(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]);
|
||||
File diff suppressed because one or more lines are too long
1
assets/js/runtime~main.08ce85d7.js
Normal file
1
assets/js/runtime~main.08ce85d7.js
Normal file
@@ -0,0 +1 @@
|
||||
(()=>{"use strict";var e,t,r,a,o,n={},f={};function c(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={exports:{}};return n[e].call(r.exports,r,r.exports,c),r.exports}c.m=n,e=[],c.O=(t,r,a,o)=>{if(!r){var n=1/0;for(u=0;u<e.length;u++){r=e[u][0],a=e[u][1],o=e[u][2];for(var f=!0,i=0;i<r.length;i++)(!1&o||n>=o)&&Object.keys(c.O).every((e=>c.O[e](r[i])))?r.splice(i--,1):(f=!1,o<n&&(n=o));if(f){e.splice(u--,1);var d=a();void 0!==d&&(t=d)}}return t}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,c.d(o,n),o},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,r)=>(c.f[r](e,t),t)),[])),c.u=e=>"assets/js/"+({39:"fbd7a87c",53:"935f2afb",94:"bf6dd32c",152:"54f44165",195:"c4f5d8e4",368:"a94703ab",389:"aa772da0",436:"009f1e98",518:"a7bd4aaa",661:"5e95c892",671:"0e384e19",794:"e88453fb",817:"14eb3368",918:"17896441"}[e]||e)+"."+{39:"1205f8ae",53:"893aad13",94:"4d6b032a",152:"fa2b4008",195:"a378cd78",368:"0c1be569",389:"85974226",436:"87a6d5b5",518:"ced71ed2",572:"db095a7b",611:"642631a9",661:"45614d50",671:"409453a8",684:"053db02c",772:"0de9f8d7",794:"cd3f3cd5",817:"d537991f",874:"974ea71b",918:"04540cd1"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="docs:",c.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,i;if(void 0!==r)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var b=d[u];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")==o+r){f=b;break}}f||(i=!0,(f=document.createElement("script")).charset="utf-8",f.timeout=120,c.nc&&f.setAttribute("nonce",c.nc),f.setAttribute("data-webpack",o+r),f.src=e),a[e]=[t];var l=(t,r)=>{f.onerror=f.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),i&&document.head.appendChild(f)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/bracket/",c.gca=function(e){return e={17896441:"918",fbd7a87c:"39","935f2afb":"53",bf6dd32c:"94","54f44165":"152",c4f5d8e4:"195",a94703ab:"368",aa772da0:"389","009f1e98":"436",a7bd4aaa:"518","5e95c892":"661","0e384e19":"671",e88453fb:"794","14eb3368":"817"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=c.p+c.u(t),f=new Error;c.l(n,(r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],i=r[2],d=0;if(n.some((t=>0!==e[t]))){for(a in f)c.o(f,a)&&(c.m[a]=f[a]);if(i)var u=i(c)}for(t&&t(r);d<n.length;d++)o=n[d],c.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return c.O(u)},r=self.webpackChunkdocs=self.webpackChunkdocs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})()})();
|
||||
@@ -1 +0,0 @@
|
||||
(()=>{"use strict";var e,t,r,a,o,n={},f={};function i(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={exports:{}};return n[e].call(r.exports,r,r.exports,i),r.exports}i.m=n,e=[],i.O=(t,r,a,o)=>{if(!r){var n=1/0;for(b=0;b<e.length;b++){r=e[b][0],a=e[b][1],o=e[b][2];for(var f=!0,c=0;c<r.length;c++)(!1&o||n>=o)&&Object.keys(i.O).every((e=>i.O[e](r[c])))?r.splice(c--,1):(f=!1,o<n&&(n=o));if(f){e.splice(b--,1);var d=a();void 0!==d&&(t=d)}}return t}o=o||0;for(var b=e.length;b>0&&e[b-1][2]>o;b--)e[b]=e[b-1];e[b]=[r,a,o]},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,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&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(o,n),o},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/"+({39:"fbd7a87c",53:"935f2afb",94:"bf6dd32c",152:"54f44165",195:"c4f5d8e4",368:"a94703ab",389:"aa772da0",436:"009f1e98",518:"a7bd4aaa",661:"5e95c892",671:"0e384e19",794:"e88453fb",817:"14eb3368",918:"17896441"}[e]||e)+"."+{39:"acbfcfda",53:"f0f06195",94:"4d6b032a",152:"f8834110",195:"a2971654",368:"0c1be569",389:"85974226",436:"fee94318",518:"ced71ed2",572:"db095a7b",611:"642631a9",661:"45614d50",671:"409453a8",684:"053db02c",772:"0de9f8d7",794:"e2f46da5",817:"d537991f",874:"974ea71b",918:"04540cd1"}[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),a={},o="docs:",i.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,c;if(void 0!==r)for(var d=document.getElementsByTagName("script"),b=0;b<d.length;b++){var u=d[b];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+r){f=u;break}}f||(c=!0,(f=document.createElement("script")).charset="utf-8",f.timeout=120,i.nc&&f.setAttribute("nonce",i.nc),f.setAttribute("data-webpack",o+r),f.src=e),a[e]=[t];var l=(t,r)=>{f.onerror=f.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.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",fbd7a87c:"39","935f2afb":"53",bf6dd32c:"94","54f44165":"152",c4f5d8e4:"195",a94703ab:"368",aa772da0:"389","009f1e98":"436",a7bd4aaa:"518","5e95c892":"661","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 a=i.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=i.p+i.u(t),f=new Error;i.l(n,(r=>{if(i.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],c=r[2],d=0;if(n.some((t=>0!==e[t]))){for(a in f)i.o(f,a)&&(i.m[a]=f[a]);if(c)var b=c(i)}for(t&&t(r);d<n.length;d++)o=n[d],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return i.O(b)},r=self.webpackChunkdocs=self.webpackChunkdocs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})()})();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -4,8 +4,8 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="generator" content="Docusaurus v3.0.0">
|
||||
<title data-rh="true">Introduction | Bracket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" name="twitter:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/bracket/docs/intro"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Introduction | Bracket"><meta data-rh="true" name="description" content="Bracket is a tournament system meant to be easy to use. Bracket"><meta data-rh="true" property="og:description" content="Bracket is a tournament system meant to be easy to use. Bracket"><link data-rh="true" rel="icon" href="/bracket/img/logo.svg"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/bracket/docs/intro"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/docs/intro" hreflang="en"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/docs/intro" hreflang="x-default"><link rel="stylesheet" href="/bracket/assets/css/styles.b5152765.css">
|
||||
<script src="/bracket/assets/js/runtime~main.ca7f1433.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/main.41deee3b.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/runtime~main.08ce85d7.js" defer="defer"></script>
|
||||
<script src="/bracket/assets/js/main.92864343.js" defer="defer"></script>
|
||||
</head>
|
||||
<body class="navigation-with-keyboard">
|
||||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/bracket/"><div class="navbar__logo"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Bracket</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/bracket/docs/intro">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="navbarSearchContainer_Bca1"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/bracket/docs/intro">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/bracket/docs/category/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/bracket/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Introduction</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Introduction</h1>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
lunr-index-1701118060608.json
Normal file
1
lunr-index-1701118060608.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user