feat: Creating Docker deployment

This commit is contained in:
gauvainboiche
2026-08-01 17:45:42 +02:00
parent 7a7815f3bd
commit 4fee4c4eb9
4 changed files with 48 additions and 1 deletions
+6
View File
@@ -0,0 +1,6 @@
node_modules
npm-debug.log
.git
.gitignore
.DS_Store
README.md
+27
View File
@@ -0,0 +1,27 @@
# Image de base légère Node.js (version LTS)
FROM node:20-alpine
# Définition du répertoire de travail
WORKDIR /app
# Copie des manifests de dépendances en attribuant la propriété à l'utilisateur 'node'
COPY --chown=node:node backend/package*.json ./backend/
# Installation propre des dépendances de production
RUN cd backend && npm ci --omit=dev
# Copie de l'ensemble du projet avec la bonne propriété utilisateur
COPY --chown=node:node . .
# Passage à l'utilisateur non-privilégié 'node'
USER node
# Variables d'environnement
ENV NODE_ENV=production
ENV PORT=3000
# Exposition du port (3000 est > 1024, donc autorisé sans privilèges root)
EXPOSE 3000
# Démarrage du serveur Node.js
CMD ["node", "backend/server.js"]
+3 -1
View File
@@ -7,8 +7,10 @@ const PORT = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
// Servir le fichier pkCore.js situé à la racine
app.use('/pkCore.js', express.static(path.join(__dirname, '../pkCore.js')));
// Service des fichiers statiques (Frontend)
// Servir les fichiers statiques du dossier frontend
app.use(express.static(path.join(__dirname, '../frontend')));
// Base de données temporaire en mémoire pour les sauvegardes
+12
View File
@@ -0,0 +1,12 @@
version: '3.8'
services:
keta-pk:
build: .
container_name: keta-pk-web
ports:
- "3000:3000"
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000