services: towercontrol: build: context: . dockerfile: Dockerfile target: runner ports: - '3006:3000' environment: NODE_ENV: production DATABASE_URL: 'file:../data/dev.db' # Prisma BACKUP_DATABASE_PATH: './data/dev.db' # Base de données à sauvegarder BACKUP_STORAGE_PATH: './data/backups' # Dossier des sauvegardes TZ: Europe/Paris # NextAuth.js NEXTAUTH_SECRET: 'TbwIWAmQgBcOlg7jRZrhkeEUDTpSr8Cj/Cc7W58fAyw=' NEXTAUTH_URL: 'http://localhost:3006' volumes: - ./data:/app/data # Dossier local data/ vers /app/data restart: unless-stopped healthcheck: test: ['CMD', 'wget', '-qO-', 'http://localhost:3000/api/health'] interval: 30s timeout: 10s retries: 3 start_period: 40s towercontrol-dev: build: context: . dockerfile: Dockerfile target: base ports: - '3005:3000' environment: NODE_ENV: development DATABASE_URL: 'file:../data/dev.db' # Prisma BACKUP_DATABASE_PATH: './data/dev.db' # Base de données à sauvegarder BACKUP_STORAGE_PATH: './data/backups' # Dossier des sauvegardes TZ: Europe/Paris # NextAuth.js NEXTAUTH_SECRET: 'TbwIWAmQgBcOlg7jRZrhkeEUDTpSr8Cj/Cc7W58fAyw=' NEXTAUTH_URL: 'http://localhost:3005' volumes: - .:/app # code en live - /app/node_modules # vol anonyme pour ne pas écraser ceux du conteneur - /app/.next - ./data:/app/data # Dossier local data/ vers /app/data command: > sh -c "npm install && npx prisma generate && npx prisma migrate deploy && npm run dev" profiles: - dev # 📁 Structure des données : # ./data/ -> /app/data (bind mount) # ├── prod.db -> Base de données production # ├── dev.db -> Base de données développement # └── backups/ -> Sauvegardes automatiques # # 🔧 Configuration via .env.docker # 📚 Documentation : ./data/README.md