- Landing Page mit Logo, Hero, Features, Steps, CTA - QR-Scan Checklisten-Flow (/s/[id]) - PocketBase Client (pb.ts) - Makefile für DS-Deployment (SSH) - Setup-Scripts: setup-db.sh, seed-demo.sh
110 lines
3.6 KiB
Makefile
110 lines
3.6 KiB
Makefile
# ==============================================================
|
|
# CHECKFLO — Makefile
|
|
# Deploy-Strategie: SSH zur DS, Docker Compose
|
|
# ==============================================================
|
|
|
|
DS_HOST := ds
|
|
DS_IP := 10.47.11.10
|
|
DS_SSH_PORT := 4711
|
|
DS_PATH := /volume1/docker/checkflo
|
|
CONTAINER_PB := checkflo-pocketbase
|
|
DOCKER := sudo /usr/local/bin/docker
|
|
|
|
.PHONY: help check-ssh start stop restart status logs logs-f shell-pb pb-admin
|
|
|
|
# ----------------------------------------------------------
|
|
# Hilfe
|
|
# ----------------------------------------------------------
|
|
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 status Container-Status anzeigen"
|
|
@echo ""
|
|
@echo " make logs Letzte 100 Zeilen"
|
|
@echo " make logs-f Live-Log-Stream"
|
|
@echo " make shell-pb Shell in PocketBase-Container"
|
|
@echo " make pb-admin PocketBase Admin-URL anzeigen"
|
|
@echo ""
|
|
|
|
# ----------------------------------------------------------
|
|
# SSH-Prüfung
|
|
# ----------------------------------------------------------
|
|
check-ssh:
|
|
@if ! nc -z -w3 $(DS_IP) $(DS_SSH_PORT) 2>/dev/null; then \
|
|
echo ""; \
|
|
echo " ✗ DS nicht erreichbar ($(DS_IP):$(DS_SSH_PORT))"; \
|
|
echo ""; \
|
|
exit 1; \
|
|
fi
|
|
|
|
# ----------------------------------------------------------
|
|
# START
|
|
# ----------------------------------------------------------
|
|
start: check-ssh
|
|
@ssh $(DS_HOST) "cd $(DS_PATH) && $(DOCKER) compose up -d"
|
|
@echo " ✓ PocketBase gestartet."
|
|
|
|
# ----------------------------------------------------------
|
|
# STOP
|
|
# ----------------------------------------------------------
|
|
stop: check-ssh
|
|
@ssh $(DS_HOST) "cd $(DS_PATH) && $(DOCKER) compose down"
|
|
@echo " ✓ Gestoppt."
|
|
|
|
# ----------------------------------------------------------
|
|
# RESTART
|
|
# ----------------------------------------------------------
|
|
restart: check-ssh
|
|
@ssh $(DS_HOST) "cd $(DS_PATH) && $(DOCKER) compose restart"
|
|
@echo " ✓ Neugestartet."
|
|
|
|
# ----------------------------------------------------------
|
|
# STATUS
|
|
# ----------------------------------------------------------
|
|
status: check-ssh
|
|
@ssh $(DS_HOST) "$(DOCKER) ps \
|
|
--filter name=$(CONTAINER_PB) \
|
|
--format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
|
|
|
|
# ----------------------------------------------------------
|
|
# LOGS
|
|
# ----------------------------------------------------------
|
|
logs: check-ssh
|
|
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_PB) --tail=100"
|
|
|
|
logs-f: check-ssh
|
|
@ssh $(DS_HOST) "$(DOCKER) logs $(CONTAINER_PB) -f"
|
|
|
|
# ----------------------------------------------------------
|
|
# SHELL in PocketBase
|
|
# ----------------------------------------------------------
|
|
shell-pb: check-ssh
|
|
@ssh -t $(DS_HOST) "$(DOCKER) exec -it $(CONTAINER_PB) sh"
|
|
|
|
# ----------------------------------------------------------
|
|
# POCKETBASE Admin
|
|
# ----------------------------------------------------------
|
|
pb-admin:
|
|
@echo " PocketBase Admin: https://api.checkflo.de/_/"
|
|
|
|
# ----------------------------------------------------------
|
|
# SETUP-DB — Datenmodell in PocketBase anlegen
|
|
# ----------------------------------------------------------
|
|
setup-db:
|
|
@PB_URL=https://api.checkflo.de \
|
|
PB_EMAIL=$(PB_EMAIL) \
|
|
PB_PASSWORD=$(PB_PASSWORD) \
|
|
./scripts/setup-db.sh
|
|
|
|
# ----------------------------------------------------------
|
|
# SEED-DEMO — Demo-Tenant mit Stationen anlegen
|
|
# ----------------------------------------------------------
|
|
seed-demo:
|
|
@PB_URL=https://api.checkflo.de \
|
|
PB_EMAIL=$(PB_EMAIL) \
|
|
PB_PASSWORD=$(PB_PASSWORD) \
|
|
./scripts/seed-demo.sh
|