---
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_dump` en cron, plus visible que les scripts maisons.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | (GitHub) |
| **GitHub** | [eduardolat/pgbackweb](https://github.com/eduardolat/pgbackweb) |
| **License** | MIT |
| **Langage** | Go (backend) + TypeScript / Svelte (frontend) |
| **Étoiles GitHub** | 2,5k ⭐ |
| **Catégorie** | [[cat-database\|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

```yaml
# 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)

```bash
git clone https://github.com/eduardolat/pgbackweb.git
cd pgbackweb
go build -o pgbackweb ./cmd/pgbackweb
./pgbackweb
```

## ⚙️ Configuration Initiale

1. **Accéder à l'UI** : `http://IP:8085` (ou via votre reverse-proxy)
2. **Créer le compte admin** : premier lancement, on vous demande un email + mot de passe
3. **Ajouter une instance Postgres à sauvegarder** : menu "Servers" → "New" → host, port, user, password, base à découvrir
4. **Créer un plan de backup** : choisissez la base, la fréquence (cron), la destination (local, S3), la rétention
5. **Tester un dump manuel** : bouton "Run now" pour vérifier que tout fonctionne
6. **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

- [GitHub eduardolat/pgbackweb](https://github.com/eduardolat/pgbackweb)
- [Documentation officielle](https://pgbackweb.evolutio.pt/)
- [Démo live](https://demo.pgbackweb.evolutio.pt/)

## 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
