←back to thread

6 points standardresul | 1 comments | | HN request time: 0.348s | source

Hey HN,

I'm excited to share Label Backup, an open-source project I developed. This tool, written in Go, automates backups for databases running in your Docker containers using simple container labels. I built this with vibe coding.

How it Works:

- You add a few descriptive labels to your containers that run databases you want to back up (e.g., backup.enabled=true, backup.type=postgres, backup.cron="0 2 * * *", backup.conn=..., or backup.type=volume, backup.path=/my/data). - Label Backup, running as a separate container, automatically discovers these, then schedules and performs backups for: - PostgreSQL databases - MySQL databases - MongoDB databases - Redis data - Backups can be streamed to local storage or any S3-compatible service (such as AWS S3, MinIO, or Cloudflare R2). - Key features include on-the-fly Gzip compression, configurable retention policies, and webhook notifications for backup status.

My main goal was to build something lightweight, easy to configure, and reliable, aiming for a tool that (I hope!) feels smooth and intuitive to use.

You can find the source code, a detailed README, and a docker-compose.yml for a complete test environment on GitHub: https://github.com/resulgg/label-backup

The Docker Hub image is available at: resulgg/label-backup

I'd love to hear your thoughts and feedback.

Show context
mappu ◴[] No.44011816[source]
> This project is open-source and available under the MIT License. (Assumed, please add a LICENSE file).

Did AI write the README.md as well?

I love what you've made, docker label orchestration is really convenient, but I would be extremely uncomfortable relying on a vibe-coded backup system.

replies(1): >>44012995 #
1. standardresul ◴[] No.44012995[source]
Yes. AI wrote everything. I couldn’t find an app that backs up databases using Docker labels, so I told AI exactly what I needed, and on the third prompt it built the app. I tested it and it works without any issues.