Home

Awesome

<p align="center"> <h1 align="center">PG Back Web</h1> <p align="center"> <img align="center" width="70" src="https://raw.githubusercontent.com/eduardolat/pgbackweb/main/internal/view/static/images/logo.png"/> </p> <p align="center"> 🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾 </p> </p> <p align="center"> <a href="https://github.com/eduardolat/pgbackweb/actions/workflows/lint-test-build.yaml?query=branch%3Amain"> <img src="https://github.com/eduardolat/pgbackweb/actions/workflows/lint-test-build.yaml/badge.svg" alt="Tests Status"/> </a> <a href="https://goreportcard.com/report/eduardolat/pgbackweb"> <img src="https://goreportcard.com/badge/eduardolat/pgbackweb" alt="Go Report Card"/> </a> <a href="https://github.com/eduardolat/pgbackweb/releases/latest"> <img src="https://img.shields.io/github/release/eduardolat/pgbackweb.svg" alt="Release Version"/> </a> <a href="https://hub.docker.com/r/eduardolat/pgbackweb"> <img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/eduardolat/pgbackweb"/> </a> <a href="LICENSE"> <img src="https://img.shields.io/github/license/eduardolat/pgbackweb.svg" alt="License"/> </a> <a href="https://github.com/eduardolat/pgbackweb"> <img src="https://img.shields.io/github/stars/eduardolat/pgbackweb?style=flat&label=github+stars"/> </a> </p>

Why PG Back Web?

PG Back Web isn't just another backup tool. It's your trusted ally in ensuring the security and availability of your PostgreSQL data:

Features

Installation

PG Back Web is available as a Docker image. You just need to set 3 environment variables and you're good to go!

Here's an example of how you can run PG Back Web with Docker Compose, feel free to adapt it to your needs:

services:
  pgbackweb:
    image: eduardolat/pgbackweb:latest
    ports:
      - "8085:8085" # Access the web interface at http://localhost:8085
    volumes:
      - ./backups:/backups # If you only use S3 destinations, you don't need this volume
    environment:
      PBW_ENCRYPTION_KEY: "my_secret_key" # Change this to a strong key
      PBW_POSTGRES_CONN_STRING: "postgresql://postgres:password@postgres:5432/pgbackweb?sslmode=disable"
      TZ: "America/Guatemala" # Set your timezone, optional
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_DB: pgbackweb
      POSTGRES_PASSWORD: password
    ports:
      - "5432:5432"
    volumes:
      - ./data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5

You can watch this youtube video to see how easy it is to set up PG Back Web.

Configuration

You only need to configure the following environment variables:

Screenshot

<img src="https://raw.githubusercontent.com/eduardolat/pgbackweb/main/screenshot.png" />

Reset password

You can reset your PG Back Web password by running the following command in the server where PG Back Web is running:

docker exec -it <container_name_or_id> sh -c change-password

You should replace <container_name_or_id> with the name or ID of the PG Back Web container, then just follow the instructions.

Next steps

In this link you can see a list of features that have been confirmed for future updates:

<a href="https://github.com/eduardolat/pgbackweb/issues?q=is%3Aissue+is%3Aopen+label%3A%22confirmed+next+step%22"> Next steps ⏭️ </a>

Join the Community

Got ideas to improve PG Back Web? Contribute to the project! Every suggestion and pull request is welcome.

License

This project is licensed under the MIT License - see the LICENSE file for details.


💖 Love PG Back Web? Give us a ⭐ on GitHub and share the project with your colleagues. Together, we can make PostgreSQL backups more accessible to everyone!