Quick Start Guide
This guide walks you through creating your first backup in Zerobyte, from initial setup to verifying a successful backup.This guide assumes you’ve already installed Zerobyte and can access the web interface.
Overview
Setting up a backup involves three key steps:
Let’s walk through each step.
First-Time Setup
Create Your Admin Account
When you first access Zerobyte athttp://<your-server-ip>:4096, you’ll be prompted to create an admin account:
Step 1: Add a Volume
A volume represents the source data you want to backup. Zerobyte supports various volume types including local directories, NFS shares, SMB shares, WebDAV, and SFTP.Adding a Local Directory
For this quick start, we’ll add a local directory. First, ensure the directory is mounted into your Zerobyte container.Mount the Directory
Update yourdocker-compose.yml to mount the directory you want to backup:
docker-compose.yml
Create the Volume in Zerobyte
Configure Volume
Fill in the volume details:
- Name: Give it a descriptive name (e.g., “My Documents”)
- Type: Select “Directory”
- Path: Enter the container path (e.g.,
/data)
Adding Remote Volumes
Zerobyte also supports remote volume types:- NFS
- SMB/CIFS
- WebDAV
- SFTP
Configure an NFS share:
- Host: NFS server hostname or IP
- Export: NFS export path (e.g.,
/mnt/data) - Options: Mount options (optional, e.g.,
vers=4,soft)
Remote volumes require the full installation with
SYS_ADMIN capability and /dev/fuse device. See the Installation guide for details.Step 2: Create a Repository
A repository is the encrypted storage destination where your backups will be stored. Zerobyte supports multiple repository backends.Creating a Local Repository
For this quick start, we’ll create a local repository:Configure Repository
Fill in the repository details:
- Name: Descriptive name (e.g., “Local Backup Repository”)
- Type: Select “Local”
- Path: Enter a path for the repository (e.g.,
/var/lib/zerobyte/repositories/local-backup)
Repository initialization may take a few seconds. Zerobyte will create the repository structure and configure encryption using your Restic password.
Cloud Storage Repositories
For production use, consider using cloud storage for offsite backups:- S3-Compatible
- Google Cloud Storage
- Azure Blob
- rclone
Configure S3-compatible storage (AWS S3, MinIO, Wasabi, Backblaze B2, etc.):
Repository Configuration
Step 3: Create a Backup Job
A backup job connects a volume to a repository and defines when and how backups should run.Configure Basic Settings
- Name: Descriptive name (e.g., “Daily Documents Backup”)
- Volume: Select the volume you created earlier
- Repository: Select the repository you created earlier
- Enabled: Toggle on to enable the job
Configure Schedule
Set when backups should run:
- Schedule Type: Choose “Simple” or “Cron”
- Simple: Select daily, weekly, etc.
- Cron: Enter cron expression (e.g.,
0 2 * * *for 2 AM daily)
Common Cron Patterns
Common Cron Patterns
0 2 * * *- Daily at 2:00 AM0 2 * * 0- Weekly on Sunday at 2:00 AM0 2 1 * *- Monthly on the 1st at 2:00 AM0 */6 * * *- Every 6 hours0 0 * * 1-5- Weekdays at midnight
Configure Retention Policy
Define how long backups should be kept:
Example Retention Policy
Retention policies automatically prune old backups to save storage space. Restic’s deduplication ensures you only store unique data.
Configure Paths (Optional)
By default, the entire volume is backed up. You can specify:
- Include paths: Only backup specific subdirectories
- Exclude paths: Exclude specific files or patterns (e.g.,
*.tmp,node_modules/)
Advanced Options (Optional)
Configure advanced settings:
- Compression: Enable to reduce backup size (slight CPU overhead)
- Bandwidth Limit: Limit upload/download speed
- Parallel Upload: Number of parallel file uploads
Step 4: Run Your First Backup
Instead of waiting for the scheduled time, let’s run the backup immediately:Monitor Progress
Watch the backup progress in real-time:
- Files scanned
- Data processed
- Upload progress
- Estimated time remaining
Step 5: Verify Your Backup
After the backup completes, verify it was successful:Check Snapshots
You should see at least one snapshot listed with:
- Snapshot timestamp
- Number of files backed up
- Total size
- New data added (vs. deduplicated)
Browse Backup Contents
Click on a snapshot to browse its contents. You can:
- Navigate the directory structure
- View file sizes and modification times
- Search for specific files
Understanding Backup Status
Your backup dashboard shows the status of all backup jobs:| Status | Description |
|---|---|
| Success | Backup completed without errors |
| Running | Backup currently in progress |
| Failed | Backup encountered an error (check logs) |
| Scheduled | Backup waiting for next scheduled run |
| Disabled | Backup job is disabled and won’t run |
Click on any backup job to view detailed logs, snapshot history, and statistics.
Monitoring Your Backups
Zerobyte provides several ways to monitor backup health:Dashboard Overview
The main dashboard shows:- Total number of backup jobs
- Storage usage across all repositories
- Recent backup activity
- Failed backups requiring attention
Backup Job Details
Each backup job displays:- Last run time and status
- Next scheduled run
- Number of snapshots
- Total backup size
- Backup duration trends
Repository Health
Repository details show:- Total size and file count
- Deduplication ratio
- Number of snapshots
- Integrity check status
Next Steps
Now that you have a working backup, consider:Add More Volumes
Back up additional directories or remote shares
Set Up Cloud Storage
Configure offsite backups to S3, Google Cloud, or Azure
Configure Notifications
Get alerted when backups fail or complete
Optimize Retention
Fine-tune retention policies to balance storage and history
Common Tasks
Restoring Data
To restore data from a backup:Pausing a Backup Job
To temporarily stop a backup from running:- Navigate to the backup job
- Toggle the Enabled switch to off
- The job will skip scheduled runs until re-enabled
Viewing Backup Logs
To troubleshoot issues or view detailed backup information:- Click on a backup job
- Navigate to the Logs tab
- View detailed output from Restic including:
- Files processed
- Errors encountered
- Performance statistics
Deleting Old Snapshots
Backups are automatically pruned according to retention policies, but you can manually delete snapshots:- Navigate to backup job
- Select the snapshot you want to delete
- Click Delete Snapshot
- Confirm deletion
Troubleshooting
Backup Failed: Permission Denied
Ensure the volume directory has proper permissions:Backup Running Slowly
Check:- Network bandwidth (for cloud repositories)
- Disk I/O performance
- Enable compression if uploading large compressible files
- Adjust parallel upload settings
Repository Initialization Failed
Verify:- Repository path is writable
- For cloud repositories, credentials are correct
- Network connectivity to cloud storage
Can’t Find Mounted Directory
Ensure:- Directory is mounted in
docker-compose.yml - Container was restarted after mounting:
docker compose restart - Path matches the container path, not host path
Getting Help
If you encounter issues:Check Logs
View detailed logs with
docker compose logs -f zerobyteGitHub Issues
Report bugs or request features at github.com/nicotsx/zerobyte/issues
Documentation
Explore the full documentation for advanced topics
Community
Join discussions and get help from other users
When reporting issues, include:
- Zerobyte version (visible in UI footer)
- Docker and Docker Compose versions
- Relevant logs from
docker compose logs zerobyte - Steps to reproduce the issue
Conclusion
You’ve successfully:- ✅ Created an admin account and secured your Restic password
- ✅ Added a volume to backup
- ✅ Created a repository for encrypted storage
- ✅ Configured and ran your first backup job
- ✅ Verified your backup was successful
