CSUBOT je open source superadministrátorský robot.
Tento článek popisuje, jak si CSUBOT nasadit sám.
Přečtěte si prosím nejprve celou tuto dokumentaci: Návod k použití robota CSUBOT
Doporučeno: Zjistěte veřejnou IP adresu tohoto počítače pro přístup k různým webovým stránkám, abyste zkontrolovali aktuální síťové prostředí.
Předpoklady
Samostatné nasazení CSUBOT vyžaduje splnění alespoň následujících podmínek:
- Vlastnit doménu. (Vlastnit alespoň subdoménu pro backend. Ve skutečnosti budete potřebovat dvě subdomény pro frontend a backend dohromady, ale obecně může být doména frontendu poskytnuta nasazenou platformou)
- Vlastnit server. Nebo nasadit na platformě, na které lze nasadit backendové služby. Pokud znáte bezplatnou platformu, na které lze nasadit backendové služby, neváhejte a klikněte sem a sdělte to autorovi v komentářích .
- Mít neomezený účet Telegramu pro vytvoření robota Telegramu a získání tokenu robota
- Mít neomezený účet Cloudflare pro povolení ověřovacího kódu Cloudflare Turnstile. Registrace účtu: https://dash.cloudflare.com/
Kroky operace
- Povolte Cloudflare Turnstile
- Nasaďte frontend
- Vytvořte Telegram robota
- Nakonfigurujte backend
Povolte Cloudflare Turnstile
Kliknutím na tento odkaz otevřete konfigurační panel Cloudflare Turnstile Konfigurace komponenty Turnstile
Kliknutím na add widget přidejte widget Turnstile
Klikněte na Add Hostnames a přidejte doménu frontendu. Pokud plánujete použít doménu poskytovanou platformou pro hostování frontendu, můžete sem napsat cokoli.
Klikněte na tlačítko Vytvořit a poté uvidíte Site Key a Secret Key
Nasazení frontendu
Jako příklad si vezměme nasazení na platformu pro hostování frontendu.
- Otevřete https://github.com/cjh0613/csubot-vue a vytvořte fork tohoto repozitáře
- Vyberte platformu pro nasazení, například Cloudflare Pages, Vercel, Netlify atd.
- Vyberte import z repozitáře Github a vyberte repozitář forknutý v prvním kroku.
Konfigurační cesta práce je kořenový adresář projektu, příkaz pro kompilaci je:
npm install && npm run build
Výstupní adresář je:
dist/
Konfigurace proměnných prostředí:
VITE_ENDPOINT=https://xxxx.com <Backend URL, vyžaduje https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Klíč webu (Site Key) Cloudflare turnstile (ten nahoře)>
- Začněte nasazovat, po dokončení uvidíte doménu poskytovanou platformou. Můžete také svázat vlastní doménu. Je třeba počkat na konfiguraci DNS a generování certifikátu.
Vytvořte Telegram robota
Soukromě napište
https://t.me/BotFather
a odešlete /newbot
, vytvořte nového robota podle pokynů robota, po dokončení vytvoření obdržíte Token
Konfigurace backendu
Můžete si vybrat, zda spustíte binární spustitelný soubor přímo, nebo ho sami zkompilujete.
Referenční proměnné prostředí
TGWD_TOKEN=<Token robota Telegramu, získaný z @botfather>
TGWD_FRONTEND_DOMAIN=<Doména frontendu, nevyžaduje https>
TGWD_SECRET=<Vyplňte cokoli>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Tajný klíč (Secret Key) Cloudflare turnstile (ten pod klíčem webu)>
Použití binárního spustitelného souboru
Jako příklad si vezměme operační systém linux amd64.
Nejprve vytvořte novou složku.
mkdir csubot && cd csubot
Stáhněte si binární spustitelný soubor. Odkaz ke stažení naleznete na
https://github.com/cjh0613/csubot/releases
, kde najdete nejnovější odkaz, možná budete muset kliknout na Show all assets
, abyste našli soubor vhodný pro vaši platformu.
wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip
Protože se jedná o komprimovaný soubor ve formátu zip, rozbalte jej:
unzip csubot-linux-amd64.zip
Pokud tento příkaz nelze spustit, ujistěte se, že jste úspěšně nainstalovali balíček unzip
.
Přejděte do adresáře, kde se nachází csubot,
Pomocí následujícího příkazu můžete zobrazit skrytý soubor .env.example
.
ls -la
Použijte textový editor (např. nano, vim ) a vytvořte nový soubor .env
, který nakonfigurujete podle vzorového souboru .env.example
.
Zkuste spustit:
export $(grep -v '^#' .env | xargs) && ./csubot
Vlastní kompilace
Spusťte příkaz v kořenovém adresáři projektu:
go build -o csubot
Zkuste spustit:
export $(grep -v '^#' .env | xargs) && ./csubot
HTTPS
Backend nepodporuje přímo https, lze k němu přistupovat pouze prostřednictvím http.
Můžete použít služby jako Apache, Nginx, Microsoft Internet Information Services (IIS) ke konfiguraci HTTPS.
Pokud používáte Cloudflare CDN, můžete také nastavit režim šifrování na Flexible
v SSL/TLS encryption. Tímto způsobem uživatelé přistupují k serveru Cloudflare pomocí automaticky konfigurovaného protokolu https od Cloudflare a poté Cloudflare přistupuje k serveru, který jste nakonfigurovali pro backendové služby, pomocí protokolu http.
Spuštění jako služba systemd
sudo mkdir /usr/local/bin/csubot/
sudo cp .env /usr/local/bin/csubot/.env
sudo cp csubot /usr/local/bin/csubot/csubot
sudo cp -r ./locales /usr/local/bin/csubot/locales
Vytvořte uživatele služby
sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser
Konfigurace oprávnění
sudo chown csubotuser:csubotuser /usr/local/bin/csubot/csubot
sudo setfacl -R -m u:csubotuser:r /usr/local/bin/csubot
sudo chmod +x /usr/local/bin/csubot/csubot
Vytvořte a upravte /etc/systemd/system/csubot.service
a napište
[Unit]
Description=CSUBOT Backend
After=network-online.target
Wants=network-online.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=csubotuser
Group=csubotuser
ExecStart=/usr/local/bin/csubot/csubot
WorkingDirectory=/usr/local/bin/csubot
RestartSec=10s
Restart=always
# Restart=on-failure
# Načtení souboru proměnných prostředí
EnvironmentFile=/usr/local/bin/csubot/.env
# Spusťte službu
sudo systemctl start csubot.service
# Zobrazte stav běhu
sudo systemctl status csubot.service
# Nastavte spuštění při startu
sudo systemctl enable csubot.service
Ostatní verze této webové stránky
Tento článek má několik jazykových verzí.
Pokud chcete zveřejnit komentář, navštivte následující webové stránky:
Tyto webové stránky podporují pouze prohlížení, nelze na nich publikovat komentáře ani zanechávat zprávy, ale nabízejí více jazykových možností a mají kratší dobu načítání:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO