Admin-Bereich, PWA-Manifest und Deploy-Setup

- Admin: Login, Dashboard, Protokoll, Stationen mit QR-Links
- PWA: vite-plugin-pwa mit Workbox Offline-Caching
- SvelteKit adapter-node + Dockerfile für DS-Deployment
- docker-compose.yml mit app + pocketbase Services
- Makefile: make deploy Befehl
This commit is contained in:
rene 2026-05-17 11:37:42 +02:00
parent f2615c9e07
commit 18570a42f0
15 changed files with 6042 additions and 12 deletions

View file

@ -8,9 +8,18 @@ DS_IP := 10.47.11.10
DS_SSH_PORT := 4711
DS_PATH := /volume1/docker/checkflo
CONTAINER_PB := checkflo-pocketbase
CONTAINER_APP := checkflo-app
DOCKER := sudo /usr/local/bin/docker
.PHONY: help check-ssh start stop restart status logs logs-f shell-pb pb-admin
TAR_EXCLUDE := --exclude='.git' \
--exclude='./app/node_modules' \
--exclude='./app/.svelte-kit' \
--exclude='./app/build' \
--exclude='./.env' \
--exclude='./.DS_Store'
.PHONY: help check-ssh start stop restart status logs logs-f logs-app \
shell-pb pb-admin deploy setup-db seed-demo
# ----------------------------------------------------------
# Hilfe
@ -19,13 +28,15 @@ help:
@echo ""
@echo " Checkflo — verfügbare Befehle:"
@echo ""
@echo " make start PocketBase starten"
@echo " make stop PocketBase stoppen"
@echo " make restart PocketBase neu starten"
@echo " make deploy App bauen + zur DS übertragen + Container neu starten"
@echo " make start Alle Container starten"
@echo " make stop Alle Container stoppen"
@echo " make restart Alle Container neu starten"
@echo " make status Container-Status anzeigen"
@echo ""
@echo " make logs Letzte 100 Zeilen"
@echo " make logs-f Live-Log-Stream"
@echo " make logs PocketBase-Logs (100 Zeilen)"
@echo " make logs-app App-Logs (100 Zeilen)"
@echo " make logs-f PocketBase Live-Log"
@echo " make shell-pb Shell in PocketBase-Container"
@echo " make pb-admin PocketBase Admin-URL anzeigen"
@echo ""
@ -41,12 +52,27 @@ check-ssh:
exit 1; \
fi
# ----------------------------------------------------------
# DEPLOY — Dateien zur DS + Docker rebuild
# ----------------------------------------------------------
deploy: check-ssh
@echo "→ Sync zu DS..."
@COPYFILE_DISABLE=1 tar czf - $(TAR_EXCLUDE) . | ssh $(DS_HOST) "tar xzf - -C $(DS_PATH)/"
@echo "→ Docker rebuild + restart..."
@ssh $(DS_HOST) " \
cd $(DS_PATH) && \
$(DOCKER) compose down && \
$(DOCKER) compose build app && \
$(DOCKER) compose up -d"
@echo " ✓ Deploy fertig."
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_APP) --tail=10"
# ----------------------------------------------------------
# START
# ----------------------------------------------------------
start: check-ssh
@ssh $(DS_HOST) "cd $(DS_PATH) && $(DOCKER) compose up -d"
@echo " ✓ PocketBase gestartet."
@echo " ✓ Gestartet."
# ----------------------------------------------------------
# STOP
@ -67,7 +93,7 @@ restart: check-ssh
# ----------------------------------------------------------
status: check-ssh
@ssh $(DS_HOST) "$(DOCKER) ps \
--filter name=$(CONTAINER_PB) \
--filter name=checkflo \
--format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
# ----------------------------------------------------------
@ -76,6 +102,9 @@ status: check-ssh
logs: check-ssh
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_PB) --tail=100"
logs-app: check-ssh
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_APP) --tail=100"
logs-f: check-ssh
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_PB) -f"