# 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 : ```bash # 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` : ```bash cp .env.example .env ``` Puis modifiez les valeurs dans `.env` selon votre configuration : ```env # 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 `.env` est ignoré par Git (ne pas commiter vos secrets) - Si vous changez `POSTGRES_PASSWORD` aprè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 : ```bash 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é : ```bash UPLOADS_PATH=/path/to/your/uploads docker-compose up -d ``` ## Commandes utiles ```bash # 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 ```