Instalace
BAUSW je distribuován jako Docker image, který zahrnuje jak server, tak frontendovou aplikaci pro snadnou implementaci.
Požadavky
BAUSW je navržen pro jednoduchou instalaci s minimálními požadavky na infrastrukturu:
Základní požadavky:
- Docker (např., doporučeno Kubernetes nebo Docker Swarm)
- Úložiště pro databázi (doporučeno 10 GB nebo více)
- SMTP server pro odesílání e-mailů a oznámení
Volitelné komponenty:
- Reverse proxy nebo CDN pro TLS terminaci a cachování
- Úložiště kompatibilní se S3 pro soubory a přílohy
- Účet na Visual Crossing pro integraci s API počasí
Komponenty
Databáze
BAUSW používá SQLite jako primární databázi. Tento vestavěný databázový systém umožňuje jednoduchou implementaci bez potřeby externí databáze.
- Data jsou uložena na nakonfigurovaném úložišti.
- Nepotřebuje externí databáze.
Úložiště souborů
Ve výchozím nastavení jsou nahrané soubory a přílohy uloženy v lokálním souborovém systému.
- Pro použití úložiště kompatibilního se S3 je třeba nakonfigurovat ENV proměnné.
- Doporučené služby: AWS S3, Azure Blob Storage nebo Cloudflare R2.
Front-End
Front-end je Progressive Web App (PWA) zabalený do kontejneru a dostupný na cestě /app
.
- Uživatelé mohou aplikaci nainstalovat přímo na svá zařízení.
- Podporuje režim offline.
TLS terminace
TLS (HTTPS) musí být zajištěno externě pomocí reverse proxy jako Nginx nebo CDN.
Cachování
Pro optimální doručování obsahu zvažte přidání cachovací proxy.
- Použijte Nginx nebo CDN.
- Ujistěte se, že proxy respektuje hlavičky
Cache-Control
. - Cachovatelné cesty:
/app
- Necachovatelné cesty:
/api
(pokud není nastaveno přesCache-Control
).
API počasí
BAUSW integruje s Visual Crossing pro získání dat o počasí.
- Získejte API klíč registrací na jejich webové stránce.
- Bezplatný plán je dostačující pro malé nasazení.
- Pro zablokování této funkce vynechte ENV proměnnou
VISUALCROSSING_API_KEY
.
Implementace s Docker Compose
Níže je minimální soubor docker-compose.yml
pro nasazení BAUSW:
Poznámky:
- Toto nastavení vytváří službu s názvem
bausw
běžící na portu3000
. - Trvalé úložiště
bausw_data
ukládá databázová a souborová data. - ENV proměnné jsou načteny ze souboru
.env
. - Nahraďte
image
verzí poskytnutou při nákupu licence.
Namespacing
BAUSW izoluje data na základě doménového jména, ze kterého je aplikace dostupná. Každá doména vytváří svůj vlastní namespace, zajišťující nezávislé ukládání dat.
Například s dvěma doménami, hq.example.com
a branch.example.com
, jsou data izolována následovně:
Pro zajištění detekce správné domény:
- Nakonfigurujte hlavičku
Host
ve nastaveních reverse proxy. - Při detekci domény jsou ignorovány čísla portů. Například
example.com
aexample.com:8080
jsou považovány za tutéž doménu.
Konfigurace
Nastavení specifické pro namespace lze spravovat pomocí souborů s konfigurací YAML.
ENV Proměnné
Kompletní seznam konfigurovatelných ENV proměnných naleznete zde.