Files
wiki/Catalogue-Self-Hosted/apps/app-pg-back-web.md
T
2026-06-09 18:40:21 +02:00

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_dump en 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

  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

Pages Liées