Overview
The Web UI provides a browser-based dashboard for managing backups. It should be run on the same machine as the backup server.
Prerequisite: npm must be available on the server.
Installation
# Download the package
wget https://github.com/xmigrate/xreplicator/releases/download/VERSION/xreplicator-web-VERSION.tar.gz
# Extract
tar xzf xreplicator-web-VERSION.tar.gz
# Navigate to the web directory
cd webStarting the Web UI
Simple Start
cd web
./start.shThe UI will be available at http://localhost:3000
Using Docker
cd replicator
./start-simple.shConfiguration
The Web UI connects to the backup server via gRPC. Configure the server address using environment variables:
export BACKUP_GRPC_ADDRESS=localhost:50051
export NEXT_PUBLIC_API_URL=http://localhost:3000/apiIf using Docker, edit docker-compose.simple.yml to set these values.
Features
Dashboard
- System health overview
- Recent backup activity
- Storage usage statistics
- License information
Snapshots
- View all snapshots by hostname and device
- Browse snapshot contents
- Search for specific files
- Restore files or entire snapshots
Clients
- View connected backup agents
- Monitor backup status
- Trigger ad-hoc backups
- View backup history
Cloud Storage (if configured)
- Monitor cloud sync status
- View cloud storage usage
- Configure cloud storage settings
Settings
- Configure backup schedules
- Manage retention policies
- View and update license
Common Operations
Viewing Snapshots
- Go to the Snapshots page
- Select a hostname and device from the dropdowns
- View the snapshot timeline
- Click a snapshot to browse its contents
Restoring Files
- Go to the Snapshots page
- Select the snapshot to restore from
- Browse or search for files
- Click Restore
- Select a restore location
Triggering a Backup
- Go to the Clients page
- Select a client
- Click Trigger Backup
- Monitor progress in real-time
Production Deployment
For production, place the Web UI behind an nginx reverse proxy with HTTPS:
server {
listen 443 ssl http2;
server_name backup.example.com;
ssl_certificate /etc/ssl/certs/backup.crt;
ssl_certificate_key /etc/ssl/private/backup.key;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}Last updated on