- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
3.9 KiB
3.9 KiB
Backrest - Backup Solution
Table of Contents
- Overview
- What is Backrest?
- Why Use Backrest?
- Configuration in AI-Homelab
- Official Resources
- Docker Configuration
Overview
Category: Backup & Recovery
Docker Image: garethgeorge/backrest
Default Stack: utilities.yml
Web UI: http://SERVER_IP:9898
Backend: Restic
Ports: 9898
What is Backrest?
Backrest is a web UI and orchestration layer for Restic, a powerful backup tool. It provides scheduled backups, retention policies, and a beautiful interface for managing backups across multiple repositories and destinations. Think of it as a user-friendly wrapper around Restic's power.
Key Features
- Web Interface: Manage backups visually
- Multiple Repos: Backup to different locations
- Schedules: Cron-based automatic backups
- Retention Policies: Keep last N backups
- Compression: Automatic compression
- Deduplication: Save storage space
- Encryption: AES-256 encryption
- Destinations: Local, S3, B2, SFTP, WebDAV
- Notifications: Alerts on failure
- Browse & Restore: Visual file restoration
Why Use Backrest?
- Easy Backups: Simple web interface
- Restic Power: Proven backup engine
- Automated: Set and forget
- Multiple Destinations: Flexibility
- Encrypted: Secure backups
- Deduplicated: Efficient storage
- Free & Open Source: No cost
Configuration in AI-Homelab
/opt/stacks/utilities/backrest/data/ # Backrest config
/opt/stacks/utilities/backrest/cache/ # Restic cache
Official Resources
- GitHub: https://github.com/garethgeorge/backrest
- Restic: https://restic.net
Docker Configuration
backrest:
image: garethgeorge/backrest:latest
container_name: backrest
restart: unless-stopped
networks:
- traefik-network
ports:
- "9898:9898"
environment:
- BACKREST_DATA=/data
- BACKREST_CONFIG=/config/config.json
- XDG_CACHE_HOME=/cache
volumes:
- /opt/stacks/utilities/backrest/data:/data
- /opt/stacks/utilities/backrest/config:/config
- /opt/stacks/utilities/backrest/cache:/cache
- /opt/stacks:/backup-source:ro # What to backup
labels:
- "traefik.enable=true"
- "traefik.http.routers.backrest.rule=Host(`backrest.${DOMAIN}`)"
Setup
-
Start Container:
docker compose up -d backrest -
Access UI:
http://SERVER_IP:9898 -
Create Repository:
- Add Repository
- Location: Local, S3, B2, etc.
- Encryption password
- Initialize repository
-
Create Plan:
- Add backup plan
- Source:
/backup-source(mounted volume) - Repository: Select created repo
- Schedule:
0 2 * * *(2 AM daily) - Retention: Keep last 7 daily, 4 weekly, 12 monthly
-
Run Backup:
- Manual: Click "Backup Now"
- Or wait for schedule
-
Restore:
- Browse backups
- Select snapshot
- Browse files
- Restore to location
Summary
Backrest provides web-based backup management offering:
- Visual Restic interface
- Scheduled automated backups
- Multiple backup destinations
- Retention policies
- Encryption and deduplication
- Easy restore
- Free and open-source
Perfect for:
- Homelab backups
- Docker volume backups
- Off-site backup management
- Automated backup schedules
- Visual backup management
Key Points:
- Built on Restic
- Web interface
- Supports many backends
- Encryption by default
- Deduplication saves space
- Cron-based scheduling
- Easy restore interface
Remember:
- Mount volumes to backup
- Set retention policies
- Test restores regularly
- Off-site backup recommended
- Keep repository password safe
- Monitor backup success
- Schedule during low usage
Backrest makes Restic backups manageable!