# Serveur Fastify + Socket.IO (Bun, monorepo). Contexte de build = racine du repo. FROM oven/bun:1.3.14-alpine WORKDIR /app # Manifests d'abord (cache des dépendances). COPY package.json bun.lock turbo.json ./ COPY apps/server/package.json apps/server/package.json COPY apps/web/package.json apps/web/package.json COPY packages/shared/package.json packages/shared/package.json COPY packages/ui/package.json packages/ui/package.json RUN bun install --frozen-lockfile # Sources nécessaires au serveur (le client n'est pas requis ici). COPY packages/shared packages/shared COPY apps/server apps/server WORKDIR /app/apps/server ENV NODE_ENV=production EXPOSE 3001 # Applique les migrations (idempotent) puis démarre le serveur. CMD ["sh", "-c", "bun src/db/migrate.ts && bun src/index.ts"]