Files
got-gaming/README.docker.md

2.0 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 avec les variables suivantes :

NEXTAUTH_SECRET=your-secret-key-here
NEXTAUTH_URL=http://localhost:3000
POSTGRES_USER=gotgaming
POSTGRES_PASSWORD=change-this-in-production
POSTGRES_DB=gotgaming
DATABASE_URL=postgresql://gotgaming:change-this-in-production@got-postgres:5432/gotgaming?schema=public

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