Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
---
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