Quickstart: Prove One Restore
One useful evaluation has one outcome: restore a known file from a verified backup. Use Docker Compose and one non-production machine to prove that outcome before configuring anything else.
Start XReplicator. Protect one test machine. Restore one file and match its checksum.
Before You Start
You need a trusted Linux host with Docker Compose, one non-production Linux or
Windows machine, and root or Administrator access. Allow TCP 3000 to the web
UI and TCP 50051 from the test machine to the Docker host.
Create a free Community license and
download license.json.
1. Start XReplicator
On the Docker host:
mkdir -p xreplicator-compose && cd xreplicator-compose
curl -LO https://raw.githubusercontent.com/xmigrate/xreplicator/main/deploy/docker-compose/compose.yaml
curl -LO https://raw.githubusercontent.com/xmigrate/xreplicator/main/deploy/docker-compose/.env.example
cp .env.example .env
mkdir -p tls license
openssl req -x509 -newkey rsa:4096 -nodes -days 30 \
-keyout tls/tls.key \
-out tls/tls.crt \
-subj "/CN=backup-server.xmigrate.com" \
-addext "subjectAltName=DNS:backup-server.xmigrate.com,DNS:backup-server,IP:127.0.0.1"
cp tls/tls.crt tls/ca.crt
cp /path/to/license.json license/license.json
docker compose up -d
docker compose psWhen backup-server and frontend are healthy, open
http://DOCKER_HOST:3000.
This quickstart uses a self-signed certificate and a privileged backup-server
container with host /dev access. Use your organization CA, separate client
certificates, and a reviewed topology for production.
2. Protect One Test Machine
Create a small file before the backup and keep its checksum:
Linux
printf 'XReplicator restore proof\n' | sudo tee /var/tmp/xreplicator-restore-proof.txt
sudo sha256sum /var/tmp/xreplicator-restore-proof.txtInstall one backup agent, then configure only these evaluation values:
device.paths: the test disk containing the proof file.storage.grpc.server_address:DOCKER_HOST:50051.storage.grpc.max_retries:0.storage.grpc.tls.server_name:backup-server.xmigrate.com.
For this isolated lab, securely copy tls/ca.crt, tls/tls.crt, and
tls/tls.key from the Docker host to the test machine and point the agent TLS
fields at them. Do not reuse this certificate arrangement in production.
Configuration references: Linux, Windows, and production mTLS.
Restart the agent:
Linux
sudo systemctl restart backup-agent
sudo systemctl status backup-agentIn the web UI, open Clients, confirm the machine is connected, and click Trigger Backup. Continue when Snapshots shows a completed restore point.
3. Prove the Restore
In Snapshots:
- Run metadata or sample verification against the completed restore point.
- Browse to the proof file and click Restore.
- Restore to a safe temporary destination, never over the source.
- Calculate the restored file checksum.
Linux
sha256sum /path/to/restored/xreplicator-restore-proof.txtThe restored file exists, opens correctly, and matches the checksum recorded before the backup. That is the first successful XReplicator evaluation.
If It Does Not Pass
Check the service nearest the failure:
# Docker host
docker compose ps
docker compose logs --tail=100 backup-server frontend
# Linux test machine
sudo journalctl -u backup-agent -n 100 --no-pagerThe common causes are an unreachable DOCKER_HOST:50051, a certificate name or
CA mismatch, the wrong device path, or an inactive license.
After the First Restore
- Run the broader Restore Challenge.
- Choose a production topology in Deployment Models.
- Use the Helm deployment path when Kubernetes is part of the evaluation.
- Review production controls in the Trust Center.
Stop the Docker evaluation with docker compose down. Add -v only when you
also intend to delete its local database and backup data.