| backups | ||
| dbgate | ||
| mariadb-init | ||
| mysql-init | ||
| phpmyadmin | ||
| redis | ||
| .gitignore | ||
| docker-compose.yml | ||
| readme.md | ||
Docker Dbs
Un environnement Docker unifié pour utiliser plusieurs bases de données localement, à la manière de Devilbox.
Table des matières
- Docker Dbs
- Table des matières
- Services inclus
- Interfaces Web
- Compatibilité des bases de données entre MySQL et Mariadb
- Thèmes personnalisées de PhpMyAdmin
- Pour la sauvegarde des configs de PhpMyAdmin.
- Connection à PostgreSQL avec PgAdmin
- Redis et Redis-commander
- UI pour gérer les données MongoDB (Recommendation)
- Gestionnaire de base de données universel (DbGate Web)
- Backup MariaDB
- Backup MySQL
- Backup PostgreSql
- Backup MongoDB
- Commandes
- Données persistantes
Services inclus
| Service | Version | Port | Utilisateur | Mot de passe |
|---|---|---|---|---|
| MariaDB | 11.8.2 | 3306 | root / mysql | root / mysql |
| PostgreSQL | 17.5 | 5432 | root | root |
| Redis | 8.0 | 6379 | — | — |
| MongoDB | 8.0 | 27018 | root | root |
| MySQL | 8.0 | 3307 | root / mysql | root / mysql |
| Gitea | 1.24.6 | 3333/222 | votre choix | votre choix |
MongoDB est sur le port 27018 au lieu de 27017, car j'ai de mon bord l'installation complète de MongoDB Compass qui m'a aussi installé mongosh qui contient un serveur MongoDB.
Interfaces Web
| Interface | Version | URL | User | Password |
|---|---|---|---|---|
| Adminer | 4.8.1 | http://localhost:8080 | root / mysql | root / mysql |
| Redis Commander | Latest | http://localhost:8081 | ||
| PhpMyAdmin | 5.2.2 Apache | http://localhost:8082 | root / mysql | root /mysql |
| PgAdmin | 4.9.4 | http://localhost:8083 | admin@admin.com | root |
| DbGate Web | Latest | http://localhost:8084 |
Compatibilité des bases de données entre MySQL et Mariadb
- Aller sur PhpMyAdmin avec MariaDb
- Aller dans variables.
- Filtrer par collation
- character set collations = utf8mb4=utf8mb4_unicode_ci
- collation connection = utf8mb4_unicode_ci
- collation database = utf8mb4_unicode_ci
- collation server = utf8mb4_unicode_ci
Faire pareil avec la connection MySQL par PhpMyAdmin.
Ensuite tout les dumps sql de MariaDB et MySQL pourront être utilisé pour les ajouter à l'autre serveur si nécessaire et vice-versa.
Thèmes personnalisées de PhpMyAdmin
Ce repo a déjà plusieurs thèmes pré installés.
- BooDark
- BooDark-Nord
- BooDark-Orange
- BooDark-Teal
- Bootstrap
- Darkwolf
- Metro
- Original
- PmaHomme
Pour ajouter de nouveaux thèmes c'est dans phpmyadmin/themes.
Pour la sauvegarde des configs de PhpMyAdmin.
Il se peut que tout en bas lorsque vous êtes connectés par PhpMyAdmin qu'il y a un message d'erreur. Cliquer dessus et accepter la création de la base de données pour ces configurations. Il faudra sûrement le faire pour l'autre serveur de base de données.
Connection à PostgreSQL avec PgAdmin
- Nouveau serveur.
- Dans Connexion mettre la config suivante:
- Hôte: postgres
- Port: 5432
- Base de données de maintenance: postgres
- Identifiant: root
- Mot de passe: root
Redis et Redis-commander
Multiple bases de données
Pour réduire ou augmenter le nombre de bases de donneés Redis il faut changer le nombre après la variable databases dans le fichier redis/redis.conf.
Ajouter des connexions de bases de données à Redis-commander
- Cliquer sur More.
- Ensuite Add Server.
- Hostname: redis.
- Port: 6379.
- Database index: La base de données à se connecter.
UI pour gérer les données MongoDB (Recommendation)
Je suggère d'installer sur votre machine le logiciel graphique officiel de MongoDB qui est MongoDB Compass.
Lien du logiciel: https://www.mongodb.com/products/tools/compass
Le lien de connexion au serveur MongoDB est le suivant: mongodb://root:root@127.0.0.1:27018/
Gestionnaire de base de données universel (DbGate Web)
DbGate Web est compatibles avec tout les services de base de données fourni par ce repo.
J'ai fait en sorte que les connexions aux services se font automatiquement au lancement du container.
Backup MariaDB
Je suggère d'utiliser Git Bash pour ceux sur Windows pour exécuter les script sh. Aussi faite le dans le dossier backup/mariadb l'exécution des commandes, c'est plus simple.
Backup
sh backup.sh [nom_bd]
Restore
sh restore.sh [nom_script.sql]
Backup MySQL
Je suggère d'utiliser Git Bash pour ceux sur Windows pour exécuter les script sh. Aussi faite le dans le dossier backup/mysql l'exécution des commandes, c'est plus simple.
Backup
sh backup.sh [nom_bd]
Restore
sh restore.sh [nom_script.sql]
Backup PostgreSql
Je suggère d'utiliser Git Bash pour ceux sur Windows pour exécuter les script sh. Aussi faite le dans le dossier backup/postgres l'exécution des commandes, c'est plus simple.
Backup
sh backup.sh [nom_bd]
Restore
sh restore.sh [nom_script.sql]
Backup MongoDB
Je suggère d'utiliser Git Bash pour ceux sur Windows pour exécuter les script sh. Aussi faite le dans le dossier backup/mongodb l'exécution des commandes, c'est plus simple.
Backup
sh backup.sh [nom_bd]
Restore
sh restore.sh [nom_bd] [nom_archive.tar.gz]
Commandes
Démarrer
docker-compose up -d
Arrêter
docker-compose down
Supprimer
docker-compose down -v
Données persistantes
Les données sont stockées dans des volumes Docker (*_data), donc elles sont conservées après arrêt/redémarrage.