Skip to Content
ReferenceLicensing

Overview

The backup server requires a valid license to operate. Agents do not require a license — they are managed by the server.

  • Validation: Checked at startup and every 24 hours
  • Expired license: Blocks new backups, but restore operations continue to work

Contact [email protected] or your vendor to obtain a license file.


Installing a License

sudo cp license.json /var/lib/backup/repo/license.json sudo systemctl restart backup-server

Method 2: Custom Path via CLI Flag

Edit the systemd service file:

sudo nano /etc/systemd/system/backup-server.service
ExecStart=/usr/local/bin/xreplicator server \ --listen 0.0.0.0:50051 \ --repo /var/lib/backup/repo \ --license /etc/xreplicator/license.json
sudo systemctl daemon-reload sudo systemctl restart backup-server

Method 3: Environment Variable

export LICENSE_FILE="/etc/xreplicator/license.json" sudo systemctl restart backup-server

Priority Order

  1. --license CLI flag (highest)
  2. LICENSE_FILE environment variable
  3. <repo>/license.json (default location)

License File Format

License files are JSON:

{ "data": "base64-encoded-json-payload", "signature": "base64-encoded-rsa-signature" }

VM Count Limits

The license enforces a maximum number of connected agents. When the limit is reached, new agent registrations are rejected with:

license limit exceeded: X/Y agents connected

Disconnect unused agents or contact your vendor to upgrade the license.


Checking License Status

sudo journalctl -u backup-server -f

Look for messages like:

# Valid License validated: <org> (expires: <date>, VMs: <count>) # Expired WARN: License expired on <date>

Troubleshooting

No public key configured

The public key must be embedded in the binary at build time, or set via:

export LICENSE_PUBLIC_KEY="<key>"

License file not found

Ensure the license file exists at the expected path, or use the --license flag to specify its location.

License hostname mismatch

The license must be generated for the exact server hostname. Verify with:

hostname

License expired

Generate a new license with a future expiry date.

License limit exceeded

The maximum agent count has been reached. Disconnect unused agents or upgrade the license.

Last updated on