Some checks failed
CI / Detect Changes (pull_request) Successful in 3s
CI / YouTube Worker (pull_request) Failing after 6s
CI / Admin Web CI (pull_request) Failing after 7s
CI / Deploy (pull_request) Has been skipped
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Failing after 2m54s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Has been skipped
- Nouveau Dockerfile multi-stage Next.js standalone (node:22-bookworm-slim) - Configuration semantic-release (.releaserc.json, version.json, devDeps) - docker-compose.portainer.yml pour déploiement Portainer - Workflow docker-admin-web.yml : test → semantic-release → build push → deploy - Extraction admin-web-tests.yml (reusable workflow) appelé par ci.yml et docker-admin-web.yml → 0 duplication - next.config.ts : ajout output: 'standalone' - .dockerignore : exclusions node_modules, .next, etc.
30 lines
493 B
Docker
30 lines
493 B
Docker
FROM node:22-bookworm-slim AS build
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json ./
|
|
|
|
RUN npm ci
|
|
|
|
COPY . .
|
|
|
|
RUN npm run build
|
|
|
|
FROM node:22-bookworm-slim AS production
|
|
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
COPY --from=build /app/public ./public
|
|
COPY --from=build /app/.next/standalone ./
|
|
COPY --from=build /app/.next/static ./.next/static
|
|
|
|
RUN groupadd -g 1001 appgroup && useradd -u 1001 -g appgroup -s /bin/sh -M nodeuser
|
|
|
|
USER nodeuser
|
|
|
|
EXPOSE 3000
|
|
|
|
ENTRYPOINT ["node", "server.js"]
|