Quick Start Guide
Get from zero to your first backup in under 5 minutes using Docker.Pull and Run Borg UI
Run the following command to start Borg UI with Docker:What this does:
Replace
/home/yourusername with the directory you want to back up. This mounts your host directory to /local inside the container.- Maps port 8081 for web access
- Creates
borg_datavolume for application data (database, SSH keys, logs) - Creates
borg_cachevolume for Borg’s repository cache (improves performance) - Mounts your data directory to
/localin the container
Access the Web Interface
Open your browser and navigate to:You’ll be prompted to change the password on first login for security.
Default Login Credentials:
- Username:
admin - Password:
admin123
Create Your First Repository
A repository is where Borg stores your backups. Let’s create one:
- Click “Repositories” in the sidebar
- Click “Create Repository” button
- Fill in the repository details:
- Click “Create” - the repository will be initialized
Configure Source Directories
Now tell Borg what to back up:
- In the repository details page, find “Source Directories”
- Click “Add Source”
- Enter the path to back up:
/local/Documents(or any directory you mounted) - Optionally add exclude patterns:
*.tmpnode_modules.git
The
/local prefix corresponds to your mounted volume. If you mounted /home/yourusername:/local, then /local/Documents backs up /home/yourusername/Documents on your host.Run Your First Backup
Time to create your first backup!
Your first backup is complete! 🎉
- Click the “Backup Now” button in the repository details
- Optionally add a custom archive name or let it auto-generate
- Watch the real-time progress:
- Current file being processed
- Backup speed (MB/s)
- Data statistics (original size, compressed, deduplicated)
- Estimated time remaining
What’s Next?
Schedule Automatic Backups
Set up automated backups using the visual cron builder
Browse & Restore Files
Browse your backup archives and restore individual files
Configure Notifications
Get alerts via Email, Slack, Discord, and 100+ other services
SSH Remote Backups
Back up to remote servers via SSH/SFTP
Pro Tips
Use Docker Compose for better management
Use Docker Compose for better management
Instead of Then run:See the Installation Guide for more options including Redis caching.
docker run, use Docker Compose for easier management:Create a docker-compose.yml file:Add Redis for 600x faster archive browsing
Add Redis for 600x faster archive browsing
For large repositories with thousands of files, Redis caching dramatically speeds up archive browsing.Update your Learn more in the Cache Configuration guide.
docker-compose.yml to include Redis:Set correct file permissions with PUID/PGID
Set correct file permissions with PUID/PGID
If you encounter permission errors when accessing mounted directories, set the correct user/group IDs:
-
On your host, run:
-
Add these as environment variables:
-
Restart the container:
Mount multiple directories
Mount multiple directories
You can mount as many directories as needed:Then create backups from:
/local/home/Documents/local/www/html/local/photos/2024
The
/local prefix is just a convention. You can use any container path, but remember to set LOCAL_MOUNT_POINTS environment variable to match:Common First-Time Questions
Where are my backups actually stored?
Where are my backups actually stored?
Your backups are stored in the repository path you specified during setup. In our quick start example, that’s This is where Borg creates its deduplicated backup repository with all your archives.
/local/backups/borg-repo inside the container.Since /local is mapped to /home/yourusername on your host, the actual location on your host is:Can I back up to an external drive?
Can I back up to an external drive?
Absolutely! Just mount your external drive and point the repository there:Then create a repository at
/backup/borg-repo.How do I restore files?
How do I restore files?
- Go to Repositories → Select your repository
- Click on Archives tab
- Select the archive (backup snapshot) you want to browse
- Navigate through the file tree
- Select files/folders and click “Restore”
- Choose the destination path
What's the difference between encryption types?
What's the difference between encryption types?
Borg UI supports two encryption modes:repokey (Recommended)
- Encryption key is stored in the repository
- Easier to work with on multiple machines
- Key is backed up with repository
- Protected by your passphrase
- Encryption key is stored separately on your local machine
- More secure (key not in repository)
- You must manage the keyfile yourself
- Required on each machine accessing the repository
repokey for simplicity, keyfile for maximum security.Can I access the container from other devices?
Can I access the container from other devices?
Yes! Just replace For production use, consider setting up a reverse proxy with HTTPS. See the Reverse Proxy Guide for details.
localhost with your server’s IP address:Troubleshooting
Container won't start
Container won't start
Check the container logs:Common issues:
- Port 8081 already in use → Change to different port:
-p 8082:8081 - Volume permission errors → Set PUID/PGID to match your user
Can't access mounted directories
Can't access mounted directories
- Verify the mount path exists on your host
- Check container can see the mount:
- Set correct PUID/PGID:
Add to environment:
PUID=1000andPGID=1000
Backup is very slow
Backup is very slow
First backup is always slower due to:
- Full data read and chunking
- Building repository cache
- Calculating deduplication
- Use fast compression like
lz4instead ofzliborlzma - Exclude unnecessary files (node_modules, .git, caches)
- Ensure good disk I/O on both source and repository
Next Steps
Now that you have Borg UI running:- Set up automated backups - Use the visual cron builder
- Configure notifications - Get alerts when backups succeed or fail
- Enable Redis caching - Speed up archive browsing by 600x
- Set up SSH backups - Back up to remote servers
- Read security best practices - Keep your backups secure