refactor(docker): docker-compose.yml ist der Pull-Weg, Bauen wandert nach .dev.yml

Namen getauscht: das Standard-Compose zieht jetzt die fertigen Registry-Images
(vorher docker-compose.prod.yml), die Build-Variante heisst docker-compose.dev.yml.
Weniger verwirrend, weil der Produktivfall ohne -f auskommt. Kopfkommentare,
README, CLAUDE.md, .env.example und build-push-images.mjs entsprechend angepasst.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-02 16:15:46 +02:00
1 parent 62391e4aae
commit 043ec3a108
6 files changed
+53 -53

No files matched your search

+10 -14
View File
@@ -1,18 +1,16 @@
# NovaSonic — builds locally from the Dockerfiles. The heavy deps (ffmpeg, Deno, yt-dlp, node libs)
# are baked into the images, so container RESTARTS are instant, and a rebuild after a code change is
# fast (Docker caches the dep layers — only the code COPY layer changes).
# NovaSonic — Standard/Produktiv: zieht die fertigen Images aus der Registry, baut nichts.
# Auf dem Server nur .env danebenlegen (siehe .env.example) und:
#
# git pull
# docker compose up -d --build # rebuild changed images (cached; fast) and (re)start
# docker compose up -d # just (re)start with the already-built images
# docker compose pull
# docker compose up -d
#
# No registry needed. (An optional pull-from-registry / CI flow can build these same Dockerfiles
# elsewhere and push — see scripts/build-push-images.mjs + .env.example.)
# Die Images kommen von der Dev-Maschine: `npm run push-images` (baut die drei Dockerfiles und
# pusht nach ${REGISTRY}). Selbst bauen statt ziehen: docker-compose.dev.yml.
services:
# ── Frontend (nginx serving the built PWA) ───────────────────────────────────
novasonic-frontend:
build: .
image: ${REGISTRY}/novasonic-frontend:${TAG:-latest}
container_name: novasonic-frontend
restart: unless-stopped
ports:
@@ -24,8 +22,7 @@ services:
# ── Backend (yt-dlp download server) ─────────────────────────────────────────
novasonic-backend:
build:
context: ./backend
image: ${REGISTRY}/novasonic-backend:${TAG:-latest}
container_name: novasonic-backend
restart: unless-stopped
volumes:
@@ -48,10 +45,9 @@ services:
- GITEA_TOKEN=${GITEA_TOKEN:-}
- GITEA_APK_TAG=${GITEA_APK_TAG:-apk-latest}
# ── Scrobble service (isolated timestamped play-log → stats + Wrapped) ────────
# ── Scrobble service (isolated timestamped play-log → stats + Wrapped) ───────
novasonic-scrobble:
build:
context: ./scrobble
image: ${REGISTRY}/novasonic-scrobble:${TAG:-latest}
container_name: novasonic-scrobble
restart: unless-stopped
volumes: