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
+154
View File
@@ -0,0 +1,154 @@
---
title: Databasus
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, backup, postgresql, typescript, fair-source, intermediate]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/databasus/databasus]
---
# 🗄️ Databasus
> **Le spécialiste de la sauvegarde PostgreSQL automatisée** : planification, chiffrement, restauration sélective. Une alternative moderne et self-hosted aux services managés type pgBackWeb.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [databasus.com](https://databasus.com/) |
| **GitHub** | [databasus/databasus](https://github.com/databasus/databasus) |
| **License** | **Fair Source** (source visible, restrictions sur les usages commerciaux concurrents) |
| **Langage** | TypeScript (Node.js) |
| **Étoiles GitHub** | 7,1k ⭐ |
| **Dernière MAJ** | 2026-05-30 |
| **Catégorie** | [[cat-database\|Database]] |
## 📝 Description
**Databasus** est un outil **self-hosted de backup PostgreSQL** qui automatise planification, exécution et restauration des sauvegardes. Le projet vise clairement la simplicité opérationnelle : une UI web claire, peu de configuration, et des sauvegardes fiables avec rotation et notification. C'est un projet relativement jeune mais qui a rapidement trouvé sa place grâce à son approche opinionated et à son expérience utilisateur soignée.
⚠️ **À noter sur la licence** : Databasus utilise une licence **Fair Source** (équivalent de Business Source License). Cela signifie que le code source est **public et lisible**, mais qu'il existe des **restrictions sur l'usage commercial** : il est interdit de proposer Databasus en tant que service concurrent. Pour un usage personnel ou en entreprise interne, c'est libre ; pour du SaaS commercial, il faut contacter l'éditeur. Cette licence est différente des classiques MIT/Apache/AGPL et mérite d'être lue attentivement.
Fonctionnellement, Databasus supporte pg_dump et pg_basebackup, avec stockage sur disque local, S3, MinIO ou tout backend compatible. Les sauvegardes peuvent être chiffrées (AES-256), compressées, et la rotation est configurable par stratégie (nombre de sauvegardes conservées, durée). L'UI permet de **restaurer une sauvegarde en un clic** vers une base existante, ou de planifier des jobs récurrents. Le monitoring (succès/échec) remonte dans la même UI.
**Public cible** : **équipes utilisant PostgreSQL en production**, devs qui veulent un backup fiable sans scripter à la main, admins qui ont besoin d'une UI centralisée pour plusieurs bases.
### Fonctionnalités principales
-**Backups planifiés** : quotidien, horaire, custom cron
-**PostgreSQL** : pg_dump (logique) + pg_basebackup (physique)
-**Stockage multiple** : disque local, S3, MinIO, S3-compatible
-**Chiffrement AES-256** des sauvegardes
-**Restauration sélective** : choisir une sauvegarde et la restaurer en 1 clic
-**Rétention** : stratégie par nombre ou durée (GFS rotatif)
-**Notifications** : Email, Telegram, Discord, Webhook
-**Multi-bases** : gérer plusieurs instances PostgreSQL depuis une seule UI
-**Compression** : gzip, zstd
## 🚀 Installation
### Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
databasus:
image: databasus/databasus:latest
container_name: databasus
restart: unless-stopped
ports:
- "8080:8080"
environment:
# Secret à changer en prod !
APP_SECRET_KEY: "changez-moi-en-production-32-chars-min"
APP_BASE_URL: "https://backup.example.com"
volumes:
- databasus_data:/app/data
- databasus_backups:/backups
labels:
- "traefik.enable=true"
- "traefik.http.routers.databasus.rule=Host(`backup.example.com`)"
- "traefik.http.routers.databasus.entrypoints=websecure"
- "traefik.http.routers.databasus.tls.certresolver=letsencrypt"
volumes:
databasus_data:
databasus_backups:
```
### Docker Run (minimal)
```bash
docker run -d \
--name databasus \
--restart unless-stopped \
-p 8080:8080 \
-e APP_SECRET_KEY="$(openssl rand -hex 32)" \
-v databasus_data:/app/data \
-v databasus_backups:/backups \
databasus/databasus:latest
```
## ⚙️ Configuration Initiale
1. **Créer le compte admin** : à la première connexion, créer un utilisateur avec un mot de passe fort
2. **Ajouter une instance PostgreSQL** : URL de connexion, identifiants, base par défaut
3. **Configurer le stockage distant** (optionnel) : S3, MinIO, etc.
4. **Créer un job de backup** : planification, type (logique/physique), rétention
5. **Activer les notifications** : Telegram/Email/Discord pour les succès et échecs
6. **Tester la restauration** : créer un job et le restaurer pour valider la chaîne complète
## 🔄 Alternatives
### Open Source
- **pgBackRest** — Le standard pro pour PostgreSQL (CLI, robuste, incremental)
- **wal-g** — Backup continu basé sur les WAL Postgres
- **pgBackWeb** — Interface web UI pour pgBackRest, plus récente
- **Barman** — Solution de backup managée par EnterpriseDB
- [[app-velld]] — Backups multi-bases (MySQL, Postgres, Mongo)
- **autobackup** — Scripts shell minimalistes
### Comparaison Databasus vs alternatives
| Critère | Databasus | pgBackWeb | pgBackRest | wal-g |
| :--- | :--- | :--- | :--- | :--- |
| Interface web | ✅ | ✅ | ❌ | ❌ |
| Facilité de setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| UI intégrée | ✅ | ✅ | ❌ | ❌ |
| Stockage S3 | ✅ | ✅ | ✅ | ✅ |
| Chiffrement | ✅ | ✅ | ✅ | ✅ |
| Incrémental | ❌ | ❌ | ✅ | ✅ |
| Licence | Fair Source | AGPL | MIT | Apache |
**Verdict** : Databasus brille par sa **simplicité et son UI**. Pour des besoins de PITR (point-in-time-recovery) ou des bases très volumineuses, préférer pgBackRest ou wal-g.
### Propriétaires (ce que Databasus remplace)
- **Cloud SQL automated backups** (Google)
- **RDS automated backups** (AWS)
- **Crunchy Bridge Backup**
- **Aiven backup service**
## 🔐 Sécurité
- **🔐 `APP_SECRET_KEY` obligatoire en production** : sert à chiffrer les credentials des bases dans la BDD interne. `openssl rand -hex 32` minimum
- **🔒 Stocker les sauvegardes hors du serveur** : S3/MinIO plutôt que disque local, sinon un crash disque = perte du backup
- **🛡️ Chiffrement AES-256 des sauvegardes** : activé par défaut, conserver la clé de chiffrement dans un vault (Bitwarden, KeePass, Vaultwarden)
## 📚 Ressources
- [Site officiel](https://databasus.com/)
- [Documentation](https://docs.databasus.com/)
- [GitHub databasus/databasus](https://github.com/databasus/databasus)
- [Fair Source Definition](https://fair.io/)
## Pages Liées
- [[cat-database]] — Catégorie Database
- [[app-traefik]] — Pour exposer Databasus en HTTPS
- [[recettes-docker-compose]] — Intégration dans une stack existante
- [[securisation-home-lab]] — Bonnes pratiques de backup