Files
ressourcenplanung/Dockerfile
T
admin 74c9fee38e Make image Coolify-ready: fix native module build, add healthcheck
- .dockerignore fehlte, wodurch node_modules vom Host (macOS-Binaries)
  das im Container frisch installierte better-sqlite3 überschrieben hat
  (invalid ELF header). node_modules jetzt rekursiv ausgeschlossen.
- Finales Image von node:20-alpine auf node:20-slim gewechselt, da
  better-sqlite3-Prebuilds gegen glibc gelinkt sind und auf musl/Alpine
  nicht laden.
- HEALTHCHECK gegen /health ergänzt.
- README um Coolify-Deployment-Anleitung erweitert.
2026-07-03 23:08:46 +02:00

21 lines
599 B
Docker

FROM node:20-alpine AS client-build
WORKDIR /app/client
COPY client/package.json ./
RUN npm install
COPY client/ ./
RUN npm run build
FROM node:20-slim
WORKDIR /app
COPY server/package.json ./server/
RUN cd server && npm install --omit=dev
COPY server/ ./server/
COPY --from=client-build /app/client/dist ./client/dist
WORKDIR /app/server
ENV PORT=8080
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s \
CMD node -e "require('http').get('http://localhost:8080/health', r => process.exit(r.statusCode===200?0:1)).on('error', () => process.exit(1))"
CMD ["node", "index.js"]