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: 8 months 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-05T23:37:38.000Z (over 1 year ago)
- Last Synced: 2025-04-13T19:52:34.611Z (about 1 year 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!