1
0

docs: Some website modifications
All checks were successful
Remote Deploy / deploy (push) Successful in 9s

This commit is contained in:
2026-02-11 11:51:53 +01:00
parent 7938d2cb9f
commit bb70b8bc9d
4 changed files with 97 additions and 1 deletions

View File

@@ -76,6 +76,7 @@ Požadavek musí obsahovat JSON objekt s následujícími poli:
- `class` (string, povinné): Název třídy, které se hlášení týká.
- `location` (string, povinné): Místo, kde se chyba vyskytla. Povolené hodnoty jsou:
- `"TIMETABLE"`
- `"TAKES_PLACE"`
- `"ABSENCES"`
- `"OTHER"`
- `content` (string, povinné): Popis problému.

View File

@@ -0,0 +1,90 @@
---
title: "Self-hosting"
date: 2026-02-11
tags: ["hosting", "setup"]
---
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Š 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.
1. **Klonování repozitáře**:
```bash
git clone https://github.com/zitnik/jecnarozvrh.git
cd jecnarozvrh
```
2. **Konfigurace**:
Upravte soubor `docker-compose.yml` a doplňte své přihlašovací údaje:
```yaml
services:
app:
environment:
- EMAIL=vas-email@spsejecna.cz
- PASSWORD=vase-heslo
```
3. **Spuštění**:
```bash
docker-compose up -d --build
```
Aplikace bude dostupná na portu `3000`.
> **Poznámka k webu v Dockeru**: Výchozí Docker image má `SERVE_WEB` nastaveno na `false`, 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.
1. **Instalace závislostí**:
```bash
npm install
```
2. **Sestavení projektu**:
Tento krok zkompiluje TypeScript a sestaví Hugo web.
```bash
npm run build
```
3. **Nastavení proměnných prostředí**:
Vytvořte soubor `.env` v kořenovém adresáři:
```env
EMAIL=vas-email@spsejecna.cz
PASSWORD=vase-heslo
PORT=3000
```
4. **Spuštění**:
```bash
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.

View File

@@ -13,7 +13,7 @@ mainsections: ["posts", "papermod"]
minify:
disableXML: true
# minifyOutput: true
minifyOutput: true
pagination:
disableAliases: false
@@ -61,6 +61,11 @@ params:
- **Toto API je NEOFICIÁLNÍ a nemá nic společného s oficiálním softwarem školy**.
footer:
text: >
Licencováno pod [GNU GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.html)
copyright: "© 2026 [Jakub Žitník](https://jzitnik.dev)"
markup:
goldmark:

View File