mirror of
https://github.com/gauvainboiche/ketapk.git
synced 2026-09-02 03:03:11 +02:00
feat: Creating Docker deployment
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
.git
|
||||
.gitignore
|
||||
.DS_Store
|
||||
README.md
|
||||
+27
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user