Files
bracket/index.html

37 lines
79 KiB
HTML

<!DOCTYPE html><html lang="en" dir="ltr" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/ef867125344a7121.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b00e1efaf312b06b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ed7dade74268d0f8.js"/><script src="/_next/static/chunks/4bd1b696-bf1099f1f06de6aa.js" async=""></script><script src="/_next/static/chunks/684-4bea65f597621abc.js" async=""></script><script src="/_next/static/chunks/main-app-bf6d147ced20dd11.js" async=""></script><script src="/_next/static/chunks/992-da306a535e233aef.js" async=""></script><script src="/_next/static/chunks/473-b44808edc5e5750f.js" async=""></script><script src="/_next/static/chunks/app/page-71ed905eb6aa913b.js" async=""></script><script src="/_next/static/chunks/c16f53c3-0f690431eda1568e.js" async=""></script><script src="/_next/static/chunks/863-65b7ef461725c1d4.js" async=""></script><script src="/_next/static/chunks/188-9b5a23d4a5b2a9bf.js" async=""></script><script src="/_next/static/chunks/app/layout-8d9f5321477f1b35.js" async=""></script><script async="" src="https://analytics.bracketapp.nl/script.js" data-website-id="9c5b1839-5cbd-4d04-b95b-a217838898a9" data-domains="docs.bracketapp.nl"></script><meta name="theme-color" media="(prefers-color-scheme: light)" content="rgb(250,250,250)"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="rgb(17,17,17)"/><link rel="icon" href="/favicon.svg"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="rgb(250,250,250)"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="rgb(17,17,17)"/><title>Bracket | Open-source tournament system</title><meta name="description" content="Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings."/><meta property="og:title" content="Bracket | Open-source tournament system"/><meta property="og:description" content="Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings."/><meta property="og:url" content="https://docs.bracketapp.nl"/><meta property="og:site_name" content="Bracket"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://docs.bracketapp.nl/bracket-social-image.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Bracket | Open-source tournament system"/><meta name="twitter:description" content="Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings."/><meta name="twitter:image" content="https://docs.bracketapp.nl/bracket-social-image.png"/><style>:root {
--nextra-primary-hue: 212deg;
--nextra-primary-saturation: 100%;
--nextra-primary-lightness: 45%;
--nextra-bg: 250,250,250;
--nextra-content-width: 90rem;
}
.dark {
--nextra-primary-hue: 204deg;
--nextra-primary-saturation: 100%;
--nextra-primary-lightness: 55%;
--nextra-bg: 17,17,17;
}
::selection {
background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);
}
html {
background: rgb(var(--nextra-bg));
}</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><script>((e,t,r,n,o,a,i,s)=>{let l=document.documentElement,u=["light","dark"];function c(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&a?o.map(e=>a[e]||e):o;r?(l.classList.remove(...n),l.classList.add(t)):l.setAttribute(e,t)}),r=t,s&&u.includes(r)&&(l.style.colorScheme=r)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("class","theme","system",null,["light","dark"],null,true,true)</script><a href="#nextra-skip-nav" class="nextra-skip-nav x:sr-only" type="button" data-headlessui-state="">Skip to Content</a><header class="nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&amp;]:top-(--nextra-banner-height)"><div class="nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"></div><nav style="height:var(--nextra-navbar-height)" class="x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end"><a class="x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75" href="/"><img alt="Preview of Bracket" loading="lazy" width="36" height="36" decoding="async" data-nimg="1" class="mr-2" style="color:transparent" src="/_next/static/media/logo.a521d262.svg"/><b class="text-3xl">Bracket</b></a><div class="x:flex x:gap-4 x:overflow-x-auto nextra-scrollbar x:py-1.5 x:max-md:hidden"></div><div class="x:max-md:hidden"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" class="x:rounded-lg x:px-3 x:py-2 x:transition-colors x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-500 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&amp;::-webkit-search-cancel-button]:appearance-none" autoComplete="off" placeholder="Search documentation…" id="headlessui-combobox-input-«R5ml7lb»" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div></div><a href="https://github.com/evroon/bracket" target="_blank" rel="noreferrer" class="x:focus-visible:nextra-focus"><svg fill="currentColor" viewBox="3 3 18 18" height="24"><path d="M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"></path></svg></a><button class="x:transition x:cursor-pointer nextra-hamburger x:md:hidden" aria-label="Menu" type="button" data-headlessui-state=""><svg viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" height="24" class=""><g><path d="M4 6h16"></path></g><path d="M4 12h16"></path><g><path d="M4 18h16"></path></g></svg></button></nav></header><aside class="nextra-mobile-nav x:flex x:flex-col x:fixed x:inset-0 x:pt-(--nextra-navbar-height) x:z-20 x:overscroll-contain x:[contain:layout_style] x:md:hidden x:[.nextra-banner:not([class$=hidden])~&amp;]:pt-[calc(var(--nextra-banner-height)+var(--nextra-navbar-height))] x:bg-nextra-bg x:[transform:translate3d(0,-100%,0)]"><div class="x:px-4 x:pt-4"><div class="nextra-search x:relative x:flex x:items-center x:text-gray-900 x:dark:text-gray-300 x:contrast-more:text-gray-800 x:contrast-more:dark:text-gray-300"><input spellCheck="false" class="x:rounded-lg x:px-3 x:py-2 x:transition-colors x:w-full x:md:w-64 x:text-base x:leading-tight x:md:text-sm x:bg-black/[.05] x:dark:bg-gray-50/10 x:placeholder:text-gray-500 x:dark:placeholder:text-gray-400 x:contrast-more:border x:contrast-more:border-current x:[&amp;::-webkit-search-cancel-button]:appearance-none" autoComplete="off" placeholder="Search documentation…" id="headlessui-combobox-input-«Rmqrlb»" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div></div><ul class="x:grid x:gap-1 x:p-4 x:overflow-y-auto nextra-scrollbar nextra-mask"><li class="active"><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:bg-primary-100 x:font-semibold x:text-primary-800 x:dark:bg-primary-400/10 x:dark:text-primary-600 x:contrast-more:border-primary-500!" href="/">Bracket | Open-source tournament system</a></li><li class="open"><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs" type="button" data-headlessui-state="">Docs<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180 x:*:ltr:rotate-90 x:*:rtl:-rotate-270"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-100" style="transition-duration:500ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[&quot;&quot;] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs">Introduction</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/api">API</a></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/community" type="button" data-headlessui-state="">Community<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[&quot;&quot;] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/contributing">Contributing</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/community/development">Development</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/deployment" type="button" data-headlessui-state="">Deployment<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[&quot;&quot;] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment">Deployment</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/cloud-services">Cloud services</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/docker">Docker</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/nomad">Nomad</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/deployment/systemd">Systemd</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/running-bracket" type="button" data-headlessui-state="">Running Bracket<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[&quot;&quot;] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/configuration">Configuration</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/faq">FAQ</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/running-bracket/quickstart">Quickstart</a></li></ul></div></li><li class=""><button class="x:transition x:cursor-pointer x:items-center x:justify-between x:gap-2 x:text-start x:w-full x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" data-href="/docs/usage" type="button" data-headlessui-state="">Usage<svg viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" height="18" class="x:shrink-0 x:rounded-sm x:p-0.5 x:hover:bg-gray-800/5 x:dark:hover:bg-gray-100/5 x:motion-reduce:*:transition-none x:*:origin-center x:*:transition-transform x:*:rtl:-rotate-180"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="x:transform-gpu x:transition-all x:ease-in-out x:motion-reduce:transition-none x:opacity-0 x:overflow-hidden" style="height:0;transition-duration:300ms"><ul class="x:grid x:gap-1 x:relative x:before:absolute x:before:inset-y-1 x:before:w-px x:before:bg-gray-200 x:before:content-[&quot;&quot;] x:dark:before:bg-neutral-800 x:ps-3 x:before:start-0 x:pt-1 x:ms-3"><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/usage/guide">Usage guide</a></li><li class=""><a class="x:focus-visible:nextra-focus x:flex x:rounded x:px-2 x:py-1.5 x:text-sm x:transition-colors x:[word-break:break-word] x:cursor-pointer x:contrast-more:border x:text-gray-500 x:hover:bg-gray-100 x:hover:text-gray-900 x:dark:text-neutral-400 x:dark:hover:bg-primary-100/5 x:dark:hover:text-gray-50 x:contrast-more:text-gray-900 x:contrast-more:dark:text-gray-50 x:contrast-more:border-transparent x:contrast-more:hover:border-gray-900 x:contrast-more:dark:hover:border-gray-50" href="/docs/usage/terminology">Terminology</a></li></ul></div></li></ul></div></li></ul><div class="nextra-sidebar-footer x:border-t nextra-border x:flex x:items-center x:gap-2 x:py-4 x:mx-4 x:mt-auto"><button title="Change theme" class="x:cursor-pointer x:h-7 x:rounded-md x:px-2 x:text-xs x:font-medium x:transition-colors x:text-gray-600 x:dark:text-gray-400 x:flex x:items-center x:gap-2 x:grow" id="headlessui-listbox-button-«Rrerlb»" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><svg fill="currentColor" viewBox="2 2 20 20" stroke="currentColor" height="12"><path stroke-linecap="round" stroke-width="2" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg>Light</button></div></aside><head><script type="application/ld+json">{"@context": "https://schema.org","@type": "WebSite","name": "Bracket","alternativeName": ["Bracket | Open-source tournament system", "Bracket documentation", "docs.bracketapp.nl"],"url": "https://docs.bracketapp.nl"}</script><style>:root {
--nextra-primary-hue: 212deg;
--nextra-primary-saturation: 100%;
--nextra-primary-lightness: 45%;
--nextra-bg: 250,250,250;
--nextra-content-width: 90rem;
}
.dark {
--nextra-primary-hue: 204deg;
--nextra-primary-saturation: 100%;
--nextra-primary-lightness: 55%;
--nextra-bg: 17,17,17;
}
::selection {
background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);
}
html {
background: rgb(var(--nextra-bg));
}</style></head><section class="container place-items-center py-20 md:py-24 gap-10"><div class="text-center lg:text-start space-y-6"><main class="text-5xl md:text-6xl font-bold"><h1 class="inline">Free and open-source tournament management</h1></main><p class="text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0">Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public.</p><div class="space-y-4 md:space-y-0 md:space-x-4"><a class="w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2" href="https://www.bracketapp.nl/demo"><svg xmlns="http://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-rocket " style="margin-right:0.5rem;height:32px"><path d="M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"></path><path d="M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"></path><path d="M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path></svg>Launch Demo</a><a class="w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-library " style="margin-right:0.5rem;height:32px"><path d="M7 3m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z"></path><path d="M4.012 7.26a2.005 2.005 0 0 0 -1.012 1.737v10c0 1.1 .9 2 2 2h10c.75 0 1.158 -.385 1.5 -1"></path><path d="M11 7h5"></path><path d="M11 10h6"></path><path d="M11 13h3"></path></svg>Read the docs</a></div></div><div class="shadow-sm"></div></section><section class="container place-items-center py-20"><img alt="Design of the Bracket dashboard" loading="lazy" width="1000" height="1000" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/bracket-screenshot-design.61232b01.png"/></section><section id="about" class="container py-16"><div class="bg-muted/50 border border-border rounded-lg py-12"><div class="px-6 flex flex-col-reverse md:flex-row gap-8 md:gap-12"><div class="bg-green-0 flex flex-col justify-between"><h2 class="text-3xl md:text-4xl font-bold"><span class="bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text">About<!-- --> </span>Bracket</h2><p class="text-xl text-muted-foreground mt-4">There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use.</p></div></div></div></section><section id="howItWorks" class="container text-center py-24 sm:py-32"><h2 class="text-3xl md:text-4xl font-bold ">How It<!-- --> <span class="bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text">Works<!-- --> </span></h2><p class="md:w-3/4 mx-auto mt-4 mb-8 text-xl text-muted-foreground"></p><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8"><div class="rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50"><div class="flex flex-col space-y-1.5 p-6"><h3 class="text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center"><svg stroke="currentColor" fill="#a581e9" stroke-width="0" viewBox="0 0 24 24" height="64" width="64" xmlns="http://www.w3.org/2000/svg"><path d="M12 10C14.2091 10 16 8.20914 16 6 16 3.79086 14.2091 2 12 2 9.79086 2 8 3.79086 8 6 8 8.20914 9.79086 10 12 10ZM5.5 13C6.88071 13 8 11.8807 8 10.5 8 9.11929 6.88071 8 5.5 8 4.11929 8 3 9.11929 3 10.5 3 11.8807 4.11929 13 5.5 13ZM21 10.5C21 11.8807 19.8807 13 18.5 13 17.1193 13 16 11.8807 16 10.5 16 9.11929 17.1193 8 18.5 8 19.8807 8 21 9.11929 21 10.5ZM12 11C14.7614 11 17 13.2386 17 16V22H7V16C7 13.2386 9.23858 11 12 11ZM5 15.9999C5 15.307 5.10067 14.6376 5.28818 14.0056L5.11864 14.0204C3.36503 14.2104 2 15.6958 2 17.4999V21.9999H5V15.9999ZM22 21.9999V17.4999C22 15.6378 20.5459 14.1153 18.7118 14.0056 18.8993 14.6376 19 15.307 19 15.9999V21.9999H22Z"></path></svg>Add teams</h3></div><div class="p-6 pt-0">Register teams (and optionally players). You can upload a CSV file with all teams and players at once.</div></div><div class="rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50"><div class="flex flex-col space-y-1.5 p-6"><h3 class="text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center"><svg stroke="currentColor" fill="#a581e9" stroke-width="0" viewBox="0 0 256 256" height="64" width="64" xmlns="http://www.w3.org/2000/svg"><path d="M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z"></path></svg>Choose format</h3></div><div class="p-6 pt-0">Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported.</div></div><div class="rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50"><div class="flex flex-col space-y-1.5 p-6"><h3 class="text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center"><svg stroke="currentColor" fill="#a581e9" stroke-width="0" viewBox="0 0 16 16" height="64" width="64" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z"></path><path d="M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z"></path></svg>Schedule matches</h3></div><div class="p-6 pt-0">Use the drag&amp;drop interface to choose the courts and start times of the matches.</div></div><div class="rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50"><div class="flex flex-col space-y-1.5 p-6"><h3 class="text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center"><svg stroke="currentColor" fill="#a581e9" stroke-width="0" viewBox="0 0 24 24" height="64" width="64" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M18 9h-2.5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1H18c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-.5 4.5H16v-3h1.5v3zm-8 1.5H5v-2.5c0-.55.45-1 1-1h2v-1H5V9h3.5c.55 0 1 .45 1 1v1.5c0 .55-.45 1-1 1h-2v1h3V15zm3.25-4h-1.5V9.5h1.5V11zm0 3.5h-1.5V13h1.5v1.5zM22 6v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h3V2h2v2h6V2h2v2h3c1.1 0 2 .9 2 2zm-2 12V6h-7.25v1.5h-1.5V6H4v12h7.25v-1.5h1.5V18H20z"></path></svg>Track scores &amp; publish</h3></div><div class="p-6 pt-0">Enter the scores, customize the ranking and show it to the world on a dashboard.</div></div></div></section><section class="container py-16"><div class="grid lg:grid-cols-[1fr_1fr] gap-8 place-items-center"><div><h2 class="text-3xl md:text-4xl font-bold">Features</h2><p class="text-muted-foreground text-xl mt-4 mb-8 ">Bracket is flexible, yet feature-rich.</p><div class="flex flex-col gap-8"><div class="rounded-lg border border-border bg-card text-card-foreground shadow-xs"><div class="flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4"><div class="mt-1 bg-primary/50 p-1 rounded-2xl"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="48" width="48" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path></svg></div><div><h3 class="text-2xl font-semibold leading-none tracking-tight">Public Dashboard</h3><p class="text-muted-foreground text-md mt-2">Show the schedule and rankings to the public.</p></div></div></div><div class="rounded-lg border border-border bg-card text-card-foreground shadow-xs"><div class="flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4"><div class="mt-1 bg-primary/50 p-1 rounded-2xl"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" height="48" width="48" xmlns="http://www.w3.org/2000/svg"><path fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M393.87 190a32.1 32.1 0 0 1-45.25 0l-26.57-26.57a32.09 32.09 0 0 1 0-45.26L382.19 58a1 1 0 0 0-.3-1.64c-38.82-16.64-89.15-8.16-121.11 23.57-30.58 30.35-32.32 76-21.12 115.84a31.93 31.93 0 0 1-9.06 32.08L64 380a48.17 48.17 0 1 0 68 68l153.86-167a31.93 31.93 0 0 1 31.6-9.13c39.54 10.59 84.54 8.6 114.72-21.19 32.49-32 39.5-88.56 23.75-120.93a1 1 0 0 0-1.6-.26z"></path><circle cx="96" cy="416" r="16"></circle></svg></div><div><h3 class="text-2xl font-semibold leading-none tracking-tight">Flexible Tournament Builder</h3><p class="text-muted-foreground text-md mt-2">Add multiple swiss, single elimination and round-robin elements to the tournament.</p></div></div></div><div class="rounded-lg border border-border bg-card text-card-foreground shadow-xs"><div class="flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4"><div class="mt-1 bg-primary/50 p-1 rounded-2xl"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="48" width="48" xmlns="http://www.w3.org/2000/svg"><path d="M16 13L22.9641 17.0622L19.9913 17.9129L22.116 21.5933L20.384 22.5933L18.2592 18.9129L16.0359 21.0622L16 13ZM14 6H16V8H21C21.5523 8 22 8.44772 22 9V13H20V10H10V20H14V22H9C8.44772 22 8 21.5523 8 21V16H6V14H8V9C8 8.44772 8.44772 8 9 8H14V6ZM4 14V16H2V14H4ZM4 10V12H2V10H4ZM4 6V8H2V6H4ZM4 2V4H2V2H4ZM8 2V4H6V2H8ZM12 2V4H10V2H12ZM16 2V4H14V2H16Z"></path></svg></div><div><h3 class="text-2xl font-semibold leading-none tracking-tight">Drag &amp; Drop Interface</h3><p class="text-muted-foreground text-md mt-2">Drag-and-drop matches to different courts or reschedule them to another start time.</p></div></div></div></div></div><img alt="About services" loading="lazy" width="200" height="200" decoding="async" data-nimg="1" class="w-[500px] md:w-[600px] lg:w-[700px] pt-15 lg:pt-25 object-contain" style="color:transparent" src="/_next/static/media/builder_preview.78c96554.png"/></div></section><section id="cta" class="bg-muted/50 py-16 my-24 sm:my-32"><div class="container lg:grid lg:grid-cols-2 place-items-center"><div class="lg:col-start-1"><h2 class="text-3xl md:text-4xl font-bold ">Take<span class="bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text"> <!-- -->control<!-- --> </span>of your tournaments</h2><p class="text-muted-foreground text-xl mt-4 mb-8 lg:mb-0">Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent &amp; open-source software.</p></div><a class="w-full md:w-auto inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2" href="https://www.bracketapp.nl/demo"><svg xmlns="http://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-rocket " style="margin-right:0.5rem;height:32px"><path d="M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"></path><path d="M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"></path><path d="M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path></svg>Launch Demo</a></div></section><footer id="footer"><hr class="w-11/12 mx-auto"/><section class="container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8"><div class="col-span-full xl:col-span-2"><a class="font-bold text-xl flex" href="/"><img alt="Logo of Bracket" loading="lazy" width="36" height="36" decoding="async" data-nimg="1" class="mr-2" style="color:transparent" src="/_next/static/media/logo.a521d262.svg"/><b class="text-3xl">Bracket</b></a></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Intro</h3><div><a class="opacity-60 hover:opacity-100" href="/docs">Introduction</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/quickstart">Quickstart</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Running Bracket</h3><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/configuration">Configuration</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/deployment">Deployment</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">About</h3><div><a class="opacity-60 hover:opacity-100" href="/docs/usage/guide">Usage</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/running-bracket/faq">FAQ</a></div><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket/blob/master/LICENSE">License</a></div><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket/releases">Releases</a></div></div><div class="flex flex-col gap-2"><h3 class="font-bold text-lg">Community</h3><div><a class="opacity-60 hover:opacity-100" href="https://github.com/evroon/bracket">GitHub</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/community/contributing">Contributing</a></div><div><a class="opacity-60 hover:opacity-100" href="/docs/community/development">Development</a></div></div></section><section class="container pb-14 text-center"><h3>Bracket - Open-source Tournament System.<br/>Licensed under AGPL-v3.0. Copyright © <!-- -->2025<!-- --> <!-- -->Bracket. Built with Nextra.</h3></section></footer><script src="/_next/static/chunks/webpack-ed7dade74268d0f8.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[6874,[\"992\",\"static/chunks/992-da306a535e233aef.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"974\",\"static/chunks/app/page-71ed905eb6aa913b.js\"],\"\"]\n4:I[3063,[\"992\",\"static/chunks/992-da306a535e233aef.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"974\",\"static/chunks/app/page-71ed905eb6aa913b.js\"],\"Image\"]\n5:I[9665,[],\"OutletBoundary\"]\n8:I[9665,[],\"ViewportBoundary\"]\na:I[9665,[],\"MetadataBoundary\"]\nc:I[6614,[],\"\"]\n:HL[\"/_next/static/css/ef867125344a7121.css\",\"style\"]\n:HL[\"/_next/static/css/b00e1efaf312b06b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"zjykv47ZpuS61enK0Cp0Z\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ef867125344a7121.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b00e1efaf312b06b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"children\":\"{\\\"@context\\\": \\\"https://schema.org\\\",\\\"@type\\\": \\\"WebSite\\\",\\\"name\\\": \\\"Bracket\\\",\\\"alternativeName\\\": [\\\"Bracket | Open-source tournament system\\\", \\\"Bracket documentation\\\", \\\"docs.bracketapp.nl\\\"],\\\"url\\\": \\\"https://docs.bracketapp.nl\\\"}\"}],[\"$\",\"style\",null,{\"children\":\":root {\\n --nextra-primary-hue: 212deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 45%;\\n --nextra-bg: 250,250,250;\\n --nextra-content-width: 90rem;\\n}\\n.dark {\\n --nextra-primary-hue: 204deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 55%;\\n --nextra-bg: 17,17,17;\\n}\\n::selection {\\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\\n}\\nhtml {\\n background: rgb(var(--nextra-bg));\\n}\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"rgb(250,250,250)\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"rgb(17,17,17)\"}],\"$undefined\"]}],[\"$\",\"section\",null,{\"className\":\"container place-items-center py-20 md:py-24 gap-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-center lg:text-start space-y-6\",\"children\":[[\"$\",\"main\",null,{\"className\":\"text-5xl md:text-6xl font-bold\",\"children\":[\"$\",\"h1\",null,{\"className\":\"inline\",\"children\":\"Free and open-source tournament management\"}]}],[\"$\",\"p\",null,{\"className\":\"text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0\",\"children\":\"Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public.\"}],[\"$\",\"div\",null,{\"className\":\"space-y-4 md:space-y-0 md:space-x-4\",\"children\":[[\"$\",\"$L3\",null,{\"href\":\"https://www.bracketapp.nl/demo\",\"className\":\"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-rocket \",\"style\":{\"marginRight\":\"0.5rem\",\"height\":\"32px\"},\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}],\"$undefined\"]}],\"Launch Demo\"]}],[\"$\",\"$L3\",null,{\"href\":\"/docs\",\"className\":\"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24px\",\"height\":\"24px\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-library \",\"style\":{\"marginRight\":\"0.5rem\",\"height\":\"32px\"},\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M7 3m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4.012 7.26a2.005 2.005 0 0 0 -1.012 1.737v10c0 1.1 .9 2 2 2h10c.75 0 1.158 -.385 1.5 -1\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M11 7h5\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M11 10h6\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M11 13h3\"}],\"$undefined\"]}],\"Read the docs\"]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"shadow-sm\"}]]}],[\"$\",\"section\",null,{\"className\":\"container place-items-center py-20\",\"children\":[\"$\",\"$L4\",null,{\"alt\":\"Design of the Bracket dashboard\",\"src\":\"/_next/static/media/bracket-screenshot-design.61232b01.png\",\"width\":1000,\"height\":1000}]}],[\"$\",\"section\",null,{\"id\":\"about\",\"className\":\"container py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"bg-muted/50 border border-border rounded-lg py-12\",\"children\":[\"$\",\"div\",null,{\"className\":\"px-6 flex flex-col-reverse md:flex-row gap-8 md:gap-12\",\"children\":[\"$\",\"div\",null,{\"className\":\"bg-green-0 flex flex-col justify-between\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-bold\",\"children\":[[\"$\",\"span\",null,{\"className\":\"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text\",\"children\":[\"About\",\" \"]}],\"Bracket\"]}],[\"$\",\"p\",null,{\"className\":\"text-xl text-muted-foreground mt-4\",\"children\":\"There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use.\"}]]}]}]}]}],[\"$\",\"section\",null,{\"id\":\"howItWorks\",\"className\":\"container text-center py-24 sm:py-32\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-bold \",\"children\":[\"How It\",\" \",[\"$\",\"span\",null,{\"className\":\"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text\",\"children\":[\"Works\",\" \"]}]]}],[\"$\",\"p\",null,{\"className\":\"md:w-3/4 mx-auto mt-4 mb-8 text-xl text-muted-foreground\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8\",\"children\":[[\"$\",\"div\",\"Add teams\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-6\",\"children\":[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center\",\"children\":[[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"#a581e9\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"d\":\"M12 10C14.2091 10 16 8.20914 16 6 16 3.79086 14.2091 2 12 2 9.79086 2 8 3.79086 8 6 8 8.20914 9.79086 10 12 10ZM5.5 13C6.88071 13 8 11.8807 8 10.5 8 9.11929 6.88071 8 5.5 8 4.11929 8 3 9.11929 3 10.5 3 11.8807 4.11929 13 5.5 13ZM21 10.5C21 11.8807 19.8807 13 18.5 13 17.1193 13 16 11.8807 16 10.5 16 9.11929 17.1193 8 18.5 8 19.8807 8 21 9.11929 21 10.5ZM12 11C14.7614 11 17 13.2386 17 16V22H7V16C7 13.2386 9.23858 11 12 11ZM5 15.9999C5 15.307 5.10067 14.6376 5.28818 14.0056L5.11864 14.0204C3.36503 14.2104 2 15.6958 2 17.4999V21.9999H5V15.9999ZM22 21.9999V17.4999C22 15.6378 20.5459 14.1153 18.7118 14.0056 18.8993 14.6376 19 15.307 19 15.9999V21.9999H22Z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":64,\"width\":64,\"xmlns\":\"http://www.w3.org/2000/svg\"}],\"Add teams\"]}]}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"p-6 pt-0\",\"children\":\"Register teams (and optionally players). You can upload a CSV file with all teams and players at once.\"}]]}],[\"$\",\"div\",\"Choose format\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-6\",\"children\":[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center\",\"children\":[[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"#a581e9\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 256 256\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"d\":\"M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":64,\"width\":64,\"xmlns\":\"http://www.w3.org/2000/svg\"}],\"Choose format\"]}]}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"p-6 pt-0\",\"children\":\"Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported.\"}]]}],[\"$\",\"div\",\"Schedule matches\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-6\",\"children\":[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center\",\"children\":[[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"#a581e9\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 16 16\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z\",\"children\":[]}],[\"$\",\"path\",\"1\",{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":64,\"width\":64,\"xmlns\":\"http://www.w3.org/2000/svg\"}],\"Schedule matches\"]}]}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"p-6 pt-0\",\"children\":\"Use the drag\u0026drop interface to choose the courts and start times of the matches.\"}]]}],[\"$\",\"div\",\"Track scores \u0026 publish\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-6\",\"children\":[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center\",\"children\":[[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"#a581e9\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\",\"children\":[]}],[\"$\",\"path\",\"1\",{\"d\":\"M18 9h-2.5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1H18c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-.5 4.5H16v-3h1.5v3zm-8 1.5H5v-2.5c0-.55.45-1 1-1h2v-1H5V9h3.5c.55 0 1 .45 1 1v1.5c0 .55-.45 1-1 1h-2v1h3V15zm3.25-4h-1.5V9.5h1.5V11zm0 3.5h-1.5V13h1.5v1.5zM22 6v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h3V2h2v2h6V2h2v2h3c1.1 0 2 .9 2 2zm-2 12V6h-7.25v1.5h-1.5V6H4v12h7.25v-1.5h1.5V18H20z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":64,\"width\":64,\"xmlns\":\"http://www.w3.org/2000/svg\"}],\"Track scores \u0026 publish\"]}]}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"p-6 pt-0\",\"children\":\"Enter the scores, customize the ranking and show it to the world on a dashboard.\"}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"container py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid lg:grid-cols-[1fr_1fr] gap-8 place-items-center\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-bold\",\"children\":\"Features\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xl mt-4 mb-8 \",\"children\":\"Bracket is flexible, yet feature-rich.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-8\",\"children\":[[\"$\",\"div\",\"Public Dashboard\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border bg-card text-card-foreground shadow-xs\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mt-1 bg-primary/50 p-1 rounded-2xl\",\"children\":[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"currentColor\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\",\"children\":[]}],[\"$\",\"path\",\"1\",{\"d\":\"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":48,\"width\":48,\"xmlns\":\"http://www.w3.org/2000/svg\"}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight\",\"children\":\"Public Dashboard\"}],[\"$\",\"p\",null,{\"ref\":\"$undefined\",\"className\":\"text-muted-foreground text-md mt-2\",\"children\":\"Show the schedule and rankings to the public.\"}]]}]]}]}],[\"$\",\"div\",\"Flexible Tournament Builder\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border bg-card text-card-foreground shadow-xs\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mt-1 bg-primary/50 p-1 rounded-2xl\",\"children\":[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"currentColor\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 512 512\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M393.87 190a32.1 32.1 0 0 1-45.25 0l-26.57-26.57a32.09 32.09 0 0 1 0-45.26L382.19 58a1 1 0 0 0-.3-1.64c-38.82-16.64-89.15-8.16-121.11 23.57-30.58 30.35-32.32 76-21.12 115.84a31.93 31.93 0 0 1-9.06 32.08L64 380a48.17 48.17 0 1 0 68 68l153.86-167a31.93 31.93 0 0 1 31.6-9.13c39.54 10.59 84.54 8.6 114.72-21.19 32.49-32 39.5-88.56 23.75-120.93a1 1 0 0 0-1.6-.26z\",\"children\":[]}],[\"$\",\"circle\",\"1\",{\"cx\":\"96\",\"cy\":\"416\",\"r\":\"16\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":48,\"width\":48,\"xmlns\":\"http://www.w3.org/2000/svg\"}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight\",\"children\":\"Flexible Tournament Builder\"}],[\"$\",\"p\",null,{\"ref\":\"$undefined\",\"className\":\"text-muted-foreground text-md mt-2\",\"children\":\"Add multiple swiss, single elimination and round-robin elements to the tournament.\"}]]}]]}]}],[\"$\",\"div\",\"Drag \u0026 Drop Interface\",{\"ref\":\"$undefined\",\"className\":\"rounded-lg border border-border bg-card text-card-foreground shadow-xs\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mt-1 bg-primary/50 p-1 rounded-2xl\",\"children\":[\"$\",\"svg\",null,{\"stroke\":\"currentColor\",\"fill\":\"currentColor\",\"strokeWidth\":\"0\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$undefined\",[[\"$\",\"path\",\"0\",{\"d\":\"M16 13L22.9641 17.0622L19.9913 17.9129L22.116 21.5933L20.384 22.5933L18.2592 18.9129L16.0359 21.0622L16 13ZM14 6H16V8H21C21.5523 8 22 8.44772 22 9V13H20V10H10V20H14V22H9C8.44772 22 8 21.5523 8 21V16H6V14H8V9C8 8.44772 8.44772 8 9 8H14V6ZM4 14V16H2V14H4ZM4 10V12H2V10H4ZM4 6V8H2V6H4ZM4 2V4H2V2H4ZM8 2V4H6V2H8ZM12 2V4H10V2H12ZM16 2V4H14V2H16Z\",\"children\":[]}]]],\"className\":\"$undefined\",\"style\":{\"color\":\"$undefined\"},\"height\":48,\"width\":48,\"xmlns\":\"http://www.w3.org/2000/svg\"}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"ref\":\"$undefined\",\"className\":\"text-2xl font-semibold leading-none tracking-tight\",\"children\":\"Drag \u0026 Drop Interface\"}],[\"$\",\"p\",null,{\"ref\":\"$undefined\",\"className\":\"text-muted-foreground text-md mt-2\",\"children\":\"Drag-and-drop matches to different courts or reschedule them to another start time.\"}]]}]]}]}]]}]]}],[\"$\",\"$L4\",null,{\"width\":200,\"height\":200,\"src\":\"/_next/static/media/builder_preview.78c96554.png\",\"className\":\"w-[500px] md:w-[600px] lg:w-[700px] pt-15 lg:pt-25 object-contain\",\"alt\":\"About services\"}]]}]}],[\"$\",\"section\",null,{\"id\":\"cta\",\"className\":\"bg-muted/50 py-16 my-24 sm:my-32\",\"children\":[\"$\",\"div\",null,{\"className\":\"container lg:grid lg:grid-cols-2 place-items-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"lg:col-start-1\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-bold \",\"children\":[\"Take\",[\"$\",\"span\",null,{\"className\":\"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text\",\"children\":[\" \",\"control\",\" \"]}],\"of your tournaments\"]}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xl mt-4 mb-8 lg:mb-0\",\"children\":\"Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent \u0026 open-source software.\"}]]}],[\"$\",\"$L3\",null,{\"href\":\"https://www.bracketapp.nl/demo\",\"className\":\"w-full md:w-auto inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"32px\",\"height\":\"32px\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-rocket \",\"style\":{\"marginRight\":\"0.5rem\",\"height\":\"32px\"},\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}],\"$undefined\"]}],\"Launch Demo\"]}]]}]}]],\"$undefined\",null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",\"$L7\",null]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"NPKGA_0YZJskASkZ4NEsK\",{\"children\":[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null]}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:I[5776,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"ThemeConfigProvider\"]\ne:I[6666,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"LastUpdated\"]\nf:I[145,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"Search\"]\n10:I[1362,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"ThemeProvider\"]\n11:I[6221,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"SkipNavLink\"]\n12:I[8845,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"ConfigProvider\"]\n13:I[5109,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\","])</script><script>self.__next_f.push([1,"\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"ClientNavbar\"]\n15:I[4502,[\"545\",\"static/chunks/c16f53c3-0f690431eda1568e.js\",\"992\",\"static/chunks/992-da306a535e233aef.js\",\"863\",\"static/chunks/863-65b7ef461725c1d4.js\",\"188\",\"static/chunks/188-9b5a23d4a5b2a9bf.js\",\"473\",\"static/chunks/473-b44808edc5e5750f.js\",\"177\",\"static/chunks/app/layout-8d9f5321477f1b35.js\"],\"MobileNav\"]\n16:I[7555,[],\"\"]\n17:I[1295,[],\"\"]\n14:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"dir\":\"ltr\",\"suppressHydrationWarning\":true,\"className\":\"dark\",\"children\":[[\"$\",\"head\",null,{\"children\":[[[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://analytics.bracketapp.nl/script.js\",\"data-website-id\":\"9c5b1839-5cbd-4d04-b95b-a217838898a9\",\"data-domains\":\"docs.bracketapp.nl\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}]],[\"$\",\"style\",null,{\"children\":\":root {\\n --nextra-primary-hue: 212deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 45%;\\n --nextra-bg: 250,250,250;\\n --nextra-content-width: 90rem;\\n}\\n.dark {\\n --nextra-primary-hue: 204deg;\\n --nextra-primary-saturation: 100%;\\n --nextra-primary-lightness: 55%;\\n --nextra-bg: 17,17,17;\\n}\\n::selection {\\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\\n}\\nhtml {\\n background: rgb(var(--nextra-bg));\\n}\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"rgb(250,250,250)\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"rgb(17,17,17)\"}],\"$undefined\"]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$Ld\",null,{\"value\":{\"darkMode\":true,\"docsRepositoryBase\":\"https://github.com/evroon/bracket/tree/master/docs\",\"editLink\":\"Edit this page\",\"feedback\":{\"content\":\"Question? Give us feedback\",\"labels\":\"feedback\"},\"i18n\":[],\"lastUpdated\":[\"$\",\"$Le\",null,{}],\"navigation\":{\"next\":true,\"prev\":true},\"search\":[\"$\",\"$Lf\",null,{}],\"sidebar\":{\"defaultMenuCollapseLevel\":2,\"defaultOpen\":true,\"toggleButton\":true},\"themeSwitch\":{\"dark\":\"Dark\",\"light\":\"Light\",\"system\":\"System\"},\"toc\":{\"backToTop\":\"Scroll to top\",\"float\":true,\"title\":\"On This Page\"}},\"children\":[\"$\",\"$L10\",null,{\"attribute\":\"class\",\"disableTransitionOnChange\":true,\"children\":[[\"$\",\"$L11\",null,{}],\"$undefined\",[\"$\",\"$L12\",null,{\"pageMap\":[{\"name\":\"index\",\"route\":\"/\",\"frontMatter\":{\"title\":\"Bracket | Open-source tournament system\",\"description\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\",\"openGraph\":{\"title\":\"Bracket | Open-source tournament system\",\"description\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\",\"locale\":\"en_US\",\"url\":\"https://docs.bracketapp.nl\",\"siteName\":\"Bracket\",\"images\":[{\"url\":\"https://docs.bracketapp.nl/bracket-social-image.png\"}]}},\"title\":\"Bracket | Open-source tournament system\"},{\"name\":\"docs\",\"route\":\"/docs\",\"children\":[{\"name\":\"index\",\"route\":\"/docs\",\"frontMatter\":{\"title\":\"Introduction\",\"filePath\":\"content/index.mdx\",\"timestamp\":1748641383000},\"title\":\"Introduction\"},{\"name\":\"api\",\"route\":\"/docs/api\",\"frontMatter\":{\"title\":\"API\",\"filePath\":\"content/api.mdx\",\"timestamp\":1748641383000},\"title\":\"API\"},{\"name\":\"community\",\"route\":\"/docs/community\",\"children\":[{\"name\":\"contributing\",\"route\":\"/docs/community/contributing\",\"frontMatter\":{\"title\":\"Contributing\",\"filePath\":\"content/community/contributing.mdx\",\"timestamp\":1748641383000},\"title\":\"Contributing\"},{\"name\":\"development\",\"route\":\"/docs/community/development\",\"frontMatter\":{\"title\":\"Development\",\"filePath\":\"content/community/development.mdx\",\"timestamp\":1748641383000},\"title\":\"Development\"}],\"title\":\"Community\"},{\"name\":\"deployment\",\"route\":\"/docs/deployment\",\"children\":[{\"name\":\"index\",\"route\":\"/docs/deployment\",\"frontMatter\":{\"title\":\"Deployment\",\"filePath\":\"content/deployment/index.mdx\",\"timestamp\":1748641383000},\"title\":\"Deployment\"},{\"name\":\"cloud-services\",\"route\":\"/docs/deployment/cloud-services\",\"frontMatter\":{\"title\":\"Cloud services\",\"filePath\":\"content/deployment/cloud-services.mdx\",\"timestamp\":1748641383000},\"title\":\"Cloud services\"},{\"name\":\"docker\",\"route\":\"/docs/deployment/docker\",\"frontMatter\":{\"title\":\"Docker\",\"filePath\":\"content/deployment/docker.mdx\",\"timestamp\":1748641383000},\"title\":\"Docker\"},{\"name\":\"nomad\",\"route\":\"/docs/deployment/nomad\",\"frontMatter\":{\"title\":\"Nomad\",\"filePath\":\"content/deployment/nomad.mdx\",\"timestamp\":1748641383000},\"title\":\"Nomad\"},{\"name\":\"systemd\",\"route\":\"/docs/deployment/systemd\",\"frontMatter\":{\"title\":\"Systemd\",\"filePath\":\"content/deployment/systemd.mdx\",\"timestamp\":1748641383000},\"title\":\"Systemd\"}],\"title\":\"Deployment\"},{\"name\":\"running-bracket\",\"route\":\"/docs/running-bracket\",\"children\":[{\"name\":\"configuration\",\"route\":\"/docs/running-bracket/configuration\",\"frontMatter\":{\"title\":\"Configuration\",\"filePath\":\"content/running-bracket/configuration.mdx\",\"timestamp\":1748641383000},\"title\":\"Configuration\"},{\"name\":\"faq\",\"route\":\"/docs/running-bracket/faq\",\"frontMatter\":{\"title\":\"FAQ\",\"filePath\":\"content/running-bracket/faq.mdx\",\"timestamp\":1748641383000},\"title\":\"FAQ\"},{\"name\":\"quickstart\",\"route\":\"/docs/running-bracket/quickstart\",\"frontMatter\":{\"title\":\"Quickstart\",\"filePath\":\"content/running-bracket/quickstart.mdx\",\"timestamp\":1748641383000},\"title\":\"Quickstart\"}],\"title\":\"Running Bracket\"},{\"name\":\"usage\",\"route\":\"/docs/usage\",\"children\":[{\"name\":\"guide\",\"route\":\"/docs/usage/guide\",\"frontMatter\":{\"title\":\"Usage guide\",\"filePath\":\"content/usage/guide.mdx\",\"timestamp\":1748641383000},\"title\":\"Usage guide\"},{\"name\":\"terminology\",\"route\":\"/docs/usage/terminology\",\"frontMatter\":{\"title\":\"Terminology\",\"filePath\":\"content/usage/terminology.mdx\",\"timestamp\":1748641383000},\"title\":\"Terminology\"}],\"title\":\"Usage\"}],\"title\":\"Docs\"}],\"navbar\":[\"$\",\"header\",null,{\"className\":\"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~\u0026]:top-(--nextra-banner-height)\",\"children\":[[\"$\",\"div\",null,{\"className\":\"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70\"}],[\"$\",\"nav\",null,{\"style\":{\"height\":\"var(--nextra-navbar-height)\"},\"className\":\"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end\",\"children\":[[\"$\",\"$L3\",null,{\"href\":\"/\",\"className\":\"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75\",\"children\":[[\"$\",\"$L4\",null,{\"width\":36,\"height\":36,\"src\":\"/_next/static/media/logo.a521d262.svg\",\"className\":\"mr-2\",\"alt\":\"Preview of Bracket\"}],[\"$\",\"b\",null,{\"className\":\"text-3xl\",\"children\":\"Bracket\"}]]}],[\"$\",\"$L13\",null,{\"className\":\"\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://github.com/evroon/bracket\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"fill\":\"currentColor\",\"viewBox\":\"3 3 18 18\",\"height\":\"24\",\"children\":[\"$\",\"path\",null,{\"d\":\"$14\"}]}],false],\"className\":\"x:focus-visible:nextra-focus\"}],\"$undefined\",\"$undefined\"]}]]}]]}],\"footer\":[\"$\",\"footer\",null,{\"id\":\"footer\",\"children\":[[\"$\",\"hr\",null,{\"className\":\"w-11/12 mx-auto\"}],[\"$\",\"section\",null,{\"className\":\"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-full xl:col-span-2\",\"children\":[\"$\",\"$L3\",null,{\"href\":\"/\",\"className\":\"font-bold text-xl flex\",\"children\":[[\"$\",\"$L4\",null,{\"width\":36,\"height\":36,\"src\":\"/_next/static/media/logo.a521d262.svg\",\"className\":\"mr-2\",\"alt\":\"Logo of Bracket\"}],[\"$\",\"b\",null,{\"className\":\"text-3xl\",\"children\":\"Bracket\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Intro\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Introduction\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/running-bracket/quickstart\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Quickstart\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Running Bracket\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/running-bracket/configuration\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Configuration\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/deployment\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Deployment\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"About\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/usage/guide\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Usage\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/running-bracket/faq\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"FAQ\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"https://github.com/evroon/bracket/blob/master/LICENSE\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"License\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"https://github.com/evroon/bracket/releases\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Releases\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-bold text-lg\",\"children\":\"Community\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"https://github.com/evroon/bracket\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"GitHub\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/community/contributing/\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Contributing\"}]}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$L3\",null,{\"href\":\"/docs/community/development/\",\"className\":\"opacity-60 hover:opacity-100\",\"children\":\"Development\"}]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"container pb-14 text-center\",\"children\":[\"$\",\"h3\",null,{\"children\":[\"Bracket - Open-source Tournament System.\",[\"$\",\"br\",null,{}],\"Licensed under AGPL-v3.0. Copyright © \",2025,\" \",\"Bracket. Built with Nextra.\"]}]}]]}],\"children\":[[\"$\",\"$L15\",null,{}],[\"$\",\"$L16\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L17\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Bracket | Open-source tournament system\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Bracket | Open-source tournament system\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:url\",\"content\":\"https://docs.bracketapp.nl\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:site_name\",\"content\":\"Bracket\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://docs.bracketapp.nl/bracket-social-image.png\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:title\",\"content\":\"Bracket | Open-source tournament system\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:description\",\"content\":\"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:image\",\"content\":\"https://docs.bracketapp.nl/bracket-social-image.png\"}]]\n"])</script></body></html>