https://github.com/mlapaglia/borgitory
Web UI for managing BorgBackup repositories with scheduling, monitoring, and cloud sync
https://github.com/mlapaglia/borgitory
backups borgbackup cloud-sync
Last synced: 28 days ago
JSON representation
Web UI for managing BorgBackup repositories with scheduling, monitoring, and cloud sync
- Host: GitHub
- URL: https://github.com/mlapaglia/borgitory
- Owner: mlapaglia
- License: mit
- Created: 2025-08-30T14:12:11.000Z (7 months ago)
- Default Branch: develop
- Last Pushed: 2025-10-06T11:19:26.000Z (6 months ago)
- Last Synced: 2025-10-06T11:36:42.225Z (6 months ago)
- Topics: backups, borgbackup, cloud-sync
- Language: Python
- Homepage:
- Size: 3.52 MB
- Stars: 125
- Watchers: 0
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Borgitory
[](https://www.bestpractices.dev/projects/12059)
[](https://codecov.io/gh/mlapaglia/Borgitory)
[](https://github.com/mlapaglia/Borgitory/actions/workflows/release.yml)
[](https://github.com/sponsors/mlapaglia)
[](https://hub.docker.com/r/mlapaglia/borgitory)
[](https://pypi.org/project/borgitory/)
[](https://borgitory.com)
[&replace=%241&logo=borgbackup&label=BorgBackup)](https://borgbackup.readthedocs.io/)
[&replace=%241&logo=rclone&label=Rclone)](https://rclone.org/)
[&replace=%241&logo=python&label=pfuse3)](https://github.com/libfuse/libfuse)

Borgitory is a comprehensive web-based management interface for BorgBackup repositories that provides real-time monitoring, automated scheduling, and cloud synchronization capabilities. It offers complete backup lifecycle management including on-demand backups, automated pruning policies, interactive archive browsing with file downloads, and cloud sync to S3-compatible storage via Rclone. The FastAPI powered system features a modern responsive web interface built with HTMX, and Tailwind CSS.
## Quick Start
- full documentation is available at
### Prerequisites
- **Docker Installation (Recommended)**: Docker with Docker Compose for containerized deployment
- **PyPI Installation**: Python 3.14+ for direct installation from PyPI
### Installation
#### Option 1: Docker Installation (Recommended)
1. **Pull and run the Docker image**
```bash
# Using Docker directly
docker run -d \
-p 8000:8000 \
-v ./data:/app/data \
-v /path/to/backup/sources:/backup/sources:ro \
-v /path/to/borg/repos:/repos \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--name borgitory \
mlapaglia/borgitory:latest
```
**Or using Docker Compose** (create a `docker-compose.yml`):
```yaml
version: '3.8'
services:
borgitory:
image: mlapaglia/borgitory:latest
ports:
- "8000:8000"
volumes:
- ./data:/app/data # database and encryption key location
- /path/to/backup/sources:/sources:ro
- /path/to/any/backup/repos:/repos:ro
cap_add:
- SYS_ADMIN # optional, needed to mount borg archives and browse them
devices:
- /dev/fuse # borg uses FUSE to mount archives
restart: unless-stopped
```
```bash
docker-compose up -d
```
2. **Access the web interface**
- Open in your browser
- Create your first admin account on initial setup

#### Option 2: PyPI Installation
Install Borgitory directly from PyPI:
```bash
# Install stable release from PyPI
pip install borgitory
# Start the server
borgitory serve
# Or run with custom settings
borgitory serve --host 0.0.0.0 --port 8000
```
**PyPI Installation Requirements:**
- Python 3.14 or higher
- BorgBackup installed and available in PATH
- Rclone (optional, for cloud sync features)
- FUSE (optional, for browsing archives)
**Windows Requirements:**
- WSL2 (Windows Subsystem for Linux) must be installed and configured
- Inside WSL2, you need:
- BorgBackup installed (`sudo apt install borgbackup` or similar)
- Python 3.14+ installed
- Rclone installed (optional, for cloud sync features)
- BorgBackup does not have a native Windows executable, so WSL2 is required for all backup operations