Borgitory

Borgitory

Docker app from mlapaglia's Repository

Overview

A comprehensive web-based management interface for BorgBackup repositories with real-time monitoring, automated scheduling, and cloud synchronization capabilities.

Borgitory

OpenSSF Baseline codecov build sponsors docker pulls pypi downloads Read the Docs

borgbackup version rclone version fuse3 version

borgitory logo

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

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

    # 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):

    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
    
    docker-compose up -d
    
  2. Access the web interface

image

Option 2: PyPI Installation

Install Borgitory directly from PyPI:

# 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

Install Borgitory on Unraid in a few clicks.

Find Borgitory in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Borgitory Review the template variables and paths Click Install

Download Statistics

33,100
Total Downloads
7,176
This Month
5,408
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
mlapaglia/borgitory
Last Updated2026-05-22
First Seen2025-09-11

Runtime arguments

Web UI
http://[IP]:[PORT:8000]
Network
bridge
Shell
sh
Privileged
false
Extra Params
--cap-add SYS_ADMIN

Template configuration

HTTPPorttcp
Target
8000
Borg RepositoriesPathrw

For a single Borg repository this can be the root of that repository. As many repositories can be mounted as additional volumes also. Every repository must be mounted inside of /mnt/

Target
/mnt/repos
Data SourcesPathro

The location of the data to back up. Can be pointed at a particular folder, or mount any source volumes wherever you want. Every data source must be mounted inside of /mnt/

Target
/mnt/data
AppdataPathrw

The persistent storage location for the borgitory database.

Target
/app/data
Value
/mnt/user/appdata/borgitory
FUSEDevice

Used for mounting borg repositories inside the container.

Target
/dev/fuse:/dev/fuse:rwm
Value
/dev/fuse:/dev/fuse:rwm
UMASKVariable

Controls default permissions for new files and folders created by the container (022 = owner can read/write, others read-only).

Default
022
Value
022
PGIDVariable

Sets the group ID the container runs as, controlling group ownership of created files (100 = Unraid's

Default
100
Value
100
PUIDVariable

Sets the user ID the container runs as, controlling who owns created files (99 = Unraid's

Default
99
Value
99