Import initial : code en production sur Hetzner
Some checks are pending
CI / tests (push) Waiting to run
CI / deploiement (push) Blocked by required conditions

This commit is contained in:
Adam Belkacemi 2026-09-07 18:21:38 +00:00
commit cf6ee64e31
43 changed files with 14404 additions and 0 deletions

24
Dockerfile Normal file
View file

@ -0,0 +1,24 @@
# Etape 1 : on construit l'application avec toutes les dependances.
FROM node:24-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Etape 2 : l'image finale ne garde que le resultat du build.
# Ni sources, ni node_modules de developpement : environ 150 Mo au lieu de 800.
FROM node:24-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
ENV NITRO_PORT=3000
ENV NITRO_HOST=0.0.0.0
# On ne tourne pas en root : si l'application est compromise,
# l'attaquant n'a pas les pleins pouvoirs dans le conteneur.
RUN addgroup -S nuxt && adduser -S nuxt -G nuxt
COPY --from=builder --chown=nuxt:nuxt /app/.output ./.output
USER nuxt
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]