22 lines
722 B
Docker
22 lines
722 B
Docker
FROM node:20-bookworm-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Prisma-Schema liegt eine Ebene über backend/ (wird von beiden referenziert)
|
|
COPY prisma ./prisma
|
|
COPY backend/package.json ./backend/package.json
|
|
COPY backend/package-lock.json* ./backend/package-lock.json
|
|
|
|
WORKDIR /app/backend
|
|
RUN npm install
|
|
|
|
COPY backend ./
|
|
|
|
RUN npx prisma generate --schema=../prisma/schema.prisma
|
|
|
|
EXPOSE 3000
|
|
|
|
# Beim Start: Schema in die DB pushen (idempotent), einmalig seeden (Fehler ignorieren,
|
|
# falls bereits vorhanden), dann Server starten.
|
|
CMD sh -c "npx prisma db push --accept-data-loss --skip-generate --schema=../prisma/schema.prisma && (npx prisma db seed --schema=../prisma/schema.prisma || true) && npx ts-node -r dotenv/config src/app.ts"
|