FastAPI-Backend und React-Frontend mit Konten, Sendungsverfolgung, Projekt-Artikeln, Vorrat & Einkauf mit Rezeptabgleich, Reise-Weltkarte, Kanban-Projekten mit Priorität, Server-Monitoring und den Designs Matrix und Blackwall. Betrieb per Docker hinter nginx (siehe DEPLOY.md). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
30 lines
968 B
Bash
Executable File
30 lines
968 B
Bash
Executable File
#!/bin/bash
|
||
# Container bauen und (neu) starten – auf dem Server ausführen: <projektordner>/deploy/update-docker.sh
|
||
# Die Daten in data/ und die Einstellungen in config.json bleiben dabei unberührt.
|
||
set -euo pipefail
|
||
cd "$(dirname "$(readlink -f "$0")")/.."
|
||
|
||
# Neuen Code holen, falls das Projekt per Git auf den Server kam
|
||
if [ -d .git ]; then
|
||
git pull --ff-only
|
||
fi
|
||
|
||
# Ohne config.json würde Docker an ihrer Stelle einen leeren Ordner anlegen
|
||
if [ ! -f config.json ]; then
|
||
cp config.example.json config.json
|
||
echo "config.json wurde aus config.example.json angelegt – bei Bedarf API-Keys eintragen und das Skript erneut starten."
|
||
fi
|
||
|
||
# Datenordner: der Container läuft als UID 1000 und muss hier schreiben dürfen
|
||
mkdir -p data
|
||
if [ "$(stat -c %u data)" != "1000" ]; then
|
||
echo "Setze Besitzer von data/ auf UID 1000 (sudo) ..."
|
||
sudo chown -R 1000:1000 data
|
||
fi
|
||
|
||
docker compose up -d --build
|
||
docker image prune -f >/dev/null
|
||
|
||
sleep 5
|
||
docker compose ps
|