Skip to Content

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 web

Starting the Web UI

Simple Start

cd web ./start.sh

The UI will be available at http://localhost:3000 

Using Docker

cd replicator ./start-simple.sh

Configuration

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/api

If 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

  1. Go to the Snapshots page
  2. Select a hostname and device from the dropdowns
  3. View the snapshot timeline
  4. Click a snapshot to browse its contents

Restoring Files

  1. Go to the Snapshots page
  2. Select the snapshot to restore from
  3. Browse or search for files
  4. Click Restore
  5. Select a restore location

Triggering a Backup

  1. Go to the Clients page
  2. Select a client
  3. Click Trigger Backup
  4. 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