Zum Hauptinhalt springen

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- und frontend-Images direkt über die Dockerfiles
  • taggt die lokalen Deploy-Images als skintogo/backend:dev-direct und skintogo/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_IMAGE und FRONTEND_IMAGE in /opt/skintogo/dev/.env
  • startet backend und frontend über sudo /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-load ohne weitere Argumente erlaubt sein.
  • Der zentrale Dev-Reverse-Proxy muss Backend und Frontend über Docker-DNS-Aliases mit resolver 127.0.0.11 und variablen proxy_pass-Targets erreichen.