Borg Web UI

A modern web interface for Borg Backup. Manage backups through a clean UI instead of complex terminal commands.

GitHubDocker HubLatest Release


Quick Start

docker run -d \
  --name borg-web-ui \
  -p 8081:8081 \
  -v borg_data:/data \
  -v borg_cache:/home/borg/.cache/borg \
  -v /home/yourusername:/local:rw \
  ainullcode/borg-ui:latest

Note: Replace /home/yourusername with your actual directory path.

Access at http://localhost:8081 • Default login: admin / admin123

See Installation Guide for other methods and security best practices.


Features

Core Functionality

  • Backup management with live progress tracking
  • Archive browser with file-level restore
  • Repository management (local, SSH, SFTP)
  • Visual cron scheduler
  • Notifications via 100+ services (Email, Slack, Discord, Telegram, etc.)
  • SSH key management
  • Real-time system monitoring

Technical

  • Zero configuration - auto-generates security keys
  • Multi-platform - amd64, arm64, armv7
  • Responsive design - works on mobile
  • Production-ready with comprehensive test suite

Documentation

Getting Started

Features

Reference


Screenshots

Dashboard

Dashboard

Live Backup Progress

Backup Progress

Repository Management

Repository Details


Installation

Docker Compose

Create docker-compose.yml:

version: '3.8'

services:
  borg-ui:
    image: ainullcode/borg-ui:latest
    container_name: borg-web-ui
    restart: unless-stopped
    ports:
      - "8081:8081"
    volumes:
      - borg_data:/data
      - borg_cache:/home/borg/.cache/borg
      - /home/yourusername:/local:rw  # Replace with your directory
    environment:
      - PUID=1000
      - PGID=1000

volumes:
  borg_data:
  borg_cache:

Start: docker compose up -d

Other platforms: Installation GuideSecurity: Volume Mount Best Practices


Configuration

Environment Variables

environment:
  - PORT=8081              # Application port
  - PUID=1000              # User ID for file permissions
  - PGID=1000              # Group ID for file permissions
  - LOG_LEVEL=INFO         # Logging level

Volume Mounts

⚠️ Security Best Practice:

Mount only the directories you need to backup:

volumes:
  # ✅ Recommended: Specific directories
  - /home/yourusername:/local:rw       # Replace with your path
  - /mnt/data:/local/data:rw           # Additional directories

  # ❌ NOT Recommended: Full filesystem
  # - /:/local:rw  # Avoid in production - use for testing only

Common Patterns:

  • Single directory: -v /home/john:/local:rw
  • Multiple directories: Add more -v flags for each directory
  • Read-only: Use :ro for backup-only directories

See Configuration Guide for detailed examples.


Common Use Cases

Home Server / NAS

Back up your Synology NAS, Unraid server, or personal data to:

  • External USB drives
  • Network storage
  • Remote servers via SSH
  • Cloud storage

Raspberry Pi

Lightweight enough for Pi while backing up to:

  • USB storage
  • Another Pi on your network
  • Cloud services
  • NAS devices

Production Servers

Manage infrastructure backups from one interface:

  • Automated scheduled backups
  • Health monitoring
  • Quick file restoration
  • Retention policy management

Security

Built-in Security:

  • Auto-generated SECRET_KEY on first run
  • JWT authentication with secure sessions
  • Runs as non-root user (configurable PUID/PGID)
  • Encrypted repository support

Best Practices:

  • Change default password immediately
  • Use HTTPS in production (reverse proxy)
  • Restrict volume mounts to necessary directories
  • Use SSH keys (not passwords) for remote repositories
  • Enable firewall rules

See Security Guide for complete recommendations.


Notifications

Get alerts for backup events via:

  • Email (Gmail, Outlook, custom SMTP)
  • Messaging (Slack, Discord, Telegram, Microsoft Teams)
  • Push (Pushover, Pushbullet, ntfy)
  • SMS (Twilio, AWS SNS)
  • 100+ other services via Apprise

Configure in Settings > Notifications tab.

See Notifications Setup for detailed configuration.


Support

Documentation: You’re reading it!

Issues: GitHub Issues

Discussions: GitHub Discussions


License

GNU General Public License v3.0 - See LICENSE


Acknowledgments

Built with Borg Backup, FastAPI, React, and Material-UI

Made by Karan Hudia


Back to top

Copyright © 2024 Karan Hudia. Distributed under the GPL-3.0 License.