Overview
The Web UI provides a browser-based dashboard for managing backups, snapshots, restores, cloud targets, and Azure-to-Azure DR. It should be run on the same machine or trusted network as the backup server.
Docker Compose and Helm deployments include the frontend service. Use this page when you need to run the standalone Web UI package for a VM-based deployment.
Prerequisite for standalone installs: npm must be available on the server.
Installation
# Download the package
wget https://github.com/xmigrate/xreplicator/releases/download/RELEASE_TAG/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 .
For container or Kubernetes startup commands, use Quickstart.
Accessing the Frontend Service
Use the frontend service URL for the deployment model you selected:
| Deployment | Frontend URL |
|---|---|
| Docker Compose | http://localhost:3000 |
| Helm with port-forward | http://localhost:3000 after kubectl -n xreplicator port-forward svc/xreplicator-frontend 3000:80 |
| Helm with ingress or load balancer | Your configured ingress or load balancer URL |
| Standalone Web UI | http://<web-ui-host>:3000 |
Configuration
The Web UI connects to the backup server via gRPC. Configure the server address using environment variables:
export BACKUP_GRPC_ADDRESS=backup-server.example.com:50051
export BACKUP_GRPC_CA_FILE=/etc/backup/tls/ca.crt
export BACKUP_GRPC_CERT_FILE=/etc/backup/tls/client.crt
export BACKUP_GRPC_KEY_FILE=/etc/backup/tls/client.key
export NEXT_PUBLIC_API_URL=http://localhost:3000/apiIf using Docker Compose, edit the downloaded .env file from the quickstart.
If using Helm, set the equivalent frontend environment values in your release
values file.
For certificate generation and mTLS setup, see Security & Verification.
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
Disaster Recovery
- Enable DR for source disks
- Prepare newly mapped DR target disks with wipe/zero or continue without wiping
- Configure Azure targets
- Build DR blueprints for OS and data disks
- Run precheck before failover
- Trigger Azure failover and review row-level logs
- Prepare failback, check primary disks, sync back, and review operation 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
DR UI Controls
Use the DR page for Azure-to-Azure recovery workflows:
| Tab | Main controls |
|---|---|
| Sources | Enable/disable DR, retry backfill, check health, view target disk assignment. |
| Targets | Add and edit Azure tenant, subscription, region, resource group, VNet, subnet, and VM size config. |
| Blueprints | Select VM disks and choose attach-as-is or snapshot-based disk strategy. |
| Failover | Run precheck, trigger failover, and follow execution logs. |
| Failback | Prepare mappings, run primary disk checks, sync back, and complete failback. |
| History | Review previous failover and failback operations. |
For the full operator runbook, see Azure-to-Azure DR.
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.
Running an Azure DR Drill
- Go to DR > Sources and confirm all selected sources are healthy.
- Go to DR > Blueprints and confirm the target config and disk strategies.
- Go to DR > Failover and run precheck.
- Trigger failover only when blockers are clear.
- Validate the recovered Azure VM and application.
- Use DR > Failback when the primary side is ready for controlled return.
Production Deployment
For production, place the Web UI behind an nginx reverse proxy with HTTPS. For topology choices, see Deployment Models.
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;
}
}