6.5 KiB
title: PG Back Web created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, postgresql, backup, go, beginner] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/eduardolat/pgbackweb]
🗄️ PG Back Web
Les sauvegardes PostgreSQL sans la douleur : une web UI minimaliste pour programmer, superviser et restaurer vos dumps Postgres. Plus simple que
pg_dumpen cron, plus visible que les scripts maisons.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | (GitHub) |
| GitHub | eduardolat/pgbackweb |
| License | MIT |
| Langage | Go (backend) + TypeScript / Svelte (frontend) |
| Étoiles GitHub | 2,5k ⭐ |
| Catégorie | cat-database |
| Public | Débutants à intermédiaires |
📝 Description
PG Back Web est une interface web dédiée aux sauvegardes PostgreSQL. Le projet se positionne comme une alternative moderne à pg_dump + cron : au lieu de bricoler un script et de surveiller des logs en clair, vous avez une UI qui liste les bases, programme les dumps, et permet de restaurer en un clic.
- ✅ Découverte automatique des bases : connectez votre Postgres, l'app détecte les bases
- ✅ Planification flexible : cron-like, granularité à la minute
- ✅ Sauvegardes locales et S3 : disque local, MinIO, AWS S3, Backblaze B2, etc.
- ✅ Restauration en un clic : depuis l'UI, sélectionnez un dump, choisissez la base cible
- ✅ Rétention configurable : combien de dumps garder, par base
- ✅ Compression : gzip/zstd automatique
- ✅ Notifications : email, Discord, Slack, Telegram (en cas d'échec)
- ✅ API REST : tout est scriptable
- ✅ Multi-instances : sauvegardez plusieurs serveurs Postgres depuis une seule UI
- ✅ Authentification intégrée : multi-utilisateurs
- ✅ Léger : binaire Go unique, faible empreinte mémoire
Public cible : les devs et petites équipes qui self-hostent du Postgres et qui veulent une solution de backup visible et self-hosted sans payer pganalyze / pgBackRest manager. Très bon choix si vous n'avez pas 10 instances : simple, rapide à mettre en place, et bien plus lisible qu'un cron obscur.
🚀 Installation
Docker Compose
# docker-compose.yml
version: '3.8'
services:
pgbackweb:
image: eduardolat/pgbackweb:latest
container_name: pgbackweb
restart: unless-stopped
environment:
PBW_ENCRYPTION_KEY: change-me-32-bytes-base64
PBW_POSTGRES_HOST: postgres
PBW_POSTGRES_PORT: 5432
PBW_POSTGRES_USER: pgbackweb
PBW_POSTGRES_PASSWORD: change-me
PBW_POSTGRES_DB: pgbackweb
depends_on:
postgres:
condition: service_healthy
volumes:
- pgbackweb-data:/app/data
- pgbackweb-backups:/app/backups
ports:
- "8085:8085"
labels:
- "traefik.enable=true"
- "traefik.http.routers.pgbackweb.rule=Host(`pgback.example.com`)"
- "traefik.http.routers.pgbackweb.entrypoints=websecure"
- "traefik.http.routers.pgbackweb.tls.certresolver=letsencrypt"
postgres:
image: postgres:16-alpine
container_name: pgbackweb-db
restart: unless-stopped
environment:
POSTGRES_USER: pgbackweb
POSTGRES_PASSWORD: change-me
POSTGRES_DB: pgbackweb
volumes:
- pgbackweb-pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U pgbackweb"]
interval: 10s
timeout: 5s
retries: 5
volumes:
pgbackweb-data:
pgbackweb-backups:
pgbackweb-pgdata:
Bare-metal (Go)
git clone https://github.com/eduardolat/pgbackweb.git
cd pgbackweb
go build -o pgbackweb ./cmd/pgbackweb
./pgbackweb
⚙️ Configuration Initiale
- Accéder à l'UI :
http://IP:8085(ou via votre reverse-proxy) - Créer le compte admin : premier lancement, on vous demande un email + mot de passe
- Ajouter une instance Postgres à sauvegarder : menu "Servers" → "New" → host, port, user, password, base à découvrir
- Créer un plan de backup : choisissez la base, la fréquence (cron), la destination (local, S3), la rétention
- Tester un dump manuel : bouton "Run now" pour vérifier que tout fonctionne
- Restaurer : sélectionnez un dump dans la liste → "Restore" → choisissez la base cible
🔄 Alternatives
Open Source
- app-portabase — Backup multi-bases (Postgres, MySQL, Mongo)
- app-velld — Backup multi-bases avec planification
- pgBackRest — Le standard bare-metal pour Postgres, sans UI web
- wal-g — Alternative orientée cloud (S3, GCS)
- Barman — Solution de backup enterprise par 2ndQuadrant
Comparaison PG Back Web vs autres
| Critère | PG Back Web | pgBackRest | Portabase | Velld |
|---|---|---|---|---|
| Interface web | ✅ | ❌ (CLI) | ✅ | ✅ |
| SGBD supportés | Postgres | Postgres | Multi | Multi |
| Installation | 5 min | 30 min | 5 min | 5 min |
| Granularité cron | ✅ | ✅ | ✅ | ✅ |
| Restauration UI | ✅ | Partielle | ✅ | ✅ |
| S3 / cloud | ✅ | ✅ | ✅ | ✅ |
| Poids | Léger | Natif | Léger | Léger |
Verdict : PG Back Web est le meilleur choix si vous ne gérez que du Postgres et que vous voulez une UI simple. Pour du multi-bases, Portabase ou Velld sont plus adaptés.
Propriétaires (ce que PG Back Web remplace)
- pganalyze (SaaS, plan gratuit limité)
- pgBackRest Manager (interface payante autour de pgBackRest)
- Cloud SQL automated backups (si vous migrez vers du managé)
🔐 Sécurité
PBW_ENCRYPTION_KEY: clé de chiffrement des credentials stockés — ne jamais la perdre, et la garder hors du repo Git- Ne jamais exposer PG Back Web publiquement : c'est un outil d'admin, gardez-le derrière un VPN (cf. securisation-home-lab) ou derrière une auth SSO
- HTTPS obligatoire : passez par app-traefik avec un certificat valide
📚 Ressources
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