Move the control server
Moving the panel means moving three things: the database (which carries the license), the .env file with the
master key, and the panel’s WireGuard identity. Plan a short window in which nobody starts jobs.
1. Prepare the new host
Section titled “1. Prepare the new host”Install the panel on the new host as described in Installation of TrixOS, but don’t
start it yet and don’t generate new secrets. Copy the old .env instead:
scp old-panel:/opt/trixos/.env /opt/trixos/.envchmod 600 /opt/trixos/.envUse the same TrixOS release on both hosts.
2. Stop the old panel and dump the database
Section titled “2. Stop the old panel and dump the database”On the old host, make sure no job is running (Jobs, filter running), then:
cd /opt/trixosdocker compose stop api worker poller assets viewer webdocker compose exec -T postgres pg_dump -U trixos -d trixos -Fc > /root/trixos-move.dumpCopy the dump to the new host.
3. Restore on the new host
Section titled “3. Restore on the new host”cd /opt/trixosdocker compose up -d postgres redisdocker compose exec -T postgres pg_restore -U trixos -d trixos --clean --if-exists < /root/trixos-move.dumpdocker compose up -d --builddocker compose --profile tools build kvm-viewerCopy custom ISOs as well if you keep any: rsync -a old-panel:/opt/trixos/isos/ /opt/trixos/isos/.
4. Move the WireGuard side
Section titled “4. Move the WireGuard side”The site agents connect to the panel’s WireGuard interface. Either copy the panel’s WireGuard configuration and
key (/etc/wireguard/) to the new host and bring up wg0 there, or create a new key and update the peer on every
agent. Then tell each agent the panel’s new address by running the installer again on the agent host with
--panel-ip <new address>; it keeps the registration (System → Agents → ⋯ → Reinstall shows the command).
If your firewall on the agents only allows the old panel address, the reinstall updates it.
5. Switch DNS, check the license
Section titled “5. Switch DNS, check the license”-
Point the panel’s DNS name to the new host. If the name changes, update
TRIXOS_PUBLIC_URLin.envand restart, and run the agent installer with the new--panelURL. -
The license moves with the database: the restored installation has the same installation id, so its lease stays valid and the next check-in comes from the new host. Check it with
docker compose exec api trixos license status.To start the new host with an empty database instead, release the license on the old host first (License → Release license or
trixos license deactivate) and activate it on the new one. See Licensing.
6. Check
Section titled “6. Check”- Servers show their power state again (BMCs reachable through the tunnels).
- System → Agents shows every agent online with a fresh tunnel handshake.
- Read the live power status of a few servers, and run a hardware collection on a spare server.
Keep the old host switched off but intact until you’re sure everything works.