chore: simplify docker-only deployment workflow

This commit is contained in:
2026-03-03 08:43:30 +00:00
parent 2b9476290f
commit e888772488
9 changed files with 214 additions and 13 deletions

View File

@@ -21,6 +21,74 @@ Danach im Browser öffnen:
Diese Variante ist für deinen aktuellen Wunsch geeignet: öffentlich erreichbar ohne VPN.
### Docker-only Betrieb (empfohlen für Webserver)
Wenn auf dem Webserver **nur Docker laufen soll**, nutze die image-basierte Compose-Datei statt lokalem Build.
1) Vorlage übernehmen:
```bash
cp .env.example .env
```
2) Optional Werte in `.env` anpassen:
```dotenv
PDF_TO_ICS_IMAGE=ghcr.io/webfarben/pdf_to_ics:v1.0.0
WEB_AUTH_USER=
WEB_AUTH_PASSWORD=
```
3) Starten:
```bash
docker compose -f docker-compose.deploy.yml up -d
```
Kurzvariante für Erststart:
```bash
./deploy.sh
```
4) Update:
```bash
git pull
# in .env auf neues Release setzen, z. B. v1.1.0
docker compose -f docker-compose.deploy.yml pull
docker compose -f docker-compose.deploy.yml up -d
```
Kurzvariante mit Helper-Skript:
```bash
./update.sh
```
Hinweis: Für ein neues Release vorher den Tag in `.env` anpassen.
Damit entfallen lokale Python/venv-Abhängigkeiten auf dem Host vollständig.
Mit festem Tag bleiben Deployments reproduzierbar und Updates kontrolliert.
### Schlanker Checkout auf dem Server (Sparse)
Für einen neuen Server-Checkout kannst du den Arbeitsbaum klein halten:
```bash
git clone --filter=blob:none --sparse <REPO_URL> pdf_to_ics
cd pdf_to_ics
git sparse-checkout set docker-compose.deploy.yml .env.example deploy.sh update.sh WEB_README.md
```
Optional zusätzlich aufnehmen:
```bash
git sparse-checkout add README.md
```
Hinweis: Ein bestehender Voll-Clone wird dadurch nicht automatisch klein; dafür einmal neu klonen.
### 1) Starten
```bash