Ajout de fichiers Docker pour la configuration de Traefik et le déploiement de l'application Next.js

This commit is contained in:
Kevin 2025-02-18 03:04:15 +01:00
parent 664760dd66
commit 7261c7d2d2
2 changed files with 61 additions and 0 deletions

34
compose.yml Normal file
View File

@ -0,0 +1,34 @@
networks:
default:
services:
traefik:
container_name: neah-traefik
image: traefik:latest
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- default
front:
container_name: neah-front
build:
context: ./front
dockerfile: Dockerfile
environment:
- NODE_ENV=production
volumes:
- ./front:/app
labels:
- "traefik.enable=true"
- "traefik.http.routers.neah-front.rule=Host(`neah.local`)"
- "traefik.http.services.neah-front.loadbalancer.server.port=3000"
networks:
- default

27
front/Dockerfile Normal file
View File

@ -0,0 +1,27 @@
# Use Node.js 22 as the base image
FROM node:22-alpine
# Set working directory
WORKDIR /application
# Copy package files first
COPY package*.json ./
# Install dependencies
RUN npm ci
# Copy the rest of the application
COPY . .
# Build the Next.js application
RUN npm run build
# Expose port 3000
EXPOSE 3000
# Set environment variable
ENV NODE_ENV production
ENV NEXT_TELEMETRY_DISABLED 1
# Start the application and keep the container running even if it fails
CMD ["sh", "-c", "npm start || tail -f /dev/null"]