--- title: Portabase created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, backup, mysql, postgresql, mongo, dart, multi-db] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/Portabase/portabase] --- # 🗄️ Portabase > **Le couteau suisse du backup de bases de données** : une seule app pour sauvegarder **MySQL, PostgreSQL, MongoDB, SQLite, et d'autres**, avec une UI web simple et un binaire unique. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | (GitHub) | | **GitHub** | [Portabase/portabase](https://github.com/Portabase/portabase) | | **License** | MIT | | **Langage** | Dart (Flutter web backend) | | **Étoiles GitHub** | 961 ⭐ | | **Catégorie** | [[cat-database\|Database]] | | **Public** | Débutants à intermédiaires | ## 📝 Description **Portabase** est un **outil de backup et restore de bases de données multi-SGBD** avec une interface web. Contrairement à [[app-pg-back-web]] qui est focalisé Postgres, Portabase vise large : vous connectez une ou plusieurs bases, l'app détecte le type (MySQL, Postgres, Mongo, SQLite), et vous pouvez programmer des dumps centralisés. - ✅ **Multi-bases** : MySQL, MariaDB, PostgreSQL, MongoDB, SQLite - ✅ **Interface web unique** pour toutes vos instances - ✅ **Planification cron-like** : sauvegardes automatiques à fréquence configurable - ✅ **Stockage local + S3** : disque, MinIO, AWS S3, Backblaze B2 - ✅ **Restauration en un clic** depuis l'UI - ✅ **Historique des dumps** : visualisation taille, durée, statut - ✅ **Rétention** : combien de dumps garder par base - ✅ **Compression** : gzip automatique - ✅ **Notifications** : webhook, email (selon configuration) - ✅ **Binaire unique Dart** : déploiement simple - ✅ **Authentification intégrée** **Public cible** : **les homelabbers et petites équipes qui self-hostent des bases hétérogènes**. Si vous avez un WordPress (MySQL), un Nextcloud (Postgres), et un Mongo de logging, Portabase unifie tout dans une seule UI. C'est l'équivalent moderne d'un script `pg_dump` + `mysqldump` + cron, mais avec une console centralisée. ## 🚀 Installation ### Docker Compose ```yaml # docker-compose.yml version: '3.8' services: portabase: image: ghcr.io/portabase/portabase:latest container_name: portabase restart: unless-stopped environment: PORTABASE_ADMIN_EMAIL: admin@example.com PORTABASE_ADMIN_PASSWORD: change-me-now PORTABASE_ENCRYPTION_KEY: 32-bytes-random-base64-key volumes: - portabase-data:/app/data - portabase-backups:/app/backups ports: - "8090:8090" labels: - "traefik.enable=true" - "traefik.http.routers.portabase.rule=Host(`portabase.example.com`)" - "traefik.http.routers.portabase.entrypoints=websecure" - "traefik.http.routers.portabase.tls.certresolver=letsencrypt" volumes: portabase-data: portabase-backups: ``` ### Bare-metal (Dart) ```bash git clone https://github.com/Portabase/portabase.git cd portabase dart pub get dart run bin/main.dart ``` ## ⚙️ Configuration Initiale 1. **Accéder à l'UI** : `http://IP:8090` (ou via reverse-proxy HTTPS) 2. **Login** avec les credentials admin configurés 3. **Ajouter une connexion** : menu "Connections" → "New" → choisir le type (MySQL, Postgres, Mongo, SQLite) → host, port, user, password 4. **Tester la connexion** : bouton "Test" pour vérifier que l'app peut joindre la base 5. **Créer un job de backup** : sélectionner la connexion, choisir les bases, la fréquence, la destination (local ou S3) 6. **Premier dump manuel** : bouton "Backup now" pour valider end-to-end avant d'automatiser ## 🔄 Alternatives ### Open Source - [[app-pg-back-web]] — Équivalent focalisé Postgres, plus mature - [[app-velld]] — Concurrent direct, aussi multi-bases - **BorgBackup / Restic** — Pas spécifique aux bases, mais excellent pour archiver - **Autobackup** (scripts) — DIY avec cron + `pg_dump` / `mysqldump` - **pgBackRest** — Standard bare-metal pour Postgres ### Comparaison Portabase vs autres | Critère | Portabase | PG Back Web | Velld | Scripts cron | | :--- | :--- | :--- | :--- | :--- | | **Multi-SGBD** | ✅ | ❌ (Postgres) | ✅ | ✅ (DIY) | | **UI web** | ✅ | ✅ | ✅ | ❌ | | **Restauration UI** | ✅ | ✅ | ✅ | ❌ (manuel) | | **S3** | ✅ | ✅ | ✅ | ✅ (script) | | **Notifications** | ✅ | ✅ | ✅ | ✅ (script) | | **Difficulté setup** | 5 min | 5 min | 5 min | 30+ min | | **Maturité** | Jeune | Établi | Jeune | — | **Verdict** : Portabase est **idéal pour le multi-bases** quand vous voulez une seule console pour tout. Si vous n'avez que du Postgres, [[app-pg-back-web]] est plus spécialisé. Si vous voulez un outil avec une roadmap active et de l'automation, comparez avec Velld. ### Propriétaires (ce que Portabase remplace) - **SimpleBackups** (SaaS, freemium) - **SnapShooter** (SaaS pour backups serveur) - **Cloud Provider backups** managés ## 🔐 Sécurité - **`PORTABASE_ENCRYPTION_KEY`** : indispensable pour chiffrer les credentials et les dumps au repos — **à sauvegarder hors-ligne** - **Placez Portabase derrière un reverse-proxy authentifié** : exposition contrôlée, cf. [[securisation-home-lab]] - **HTTPS obligatoire** : les dumps contiennent des données sensibles, ne jamais transiter en clair - **Chiffrement des destinations S3** : activez SSE sur le bucket et les permissions IAM minimales ## 📚 Ressources - [GitHub Portabase/portabase](https://github.com/Portabase/portabase) - [Documentation officielle](https://github.com/Portabase/portabase/wiki) - [Site du projet](https://portabase.app/) ## Pages Liées - [[cat-database]] — Catégorie Database - [[app-traefik]] — Reverse-proxy HTTPS - [[recettes-docker-compose]] — Templates Docker Compose - [[securisation-home-lab]] — Sécuriser l'accès aux interfaces d'admin - [[app-portainer]] — Gestion des containers Docker - [[app-dockge]] — Alternative UI à Portainer