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! 🌐💾
- Host: GitHub
- URL: https://github.com/eduardolat/pgbackweb
- Owner: eduardolat
- License: mit
- Created: 2024-07-19T23:23:47.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-22T17:45:46.000Z (2 months ago)
- Last Synced: 2025-02-22T18:20:51.168Z (2 months ago)
- Topics: backup, backups, database, postgres, postgresql, restore, s3
- Language: Go
- Homepage:
- Size: 1.3 MB
- Stars: 1,418
- Watchers: 13
- Forks: 59
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
PG Back Web
![]()
🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾
## 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, 16,
and 17.
- 📁 **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_healthypostgres:
image: postgres:17
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.- `PBW_LISTEN_HOST`: Host for the server to listen on, default 0.0.0.0
(optional)- `PBW_LISTEN_PORT`: Port for the server to listen on, default 8085 (optional)
- `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:## Sponsors
🙏 Thank you to the incredible sponsors for supporting this project! Your
contributions help keep PG Back Web running and growing. If you'd like to join
and become a sponsor, please visit the
[sponsorship page](https://buymeacoffee.com/eduardolat) and be part of something
great! 🚀### 🥇 Gold Sponsors
### 🥈 Silver Sponsors
![]()
FetchGoat - Simplifying Logistics
![]()
Become a silver sponsor
### 🥉 Bronze Sponsors
## 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!