Repository navigation
Post setup ru RU
прежде всего вам понадобится аккаунт cloudflare. чтобы создать его, перейдите на https://dash.cloudflare.com/sign-up, введите email и пароль и нажмите create account

теперь нужно ввести ваш домен. это должен быть именно корневой домен (например, banchopy.com или banchopy.net), без хостнеймов (например, www.banchopy.com и подобных)

затем выберите тариф. нам будет достаточно Free plan; при необходимости его можно повысить позже

теперь скопируйте nameserver'ы, которые требует cloudflare, к вашему регистратору домена. когда закончите, нажмите check nameservers

после этого нужно добавить dns-записи (A-записи), чтобы необходимые домены указывали на ip, где работает bancho.py.
записи для импорта в cloudflare можно сгенерировать скриптом из папки tools
cd tools && ./generate_cf_dns_records.sh && cd..а в панели cloudflare нажмите Import and Export

если вы используете бесплатные домены freenom вроде .ml, .ga, .ml, .cf, импорт dns, скорее всего, не сработает: из-за массовых злоупотреблений они ограничены в API Cloudflare. в этом случае добавьте следующие dns-записи вручную
|
|
|---|
затем перейдите в SSL/TLS > overview и включите Full (strict)

теперь создайте сертификаты, выпускаемые cloudflare: SSL/TLS > Origin Server, нажмите create certificate


после создания сохраните содержимое origin-сертификата и приватного ключа в отдельные файлы на вашей машине

nano example.com.pem
# вставьте содержимое origin-сертификата
nano example.com.key
# вставьте содержимое приватного ключа# вам нужно заменить:
# - YOUR_EMAIL_ADDRESS
# - YOUR_DOMAIN
# сгенерируйте ssl-сертификат для вашего домена
sudo certbot certonly \
--manual \
--preferred-challenges=dns \
--email YOUR_EMAIL_ADDRESS \
--server https://acme-v02.api.letsencrypt.org/directory \
--agree-tos \
-d *.YOUR_DOMAINперейдите в панель cloudflare: Rules > Transform rules, затем нажмите managed transforms и включите add visitor location headers.

bancho.py — это только бэкенд, сайт в него не входит. Варианты фронтенда:
- bancho-web.ts (рекомендуется) — современный фронтенд на React + TypeScript, построенный на v2 api bancho.py: таблицы лидеров, профили игроков, страницы карт, кланы, поиск игроков, а также регистрация и вход через сайт (с опциональной поддержкой капчи). Поддерживается командой bancho.py.
- guweb (альтернатива) — давний фронтенд на python, поддерживаемый сообществом; работает напрямую с базой данных bancho.py.
Чтобы обновить вашу инстанцию до последней версии bancho.py:
git pull
# пересоберите образ приложения с новым кодом
make build
# перезапустите с новым образом
make run # или `make run-bg` для запуска в фонеНовые миграции базы данных применяются автоматически при следующем запуске сервера. Ваши данные (MySQL, Redis, реплеи, скриншоты, аватары) хранятся вне образа приложения и сохраняются при обновлениях.





