Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eduardolat/pgbackweb

🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾
https://github.com/eduardolat/pgbackweb

backup backups database postgres postgresql restore s3

Last synced: about 2 months ago
JSON representation

🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾

Awesome Lists containing this project

README

        


PG Back Web






🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾



Tests Status


Go Report Card


Release Version


Docker Pulls


License




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

- 🎯 **Designed for everyone**: From individual developers to teams.
- ⏱️ **Save time**: Automate your backups and forget about manual tasks.
- ⚡ **Plug and play**: Don't waste time with complex configurations.

## Features

- 📦 **Intuitive web interface**: Manage your backups with ease, no database expertise required.
- 📅 **Scheduled backups**: Set it and forget it. PG Back Web takes care of the rest.
- 📈 **Backup monitoring**: Visualize the status of your backups with execution logs.
- 📤 **Instant download & restore**: Restore and download your backups when you need them, directly from the web interface.
- 🖥 **Multi-version support**: Compatible with PostgreSQL 13, 14, 15, and 16.
- 📁 **Local & S3 storage**: Store backups locally or add as many S3 buckets as you want for greater flexibility.
- ❤️‍🩹 **Health checks**: Automatically check the health of your databases and destinations.
- 🔔 **Webhooks**: Get notified when a backup finishes, failed, health check fails, or other events.
- 🔒 **Security first**: PGP encryption to protect your sensitive information.
- 🛡️ **Open-source trust**: Open-source code under MIT license, backed by the robust pg_dump tool.
- 🌚 **Dark mode**: Because we all love dark mode.

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

```yaml
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](https://www.youtube.com/watch?v=vf7SLrSO8sw) to see how easy it is to set up PG Back Web.

## Configuration

You only need to configure the following environment variables:

- `PBW_ENCRYPTION_KEY`: Your encryption key. Generate a strong one and store it in a safe place, as PG Back Web uses it to encrypt sensitive data.

- `PBW_POSTGRES_CONN_STRING`: The connection string for the PostgreSQL database that will store PG Back Web data.

- `TZ`: Your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) (optional). Default is `UTC`. This impacts logging, backup filenames and default timezone in the web interface.

## Screenshot

## Reset password

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

```bash
docker exec -it sh -c change-password
```

You should replace `` 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:


Next steps ⏭️

## 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](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!