Ajout de la configuration Docker
This commit is contained in:
25
.dockerignore
Normal file
25
.dockerignore
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Docker-specific
|
||||||
|
Dockerfile
|
||||||
|
docker-compose.yml
|
||||||
|
|
||||||
|
# build output
|
||||||
|
dist/
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# logs
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
|
||||||
|
# environment variables
|
||||||
|
.env
|
||||||
|
.env.production
|
||||||
|
|
||||||
|
# macOS-specific files
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# jetbrains setting folder
|
||||||
|
.idea/
|
||||||
30
Dockerfile
Normal file
30
Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# ---- Étape 1 : Build ----
|
||||||
|
# On utilise une image Node.js (version Alpine pour sa légèreté) pour construire le projet.
|
||||||
|
# L'alias "builder" nous permettra de réutiliser son contenu plus tard.
|
||||||
|
FROM node:20-alpine AS builder
|
||||||
|
|
||||||
|
# On définit le répertoire de travail dans le conteneur.
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# On copie les fichiers de dépendances.
|
||||||
|
COPY package*.json ./
|
||||||
|
|
||||||
|
# On installe les dépendances du projet.
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
# On copie tout le reste du code source.
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# On lance la commande de build d'Astro.
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# ---- Étape 2 : Serve ----
|
||||||
|
# On part d'une image Nginx très légère pour servir nos fichiers statiques.
|
||||||
|
FROM nginx:stable-alpine
|
||||||
|
|
||||||
|
# On copie uniquement le résultat du build (le dossier /app/dist) de l'étape "builder"
|
||||||
|
# dans le dossier par défaut de Nginx qui sert les pages web.
|
||||||
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||||
|
|
||||||
|
# On expose le port 80 pour pouvoir accéder au serveur Nginx depuis l'extérieur du conteneur.
|
||||||
|
EXPOSE 80
|
||||||
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
services:
|
||||||
|
# Le nom de notre service, vous pouvez l'appeler comme vous voulez.
|
||||||
|
sweet-astro-site:
|
||||||
|
# Indique à Docker Compose de construire l'image à partir du Dockerfile
|
||||||
|
# présent dans le répertoire courant ('.').
|
||||||
|
build: .
|
||||||
|
# Mappe le port 8080 de la machine hôte (votre Pi) au port 80 du conteneur (Nginx).
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
# Redémarre automatiquement le conteneur s'il s'arrête (ex: après un redémarrage du Pi).
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user