Initial vault setup
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
---
|
||||
title: Velld
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, database, backup, typescript, multi-db, automation]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Database, https://github.com/dendianugerah/velld]
|
||||
---
|
||||
|
||||
# 🗄️ Velld
|
||||
|
||||
> **Gestion et automatisation de backups de bases** : un tableau de bord moderne pour programmer, superviser et restaurer vos sauvegardes multi-SGBD, avec un accent fort sur l'automation.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | (GitHub) |
|
||||
| **GitHub** | [dendianugerah/velld](https://github.com/dendianugerah/velld) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript (Node.js + Next.js) |
|
||||
| **Étoiles GitHub** | 474 ⭐ |
|
||||
| **Catégorie** | [[cat-database\|Database]] |
|
||||
| **Public** | Intermédiaires |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Velld** est une **plateforme de gestion de backups de bases de données** avec une interface moderne et un focus sur l'automatisation. Concurrent direct de [[app-portabase]], il vise le même public — les homelabbers et équipes qui veulent unifier leurs sauvegardes — mais avec une stack 100 % TypeScript et une approche plus orientée "dashboard".
|
||||
|
||||
- ✅ **Multi-bases** : MySQL, PostgreSQL, MongoDB, MariaDB
|
||||
- ✅ **Dashboard moderne** : visualisation de l'état de santé des backups en un coup d'œil
|
||||
- ✅ **Planification flexible** : cron, intervalles personnalisés
|
||||
- ✅ **Stockage multiple** : local, S3, S3-compatible (MinIO, Backblaze, Wasabi)
|
||||
- ✅ **Restauration depuis l'UI** : sélection d'un dump, choix de la base cible
|
||||
- ✅ **Rétention configurable** : par stratégie, par base
|
||||
- ✅ **Compression et chiffrement** : dumps compressés, chiffrés au repos
|
||||
- ✅ **Notifications** : Discord, Slack, email, webhook
|
||||
- ✅ **API REST** : intégration dans vos workflows CI/CD
|
||||
- ✅ **Authentification intégrée** : multi-utilisateurs
|
||||
- ✅ **Historique détaillé** : logs d'exécution, durée, taille, statut
|
||||
|
||||
**Public cible** : **les équipes qui gèrent plusieurs bases** et veulent **automatiser** leurs sauvegardes avec une supervision claire. Le projet est plus jeune que [[app-pg-back-web]] mais plus orienté multi-bases. C'est un choix solide si vous appréciez l'écosystème TypeScript / Next.js (cohérence avec un éventuel front-end custom).
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
velld:
|
||||
image: ghcr.io/dendianugerah/velld:latest
|
||||
container_name: velld
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
VELLD_SECRET: change-me-32-bytes-secret
|
||||
VELLD_DATABASE_URL: postgresql://velld:change-me@velld-db:5432/velld
|
||||
VELLD_ADMIN_EMAIL: admin@example.com
|
||||
VELLD_ADMIN_PASSWORD: change-me-now
|
||||
depends_on:
|
||||
velld-db:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- velld-data:/app/data
|
||||
- velld-backups:/app/backups
|
||||
ports:
|
||||
- "8091:8091"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.velld.rule=Host(`velld.example.com`)"
|
||||
- "traefik.http.routers.velld.entrypoints=websecure"
|
||||
- "traefik.http.routers.velld.tls.certresolver=letsencrypt"
|
||||
|
||||
velld-db:
|
||||
image: postgres:16-alpine
|
||||
container_name: velld-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_USER: velld
|
||||
POSTGRES_PASSWORD: change-me
|
||||
POSTGRES_DB: velld
|
||||
volumes:
|
||||
- velld-pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U velld"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
velld-data:
|
||||
velld-backups:
|
||||
velld-pgdata:
|
||||
```
|
||||
|
||||
### Bare-metal (Node.js)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/dendianugerah/velld.git
|
||||
cd velld
|
||||
pnpm install
|
||||
pnpm build
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Accéder à l'UI** : `http://IP:8091` (ou via reverse-proxy)
|
||||
2. **Login admin** avec les credentials initialisés par les variables d'environnement
|
||||
3. **Ajouter une connexion source** : menu "Connections" → choisir le type (MySQL, Postgres, Mongo) → credentials
|
||||
4. **Définir une destination de stockage** : menu "Storage" → local ou S3 (bucket, region, clés)
|
||||
5. **Créer un schedule de backup** : sélectionner connexion + destination + fréquence + rétention
|
||||
6. **Tester une exécution manuelle** : bouton "Run now" depuis le schedule, vérifier l'apparition du dump
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
|
||||
- [[app-portabase]] — Concurrent direct, plus mature sur le multi-bases
|
||||
- [[app-pg-back-web]] — Référence Postgres, plus simple si mono-SGBD
|
||||
- **BorgBackup / Restic** — Backups fichiers/dossiers, pas spécifiques aux bases
|
||||
- **pgBackRest** — Standard bare-metal Postgres
|
||||
- **Autobackup scripts** — DIY cron + `pg_dump`
|
||||
|
||||
### Comparaison Velld vs autres
|
||||
|
||||
| Critère | Velld | Portabase | PG Back Web | pgBackRest |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| **Multi-SGBD** | ✅ | ✅ | ❌ (Postgres) | ❌ (Postgres) |
|
||||
| **UI moderne** | ✅ | ✅ | ✅ | ❌ (CLI) |
|
||||
| **Automation** | Forte | Moyenne | Forte | Forte |
|
||||
| **S3 / cloud** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Chiffrement at rest** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Notifications** | Multi | Limité | Multi | Logs |
|
||||
| **API REST** | ✅ | ✅ | ✅ | Partielle |
|
||||
| **Stack** | TypeScript | Dart | Go | Bash/C |
|
||||
|
||||
**Verdict** : Velld est un **concurrent sérieux de Portabase** avec une stack 100 % TypeScript appréciée en entreprise. Pour un projet jeune mais actif, c'est un bon choix si vous voulez une UI moderne. Pour du Postgres pur, [[app-pg-back-web]] reste plus simple.
|
||||
|
||||
### Propriétaires (ce que Velld remplace)
|
||||
|
||||
- **SimpleBackups** (SaaS freemium)
|
||||
- **Aiven** (backups managés)
|
||||
- **Cloud Provider backup automation** (scripts custom)
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **`VELLD_SECRET`** : clé de chiffrement des secrets, à sauvegarder **hors-ligne** dès l'init
|
||||
- **HTTPS obligatoire** via [[app-traefik]] : les dumps transitent des credentials et des données
|
||||
- **Restreindre l'accès** : Velld expose un contrôle total sur les bases, gardez-le derrière un VPN / SSO (cf. [[securisation-home-lab]])
|
||||
- **Chiffrement S3** : SSE-KMS recommandé sur le bucket de destination, IAM keys rotatives
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub dendianugerah/velld](https://github.com/dendianugerah/velld)
|
||||
- [Documentation officielle](https://github.com/dendianugerah/velld#readme)
|
||||
- [Issues & Roadmap](https://github.com/dendianugerah/velld/issues)
|
||||
|
||||
## 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
|
||||
Reference in New Issue
Block a user