Ce projet contient un environnement de développement complet avec :
- Nginx Proxy Manager : Gestionnaire de proxy avec interface web
- MySQL 8.0 : Base de données relationnelle
- Redis : Cache et stockage en mémoire
- phpMyAdmin : Interface web pour MySQL (optionnel)
- Redis Commander : Interface web pour Redis (optionnel)
-
Copiez le fichier de configuration :
cp env.example .env
-
Modifiez les mots de passe dans le fichier
.envselon vos besoins -
Lancez l'environnement :
docker-compose up -d
| Service | URL | Ports | Identifiants par défaut |
|---|---|---|---|
| Nginx Proxy Manager | http://localhost:81 | 80, 81, 443 | admin@example.com / changeme |
| MySQL | localhost:3306 | 3306 | Voir fichier .env |
| Redis | localhost:6380 | 6380 | Mot de passe dans .env |
| phpMyAdmin | http://localhost:8080 | 8080 | Utilisateur MySQL |
| Redis Commander | http://localhost:8081 | 8081 | - |
- Accédez à http://localhost:81
- Connectez-vous avec :
- Email :
admin@example.com - Mot de passe :
changeme
- Email :
- Changez immédiatement ces identifiants par défaut
- La base de données
nginx_proxy_managerest créée automatiquement - L'utilisateur
npm_userest configuré pour NPM - Vous pouvez créer d'autres bases de données via phpMyAdmin
- Configuré avec persistance (AOF)
- Mot de passe requis (défini dans .env)
# Démarrer l'environnement docker-compose up -d # Voir les logs docker-compose logs -f # Arrêter l'environnement docker-compose down # Arrêter et supprimer les volumes (⚠️ perte de données) docker-compose down -v # Redémarrer un service spécifique docker-compose restart nginx-proxy-manager # Accéder au shell d'un container docker-compose exec mysql bash docker-compose exec redis redis-cli
Les données sont persistées dans des volumes Docker :
mysql_data: Données MySQLredis_data: Données Redisnpm_data: Configuration NPMnpm_letsencrypt: Certificats SSL
Tous les services communiquent via le réseau dev-network. Les services peuvent se référencer par leur nom de container :
mysql: Serveur MySQLredis: Serveur Redisnginx-proxy-manager: NPM
Pour la production :
- Changez tous les mots de passe par défaut
- Utilisez des mots de passe forts
- Configurez un pare-feu approprié
- Activez SSL/TLS
- Limitez l'accès aux interfaces d'administration