-
Notifications
You must be signed in to change notification settings - Fork 145
Merge develop into main for v0.5.1-rc.1 #142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6ad60b5
ada595e
db60518
c32c485
8054b12
06aead0
2e0447d
e91d202
6965e14
7658e21
7b81f8a
f39598d
173697b
1374c4e
fd58d41
d93b5db
6a44880
eeabd31
a4adc07
6a8784d
79356c3
b3813db
ccaa48a
82e199d
af4b05b
6013c66
c103df6
4577b6d
8282d9b
9a2b0e2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| name: Deploy Documentation | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| paths: | ||
| - "docs/**" | ||
|
|
||
| jobs: | ||
| deploy: | ||
| name: Deploy to Cloudflare Pages | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| deployments: write | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Deploy | ||
| uses: cloudflare/wrangler-action@v3 | ||
| with: | ||
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | ||
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | ||
| command: pages deploy ./docs --project-name=ufobackup | ||
| gitHubToken: ${{ secrets.GITHUB_TOKEN }} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,2 @@ | ||
| internal/view/static/libs/ | ||
| internal/view/static/build/ |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -7,6 +7,7 @@ | |||||
| 🐘 Effortless PostgreSQL backups with a user-friendly web interface! 🌐💾 | ||||||
| </p> | ||||||
| </p> | ||||||
|
|
||||||
| <p align="center"> | ||||||
| <a href="https://github.com/eduardolat/pgbackweb/actions/workflows/ci.yaml?query=branch%3Amain"> | ||||||
| <img src="https://github.com/eduardolat/pgbackweb/actions/workflows/ci.yaml/badge.svg" alt="CI Status"/> | ||||||
|
|
@@ -28,45 +29,40 @@ | |||||
| </a> | ||||||
| </p> | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > **We're growing! New name, bigger future** | ||||||
| > | ||||||
| > PG Back Web is becoming **UFO Backup**! The new name reflects a future where the project expands beyond PostgreSQL, making powerful backups simple and accessible for everyone | ||||||
| > | ||||||
| > Curious about the roadmap or want to shape the project's future? Join the [community](https://ufobackup.uforg.dev/r/community) to discuss ideas and influence decisions, everyone's input is welcome! | ||||||
|
|
||||||
| ## 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: | ||||||
| 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, | ||||||
| 17, and 18. | ||||||
| - 📁 **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. | ||||||
| - 📦 **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, 17, and 18. | ||||||
| - 📁 **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 AGPL v3 license, backed by the | ||||||
| robust pg_dump tool. | ||||||
| - 🛡️ **Open-source trust**: Open-source code under AGPL v3 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! | ||||||
| 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: | ||||||
| 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: | ||||||
|
|
@@ -77,15 +73,15 @@ services: | |||||
| volumes: | ||||||
| - ./backups:/backups # If you only use S3 destinations, you don't need this volume | ||||||
| environment: | ||||||
| # Optional environment variables are ignored, see the configuration section below for more details | ||||||
| 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:17 | ||||||
| image: postgres:18 | ||||||
| environment: | ||||||
| POSTGRES_USER: postgres | ||||||
| POSTGRES_DB: pgbackweb | ||||||
|
|
@@ -101,61 +97,49 @@ services: | |||||
| 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. | ||||||
| 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_ENCRYPTION_KEY`: Your encryption key. Generate a strong random 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_POSTGRES_CONN_STRING`: The connection string for the PostgreSQL database | ||||||
| that will store PG Back Web data. | ||||||
| - `PBW_LISTEN_HOST`: Optional. Host for the server to listen on, default 0.0.0.0 | ||||||
|
|
||||||
| - `PBW_LISTEN_HOST`: Host for the server to listen on, default 0.0.0.0 | ||||||
| (optional) | ||||||
| - `PBW_LISTEN_PORT`: Optional. Port for the server to listen on, default 8085 | ||||||
|
|
||||||
| - `PBW_LISTEN_PORT`: Port for the server to listen on, default 8085 (optional) | ||||||
| - `PBW_PATH_PREFIX`: Optional. Path prefix for the application URL. Use this when you want to serve the application under a subpath (e.g., `/pgbackweb`). Must start with `/` and not end with `/`. Default is empty. | ||||||
|
|
||||||
| - `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. | ||||||
| - `TZ`: Optional. Your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). Default is `UTC`. This impacts logging, backup filenames and default timezone in the web interface. | ||||||
|
|
||||||
| ## Screenshot | ||||||
|
|
||||||
| <img src="https://raw.githubusercontent.com/eduardolat/pgbackweb/main/assets/screenshot.png" /> | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add alt text to the screenshot image. The screenshot image is missing alternative text, which affects accessibility for screen reader users. Apply this diff to add descriptive alt text: -<img src="https://raw.githubusercontent.com/eduardolat/pgbackweb/main/assets/screenshot.png" />
+<img src="https://raw.githubusercontent.com/eduardolat/pgbackweb/main/assets/screenshot.png" alt="PG Back Web dashboard interface showing backup management features" />📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)120-120: Images should have alternate text (alt text) (MD045, no-alt-text) 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| ## Reset password | ||||||
|
|
||||||
| You can reset your PG Back Web password by running the following command in the | ||||||
| server where PG Back Web is running: | ||||||
| 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 <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. | ||||||
| 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: | ||||||
| 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> | ||||||
|
|
||||||
| ## 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! 🚀 | ||||||
| 🙏 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 | ||||||
|
|
||||||
|
|
@@ -208,15 +192,12 @@ great! 🚀 | |||||
|
|
||||||
| ## Join the Community | ||||||
|
|
||||||
| Got ideas to improve PG Back Web? Contribute to the project! Every suggestion | ||||||
| and pull request is welcome. | ||||||
| Got ideas to improve PG Back Web? Contribute to the project! Every suggestion and pull request is welcome. | ||||||
|
|
||||||
| ## License | ||||||
|
|
||||||
| This project is 100% open source and is licensed under the AGPL v3 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! | ||||||
| 💖 **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! | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,12 @@ | |
| "link": "https://app.hapi.trade/rewards?code=LUIJER5", | ||
| "description": "Join Hapi to easily buy stocks and crypto! Enjoy a 100% chance to win-win up to $500 in crypto rewards in your first deposit!" | ||
| }, | ||
| { | ||
| "name": "Hetzner", | ||
| "logo": "https://raw.githubusercontent.com/eduardolat/pgbackweb/refs/heads/develop/assets/logos/hetzner-horizontal.png", | ||
| "link": "https://hetzner.cloud/?ref=TdOypLgK8yGR", | ||
| "description": "Get started with Hetzner Cloud today and enjoy €20 in free credits just for signing up through this link! Their powerful cloud servers offer excellent performance at competitive prices. After you spend your first €10, I'll receive €10 in credits too, making it a win-win for both of us!" | ||
|
Comment on lines
+11
to
+13
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Avoid hotlinking logos from a mutable GitHub branch Both the Hetzner and FetchGoat logos point to Also applies to: 45-46 🤖 Prompt for AI Agents |
||
| }, | ||
| { | ||
| "name": "Digital Ocean", | ||
| "logo": "/images/third-party/digital-ocean.png", | ||
|
|
@@ -29,15 +35,15 @@ | |
| } | ||
| ], | ||
| "silver": [ | ||
| { | ||
| "name": "FetchGoat - Simplifying Logistics", | ||
| "logo": "https://raw.githubusercontent.com/eduardolat/pgbackweb/refs/heads/develop/assets/sponsors/FetchGoat.png", | ||
| "link": "https://fetchgoat.com?utm_source=pgbackweb&utm_medium=referral&utm_campaign=sponsorship" | ||
| }, | ||
| { | ||
| "name": "Become a silver sponsor", | ||
| "logo": "/images/plus.png", | ||
| "link": "https://buymeacoffee.com/eduardolat" | ||
| }, | ||
| { | ||
| "name": "FetchGoat - Simplifying Logistics", | ||
| "logo": "https://raw.githubusercontent.com/eduardolat/pgbackweb/refs/heads/develop/assets/sponsors/FetchGoat.png", | ||
| "link": "https://fetchgoat.com?utm_source=pgbackweb&utm_medium=referral&utm_campaign=sponsorship" | ||
| } | ||
| ], | ||
| "bronze": [ | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Project links | ||
| /r/community https://ufobackup.uforg.dev | ||
| /r/discord https://discord.gg/BmAwq29UZ8 | ||
| /r/reddit https://www.reddit.com/r/ufobackup | ||
| /r/twitter https://x.com/eduardoolat | ||
| /r/x https://x.com/eduardoolat | ||
| /r/github https://github.com/eduardolat/pgbackweb | ||
| /r/gh https://github.com/eduardolat/pgbackweb | ||
|
|
||
| # Author links | ||
| /r/author/web https://eduardo.lat | ||
| /r/author/gh https://eduardo.lat/github | ||
| /r/author/linkedin https://eduardo.lat/linkedin | ||
| /r/author/twitter https://x.com/eduardoolat | ||
| /r/author/x https://x.com/eduardoolat |
Uh oh!
There was an error while loading. Please reload this page.