Complete documentation refactoring with 57 service docs
- 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
This commit is contained in:
151
docs/service-docs/backrest.md
Normal file
151
docs/service-docs/backrest.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# Backrest - Backup Solution
|
||||
|
||||
## Table of Contents
|
||||
- [Overview](#overview)
|
||||
- [What is Backrest?](#what-is-backrest)
|
||||
- [Why Use Backrest?](#why-use-backrest)
|
||||
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
|
||||
- [Official Resources](#official-resources)
|
||||
- [Docker Configuration](#docker-configuration)
|
||||
|
||||
## Overview
|
||||
|
||||
**Category:** Backup & Recovery
|
||||
**Docker Image:** [garethgeorge/backrest](https://hub.docker.com/r/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?
|
||||
|
||||
1. **Easy Backups:** Simple web interface
|
||||
2. **Restic Power:** Proven backup engine
|
||||
3. **Automated:** Set and forget
|
||||
4. **Multiple Destinations:** Flexibility
|
||||
5. **Encrypted:** Secure backups
|
||||
6. **Deduplicated:** Efficient storage
|
||||
7. **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
|
||||
|
||||
```yaml
|
||||
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
|
||||
|
||||
1. **Start Container:**
|
||||
```bash
|
||||
docker compose up -d backrest
|
||||
```
|
||||
|
||||
2. **Access UI:** `http://SERVER_IP:9898`
|
||||
|
||||
3. **Create Repository:**
|
||||
- Add Repository
|
||||
- Location: Local, S3, B2, etc.
|
||||
- Encryption password
|
||||
- Initialize repository
|
||||
|
||||
4. **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
|
||||
|
||||
5. **Run Backup:**
|
||||
- Manual: Click "Backup Now"
|
||||
- Or wait for schedule
|
||||
|
||||
6. **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!
|
||||
Reference in New Issue
Block a user