Direkter Dev-Deploy ohne Registry
Für den Dev-Server gibt es ein lokales Hilfsscript, das ohne GHCR auskommt und stattdessen lokal gebaute Images direkt auf den Server überträgt:
./scripts/local/deploy-dev-direct.sh
Das Script:
- baut lokal deploybare
backend- undfrontend-Images direkt über die Dockerfiles - taggt die lokalen Deploy-Images als
skintogo/backend:dev-directundskintogo/frontend:dev-direct - speichert beide Images temporär lokal und überträgt sie per SSH an
sudo /usr/local/bin/skintogo/dev-docker-load - zeigt beim Upload pro Image den Fortschritt in Prozent und MiB an
- aktualisiert auf dem Dev-Server
BACKEND_IMAGEundFRONTEND_IMAGEin/opt/skintogo/dev/.env - startet
backendundfrontendübersudo /usr/local/bin/skintogo/dev-compose up -d backend frontend - verlässt sich darauf, dass der zentrale Dev-Reverse-Proxy Backend und Frontend über Docker-DNS-Aliases neu auflöst
- räumt anschließend alte ungenutzte Images mit
docker image prune -af --filter "until=168h"auf
Wenn die lokalen Images bereits frisch gebaut sind, kannst du den Build-Schritt überspringen:
./scripts/local/deploy-dev-direct.sh --skip-build
--skip-build verwendet die zuletzt direkt gebauten Deploy-Images skintogo/backend:deploy-local und skintogo/frontend:deploy-local, nicht die lokalen Hot-Reload-Images aus docker-compose.local.yml.
Voraussetzungen auf dem Dev-Server
sudo /usr/local/bin/skintogo/dev-compose ...bleibt für Compose-Kommandos der einzige erlaubte Weg.- Zusätzlich muss
sudo /usr/local/bin/skintogo/dev-docker-loadohne weitere Argumente erlaubt sein. - Der zentrale Dev-Reverse-Proxy muss Backend und Frontend über Docker-DNS-Aliases mit
resolver 127.0.0.11und variablenproxy_pass-Targets erreichen.