gitmyhub

tinygb

Go ★ 1 updated 2mo ago ⑂ fork

TinyGB is a heavily pruned fork of GoBackup. It keeps the deployment model and configuration style of GoBackup, but narrows the supported surface area for a small, focused backup service.

A stripped-down fork of GoBackup that only backs up a PostgreSQL database to S3-compatible storage, with a much smaller web UI.

GoPostgreSQLPreactOpenSSLsetup: moderatecomplexity 3/5

TinyGB is a deliberately stripped-down fork of GoBackup, a backup automation tool. Where GoBackup supports many databases, storage providers, and notification channels, TinyGB removes nearly all of that and keeps only what is needed for a single workflow: backing up a PostgreSQL database to S3-compatible storage.

The tool handles the full backup lifecycle. It connects to a PostgreSQL database, dumps it, optionally archives additional files and directories, compresses the result using tar or tgz, encrypts it with OpenSSL, splits large archives into parts if needed, and uploads everything to an S3 bucket. Webhook notifications can be sent before or after the process. All credentials and settings are read from a YAML configuration file, and environment variables can be referenced directly in that file to keep secrets out of the config.

TinyGB runs as a background daemon with a built-in scheduler, so backups happen automatically on a defined schedule. It also includes a web interface for monitoring and manually triggering backups. The original GoBackup web UI relied on large front-end libraries; TinyGB replaces those with a much smaller implementation using Preact, cutting the compressed JavaScript bundle to around 13 KB.

It can be installed from source or run as a Docker container built from a multi-stage Dockerfile. The binary is still named gobackup for compatibility with existing configurations and scripts. The project is written in Go and released under the MIT license.

Where it fits