Initial vault setup
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
---
|
||||
title: DbGate
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, database, multi-database, typescript, mysql, postgresql, mongodb, redis, sqlite, mit]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Database, https://github.com/dbgate/dbgate]
|
||||
---
|
||||
|
||||
# 🗄️ DbGate
|
||||
|
||||
> **Le client base de données multi-SGBD qui tourne partout** : desktop (Win/Mac/Linux) ET web, supporte une dizaine de moteurs relationnels ET NoSQL. Une alternative moderne et libre à DataGrip/Navicat.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [dbgate.org](https://dbgate.org/) |
|
||||
| **GitHub** | [dbgate/dbgate](https://github.com/dbgate/dbgate) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript (Node.js + Svelte) |
|
||||
| **Étoiles GitHub** | 7k ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-01 |
|
||||
| **Catégorie** | [[cat-database\|Database]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**DbGate** est un **client base de données multi-plateforme** : il existe en version **desktop** (Windows, macOS, Linux — installateur natif) et en version **web** (Docker). C'est sa grande force par rapport à la plupart des concurrents qui ne sont disponibles que dans un seul mode. Le projet a démarré en 2019 et a rapidement grossi grâce à son support étendu de SGBD et à sa licence MIT permissive.
|
||||
|
||||
Côté SGBD supportés, DbGate couvre aussi bien les **relationnels classiques** (PostgreSQL, MySQL/MariaDB, SQL Server, Oracle, SQLite) que les **NoSQL** (MongoDB, Redis), et quelques moteurs plus exotiques (Cassandra, ClickHouse). C'est l'outil idéal quand on jongle entre plusieurs moteurs. L'application propose un éditeur SQL avec autocomplétion, un navigateur de schémas, un designer visuel de relations, un explorateur de collections Mongo, et un visualiseur de clés Redis.
|
||||
|
||||
L'autre point fort est la **portabilité des données** : DbGate permet de **copier des données entre deux SGBD hétérogènes** (par ex. copier une table de MySQL vers Postgres, ou migrer une base SQLite vers Mongo). Combiné à son mode web Docker, il devient un outil d'administration centralisé pour toute l'équipe. La version commerciale (DbGate Cloud) ajoute des fonctionnalités team mais le core reste 100% open source MIT.
|
||||
|
||||
**Public cible** : **devs full-stack, DBA multi-SGBD, équipes hétérogènes** qui ont besoin d'un seul outil pour tous leurs moteurs.
|
||||
|
||||
### Fonctionnalités principales
|
||||
|
||||
- ✅ **Multi-SGBD** : PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, MongoDB, Redis, ClickHouse, Cassandra
|
||||
- ✅ **Multi-mode** : **Desktop** (Win/Mac/Linux) ET **Web** (Docker)
|
||||
- ✅ **Éditeur SQL** avec autocomplétion, historique, formatage
|
||||
- ✅ **Designer de schémas** : visualisation des relations, ERD
|
||||
- ✅ **Migration de données** entre SGBD hétérogènes
|
||||
- ✅ **Import/Export** : CSV, JSON, XML, SQL, XLSX
|
||||
- ✅ **Connexions SSH tunnel** pour bases derrière bastion
|
||||
- ✅ **Console NoSQL** : requêtes Mongo, commandes Redis
|
||||
- ✅ **Extensions** : plugins pour ajouter des drivers
|
||||
- ✅ **Mode sombre** + personnalisable
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1 : Docker Compose (web)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
dbgate:
|
||||
image: dbgate/dbgate:latest
|
||||
container_name: dbgate
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:3000"
|
||||
environment:
|
||||
LABEL_NAME: "Production"
|
||||
volumes:
|
||||
- dbgate_data:/root/.dbgate # connexions + préférences
|
||||
- /var/run/docker.sock:/var/run/docker.sock # pour découvrir les conteneurs
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dbgate.rule=Host(`dbgate.example.com`)"
|
||||
- "traefik.http.routers.dbgate.entrypoints=websecure"
|
||||
- "traefik.http.routers.dbgate.tls.certresolver=letsencrypt"
|
||||
|
||||
volumes:
|
||||
dbgate_data:
|
||||
```
|
||||
|
||||
### Option 2 : Desktop natif
|
||||
|
||||
```bash
|
||||
# Téléchargement direct sur https://dbgate.org
|
||||
# Ou via package managers
|
||||
# macOS
|
||||
brew install --cask dbgate
|
||||
# Windows
|
||||
winget install dbgate
|
||||
# Linux (AppImage, deb, rpm disponibles)
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Ajouter une connexion** : onglet "Add connection" > choisir le SGBD > remplir host/port/credentials
|
||||
2. **Tester la connexion** : bouton "Test" pour valider avant de sauvegarder
|
||||
3. **Explorer le schéma** : double-clic sur la base > voir tables, vues, routines
|
||||
4. **Exécuter une requête** : onglet "Query" > SQL + Run (Ctrl+Enter)
|
||||
5. **Importer un CSV** : menu Database > Import from CSV > mapper les colonnes
|
||||
6. **Configurer un tunnel SSH** : onglet "Advanced" de la connexion pour les bases derrière bastion
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
|
||||
- [[app-cloudbeaver]] — Concurrent direct, basé sur DBeaver, web uniquement
|
||||
- [[app-phpmyadmin]] — Spécialiste MySQL/MariaDB, web uniquement
|
||||
- [[app-whodb]] — Explorateur léger nouvelle génération
|
||||
- **DBeaver CE** — Le poids lourd, multi-SGBD, desktop
|
||||
- **HeidiSQL** — Excellent client Windows pour MySQL
|
||||
- **Sequel Ace** — Client macOS natif
|
||||
- **Beekeeper Studio** — Desktop multi-SGBD
|
||||
|
||||
### Comparaison DbGate vs alternatives
|
||||
|
||||
| Critère | DbGate | CloudBeaver | DBeaver CE | DataGrip |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| Mode Web | ✅ | ✅ | ❌ | ❌ |
|
||||
| Mode Desktop | ✅ | ❌ | ✅ | ✅ |
|
||||
| Licence | MIT | Apache | Apache | Propriétaire |
|
||||
| SGBD supportés | 10+ | 20+ | 30+ | 20+ |
|
||||
| Designer ERD | ✅ | ❌ | ✅ | ✅ |
|
||||
| Migration cross-SGBD | ✅ | ✅ | ❌ | ✅ |
|
||||
| Consommation RAM | Faible | Moyenne | Forte | Forte |
|
||||
| Prix | Gratuit | Gratuit | Gratuit | ~200€/an |
|
||||
|
||||
**Verdict** : DbGate est le **meilleur choix "polyvalent léger"**. Pour de la grosse prod DBA, DBeaver reste la référence.
|
||||
|
||||
### Propriétaires (ce que DbGate remplace)
|
||||
|
||||
- **DataGrip** (JetBrains, ~200€/an)
|
||||
- **Navicat** (~250€ par SGBD)
|
||||
- **TablePlus** (~100$/an)
|
||||
- **PopSQL** (cloud, ~200$/an)
|
||||
- **TeamSQL**
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **🔐 Stocker les credentials en sécurité** : DbGate chiffre les mots de passe dans `~/.dbgate/credentials.enc` (clé liée à la machine). En mode web Docker, le volume doit être protégé
|
||||
- **🔒 Isoler derrière Traefik** : DbGate en HTTP direct sur Internet = **risque critique** (accès direct à toutes les bases). **Authentification obligatoire + IP allowlist** ou VPN
|
||||
- **🛡️ Utiliser des utilisateurs DB en lecture seule** par défaut : créer des comptes dédiés pour DbGate, sans DROP/GRANT
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://dbgate.org/)
|
||||
- [Documentation](https://dbgate.org/docs)
|
||||
- [GitHub dbgate/dbgate](https://github.com/dbgate/dbgate)
|
||||
- [Démo en ligne](https://demo.dbgate.org/)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-database]] — Catégorie Database
|
||||
- [[app-traefik]] — Pour exposer DbGate en HTTPS (mode web)
|
||||
- [[recettes-docker-compose]] — Intégration avec d'autres services
|
||||
- [[securisation-home-lab]] — Protéger un outil d'admin bases
|
||||
Reference in New Issue
Block a user