docs: Some website modifications
All checks were successful
Remote Deploy / deploy (push) Successful in 9s
All checks were successful
Remote Deploy / deploy (push) Successful in 9s
This commit is contained in:
@@ -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á.
|
- `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:
|
- `location` (string, povinné): Místo, kde se chyba vyskytla. Povolené hodnoty jsou:
|
||||||
- `"TIMETABLE"`
|
- `"TIMETABLE"`
|
||||||
|
- `"TAKES_PLACE"`
|
||||||
- `"ABSENCES"`
|
- `"ABSENCES"`
|
||||||
- `"OTHER"`
|
- `"OTHER"`
|
||||||
- `content` (string, povinné): Popis problému.
|
- `content` (string, povinné): Popis problému.
|
||||||
|
|||||||
90
web/content/posts/self-hosting/index.md
Normal file
90
web/content/posts/self-hosting/index.md
Normal 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.
|
||||||
@@ -13,7 +13,7 @@ mainsections: ["posts", "papermod"]
|
|||||||
|
|
||||||
minify:
|
minify:
|
||||||
disableXML: true
|
disableXML: true
|
||||||
# minifyOutput: true
|
minifyOutput: true
|
||||||
|
|
||||||
pagination:
|
pagination:
|
||||||
disableAliases: false
|
disableAliases: false
|
||||||
@@ -61,6 +61,11 @@ params:
|
|||||||
|
|
||||||
- **Toto API je NEOFICIÁLNÍ a nemá nic společného s oficiálním softwarem školy**.
|
- **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:
|
markup:
|
||||||
goldmark:
|
goldmark:
|
||||||
|
|||||||
0
web/layouts/partials/extend_footer.html
Normal file
0
web/layouts/partials/extend_footer.html
Normal file
Reference in New Issue
Block a user