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.
This commit is contained in:
+3
-1
@@ -5,7 +5,7 @@ RUN npm install
|
||||
COPY client/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM node:20-alpine
|
||||
FROM node:20-slim
|
||||
WORKDIR /app
|
||||
COPY server/package.json ./server/
|
||||
RUN cd server && npm install --omit=dev
|
||||
@@ -15,4 +15,6 @@ 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"]
|
||||
|
||||
Reference in New Issue
Block a user