2.7 KiB
title, date, tags
| title | date | tags | ||
|---|---|---|---|---|
| Self-hosting | 2026-02-11 |
|
Tento projekt je možné hostovat vlastním způsobem, ať už pomocí Dockeru nebo nativně.
Požadavky
Před začátkem se ujistěte, že máte připravené následující:
- Účet SPŠE Ječná: Projekt vyžaduje platný školní e-mail a heslo pro přístup k tabulce na SharePointu.
- Node.js 22+: Pokud hostujete nativně.
- Hugo: Pro sestavení a provoz webového rozhraní.
- Chromium/Puppeteer: Pro automatizované stahování dat.
Způsoby hostování
Docker (Doporučeno)
Použití Dockeru je nejjednodušší způsob, jak projekt spustit, protože automaticky řeší všechny závislosti včetně prohlížeče pro Puppeteer.
-
Klonování repozitáře:
git clone https://gitea.local.jzitnik.dev/jzitnik/jecnarozvrh.git cd jecnarozvrh -
Konfigurace: Upravte soubor
docker-compose.ymla doplňte své přihlašovací údaje:services: app: environment: - EMAIL=vas-email@spsejecna.cz - PASSWORD=vase-heslo -
Spuštění:
docker-compose up -d --build
Aplikace bude dostupná na portu 3000.
Poznámka k webu v Dockeru: Výchozí Docker image má
SERVE_WEBnastaveno nafalse, protože neobsahuje Hugo pro sestavení webové části. Docker verze primárně slouží jako API server.
Nativní instalace
Pokud nechcete používat Docker, můžete projekt spustit přímo na svém systému.
-
Instalace závislostí:
npm install -
Sestavení projektu: Tento krok zkompiluje TypeScript a sestaví Hugo web.
npm run build -
Nastavení proměnných prostředí: Vytvořte soubor
.envv kořenovém adresáři:EMAIL=vas-email@spsejecna.cz PASSWORD=vase-heslo PORT=3000 -
Spuštění:
npm run serve
Environmental variables
| Proměnná | Popis | Výchozí hodnota |
|---|---|---|
EMAIL |
Školní e-mail pro přihlášení. | - |
PASSWORD |
Heslo k e-mailu. | - |
SHAREPOINT_URL |
Odkaz na Excel tabulku na SharePointu. | Předdefinovaný odkaz na nástěnku |
PORT |
Port, na kterém server poběží. | 3000 |
REPORT_WEBHOOK_URL |
URL pro webhook hlášení chyb (Discord/Slack). | - |
SERVE_WEB |
Určuje, zda se má serveovat Hugo web. | true |
Persitence dat
Veškerá stažená data a stav prohlížeče (včetně cookies) se ukládají do složky volume/. Při použití Dockeru je důležité tuto složku mapovat jako volume, aby nedocházelo k opakovanému přihlašování a stahování dat při každém restartu.