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:
services: bausw: image: bausw:v3.1.0 env_file: ".env" ports: - "3000:3000" volumes: - bausw_data:/bausw/server/data
volumes: bausw_data:Poznámky:
- Toto nastavení vytváří službu s názvem
bauswběžící na portu3000. - Trvalé úložiště
bausw_dataukládá databázová a souborová data. - ENV proměnné jsou načteny ze souboru
.env. - Nahraďte
imageverzí 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ě:
/data /db /hq.example.com hq.example.com.sqlite pro_abc.sqlite pro_xyz.sqlite /branch.example.com branch.example.com.sqlite pro_abc.sqlite /files /hq.example.com /branch.example.comPro zajištění detekce správné domény:
- Nakonfigurujte hlavičku
Hostve nastaveních reverse proxy. - Při detekci domény jsou ignorovány čísla portů. Například
example.comaexample.com:8080jsou 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.