2.6 KiB
Docker Setup
Ce projet inclut des fichiers Docker pour faciliter le déploiement.
Fichiers Docker
Dockerfile- Image de production optimisée (multi-stage build)docker-compose.yml- Configuration pour la production
Production
Pour construire et démarrer l'application en production :
# Construire l'image
docker-compose build
# Démarrer les services
docker-compose up -d
# Voir les logs
docker-compose logs -f
Variables d'environnement
Créez un fichier .env à la racine du projet à partir du template .env.example :
cp .env.example .env
Puis modifiez les valeurs dans .env selon votre configuration :
# NextAuth Configuration
NEXTAUTH_SECRET=your-secret-key-here
NEXTAUTH_URL=http://localhost:3000
# PostgreSQL Configuration
POSTGRES_USER=gotgaming
POSTGRES_PASSWORD=change-this-in-production
POSTGRES_DB=gotgaming
# Database URL (optionnel - construite automatiquement si non définie)
# DATABASE_URL=postgresql://gotgaming:change-this-in-production@got-postgres:5432/gotgaming?schema=public
# Docker Volumes (optionnel)
POSTGRES_DATA_PATH=./data/postgres
UPLOADS_PATH=./public/uploads
Important :
- Le fichier
.envest ignoré par Git (ne pas commiter vos secrets) - Si vous changez
POSTGRES_PASSWORDaprès la première initialisation, vous devrez soit réinitialiser la base, soit changer le mot de passe manuellement dans PostgreSQL
Volumes persistants
Base de données PostgreSQL
La base de données PostgreSQL est persistée via un volume Docker. Par défaut, elle est stockée dans ./data/postgres, mais vous pouvez la personnaliser avec la variable d'environnement POSTGRES_DATA_PATH.
Les migrations Prisma sont appliquées automatiquement au démarrage du conteneur.
Pour appliquer manuellement les migrations :
docker-compose exec got-app pnpm dlx prisma migrate deploy
Images uploadées
Les images uploadées (avatars et backgrounds) sont persistées dans un volume Docker. Par défaut, elles sont stockées dans ./uploads à la racine du projet, mais vous pouvez personnaliser le chemin avec la variable d'environnement UPLOADS_PATH.
- Les avatars sont stockés dans
uploads/ - Les backgrounds sont stockés dans
uploads/backgrounds/
Exemple pour utiliser un chemin personnalisé :
UPLOADS_PATH=/path/to/your/uploads docker-compose up -d
Commandes utiles
# Arrêter les conteneurs
docker-compose down
# Reconstruire sans cache
docker-compose build --no-cache
# Accéder au shell du conteneur
docker-compose exec got-app sh
# Voir les logs en temps réel
docker-compose logs -f got-app