diff --git a/Dockerfile b/Dockerfile index 73df5de..64f613d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,6 +31,7 @@ RUN npm ci --only=production # Backend-Code kopieren COPY backend/ ./ +COPY backend/docker-entrypoint.sh ./docker-entrypoint.sh # public leeren RUN rm -rf ./public/* @@ -38,6 +39,9 @@ RUN rm -rf ./public/* # frische Datenbank vorbereiten RUN rm -rf ./data && mkdir -p ./data && chown node:node ./data +# EntryPoint vorbereiten +RUN chmod +x ./docker-entrypoint.sh && chown node:node ./docker-entrypoint.sh + # Inhalt von dist inklusive Unterordner direkt nach public kopieren COPY --from=frontend-build /app/frontend/dist/. ./public/ @@ -53,4 +57,5 @@ EXPOSE 5173 USER node # Container startet das Backend (liefert statisches Frontend) +ENTRYPOINT ["./docker-entrypoint.sh"] CMD ["node", "index.js"] diff --git a/backend/docker-entrypoint.sh b/backend/docker-entrypoint.sh new file mode 100644 index 0000000..4585dd3 --- /dev/null +++ b/backend/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +echo "🔧 Starte Migration (idempotent)..." +node db/migrate.js + +echo "✅ Migration abgeschlossen. Starte Anwendung..." +exec "$@"