https://github.com/vanvanni/gorestic
GORestic provides a simple dashboard for monitoring your Restic backup statistics. It offers a simple yet powerful way to track backup sizes, file counts, and snapshot statistics across multiple backup sources.
https://github.com/vanvanni/gorestic
api backup bash docker golang interface restic web-ui
Last synced: 5 days ago
JSON representation
GORestic provides a simple dashboard for monitoring your Restic backup statistics. It offers a simple yet powerful way to track backup sizes, file counts, and snapshot statistics across multiple backup sources.
- Host: GitHub
- URL: https://github.com/vanvanni/gorestic
- Owner: vanvanni
- Created: 2024-12-03T17:36:45.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-05T23:37:38.000Z (11 months ago)
- Last Synced: 2025-04-13T19:52:34.611Z (6 months ago)
- Topics: api, backup, bash, docker, golang, interface, restic, web-ui
- Language: HTML
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📊 GORestic
GORestic provides a simple dashboard for monitoring your Restic backup statistics. It offers a simple yet powerful way to track backup sizes, file counts, and snapshot statistics across multiple backup sources.
## Features
Every feature in GORestic is designed with simplicity and efficiency in mind:- 📊 Real-time visualization of backup statistics
- 📈 Historical data tracking with interactive charts
- 🔑 Multiple API key support for different backup sources
- 🔄 Automatic data refresh
- 🎯 Source filtering capabilities
- 🐳 Docker support for containerized environments## Install
### Binary
Download and run the binary:```bash
# Download the latest release
curl -L -o gorestic https://github.com/vanvanni/gorestic/releases/latest/download/gorestic# Make it executable
chmod +x gorestic# Run it
./gorestic
```On first run, GORestic will create a default configuration file at `~/.config/gorestic/config.toml`.
### Docker (SOON)
Run using Docker:```bash
docker run -d \
--name gorestic \
-p 2010:2010 \
-v $HOME/.config/gorestic:/config \
vanvanni/gorestic
```## Configuration
GORestic uses a TOML configuration file located at `~/.config/gorestic/config.toml`:```toml
[server]
port = 2010
username = 'admin'
password = '2cb18a05653b8cad'[storage]
path = '/root/.config/gorestic/stats.json'[api_keys]
[api_keys.example]
key = 'e20b98bf9144ad5ef093fdcdb439dedd'
name = 'Example Backup'
description = 'Default API key generated on first run'
created_at = '2024-12-03'
```### API Usage
Send backup statistics using curl:```bash
curl -X POST "http://localhost:2010/api/stats" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"total_size": 636249527,
"total_file_count": 1842,
"snapshots_count": 1
}'
```### Restic Integration
Add this to your backup script:```bash
# Get statistics
STATS=$(restic stats --json latest)# Send to GORestic
curl -X POST "http://localhost:2010/api/stats" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d "$STATS"
```## Security
- Use HTTPS if exposing to the internet
- Change default admin password
- Use strong API keys
- Keep backup statistics separate from backup data## License
MIT License - feel free to use and modify as you like!