Découvrez Portabase : l'outil de sauvegarde et restauration des bases de données
Portabase : un nom qui combine “port” et “database”, et qui reflète parfaitement l’objectif du projet : centraliser et simplifier la gestion des bases de données.
Né d’une initiative interne en R&D, Portabase a été conçu pour répondre à un besoin que nous rencontrions régulièrement : gérer plusieurs bases de données clients avec des sauvegardes automatisées, légères et fiables.
Un système inspiré de Portainer
Portabase s’inspire directement de Portainer, le célèbre outil open source de supervision de noeuds Docker et cluster Kubernetes. Nous avons imaginé un système similaire, mais dédié aux bases de données : un tableau de bord unique pour superviser toutes ses instances, consulter l’état des sauvegardes et restaurer facilement les données.
Portabase est composé d’un tableau de bord centralisé ainsi que d’agents capables de remonter des informations même depuis des réseaux privés.
Open source pour la communauté
Nous avons décidé de rendre Portabase open source, afin de partager notre travail et permettre à la communauté de bénéficier d’un outil de gestion de bases de données simple et évolutif. Nous espérons que ce projet contribuera à faciliter la vie des développeurs et administrateurs de bases de données, tout en encourageant les échanges autour de ses améliorations.
Fonctionnalités principales
- Workspaces : organisez vos projets et vos entreprises pour une gestion claire et structurée.
- RBAC (Role-Based Access Control): attribuez des rôles aux utilisateurs pour contrôler les accès aux différentes ressources.
- Stockage flexible : sauvegardez vos données soit localement sur votre machine, soit dans des systèmes compatibles S3.
- Gestion multi-base : support actuel pour PostgreSQL, MySQL, MariaDV et MongoDB, avec Redis à venir.
- Restauration simplifiée: restaurer une sauvegarde en un clic.
Comment ça marche ?
1️ Le dashboard centralisé
Le dashboard de Portabase est votre centre de contrôle. Vous pouvez :
- Visualiser l’état de toutes vos bases de données
- Consulter l’historique des sauvegardes
- Restaurer rapidement une base depuis n’importe quel point de sauvegarde
🔗 Explorez le projet : Portabase sur GitHub
2️Les agents Portabase
Les agents sont des modules légers installés sur vos serveurs ou réseaux privés. Ils remontent les informations de vos bases au dashboard, même si elles sont isolées derrière un réseau interne.
🔗 Explorez le projet : Portabase Agent sur GitHub
3️ Workspaces et RBAC
- Workspaces : organisez vos projets et entreprises pour une vue claire et structurée.
- RBAC (Role-Based Access Control) : attribuez des rôles et permissions aux utilisateurs pour sécuriser l’accès aux données.
4️ Stockage flexible
Vous pouvez choisir de stocker vos fichiers de sauvegarde :
- Localement sur votre machine
- Sur un système compatible S3 (AWS, Cloudflare R2, MinIO, RustFS, …)
- Sur Google Drive
Installation rapide avec Docker
Portabase se déploie facilement grâce à Docker et Docker Compose. Voici les étapes :
- Créez un fichier docker-compose.yml :
name: portabase-dashboard
services:
portabase:
container_name: portabase-app
image: portabase/portabase:latest
restart: always
env_file: .env
environment:
- TZ=Europe/Paris
ports:
- "${HOST_PORT:-8887}:80"
volumes:
- portabase-data:/data
depends_on:
db:
condition: service_healthy
db:
container_name: portabase-pg
image: postgres:17-alpine
restart: always
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres-data:
portabase-data:- Démarrez le service :
docker compose up -d
- Accédez au dashboard à
http://your-server-ip:8887et créez votre premier utilisateur.
Rejoignez-nous !
Portabase est un projet en constante évolution. Que vous soyez développeur, administrateur de bases de données ou simplement curieux, nous vous invitons à contribuer, tester et échanger avec nous !
🔗 Explorez le projet : Portabase sur GitHub
📺 Voir la démo : YouTube