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

  1. Povolte Cloudflare Turnstile
  2. Nasaďte frontend
  3. Vytvořte Telegram robota
  4. 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.

  1. Otevřete https://github.com/cjh0613/csubot-vue a vytvořte fork tohoto repozitáře
  2. Vyberte platformu pro nasazení, například Cloudflare Pages, Vercel, Netlify atd.
  3. 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)>
  1. 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:

ZH EN ZH-TW JA

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