# Example systemd unit — SECOND XDC-Relayer (Chain 138 <-> XDC parent/mainnet). # Do not disable your existing subnet<->parent relayer. # # Prerequisites: Redis (upstream), built relayer (`npm run build`), env file with SUBNET_URL, PARENTNET_URL, etc. # # Install: # sudo cp config/systemd/xdc-zero-relayer-138-pair.example.service /etc/systemd/system/xdc-zero-relayer-138-pair.service # sudo cp config/xdc-zero/xdc-zero-relayer-138-pair.example.defaults /etc/default/xdc-zero-relayer-138-pair # sudo chmod 640 /etc/default/xdc-zero-relayer-138-pair # # Edit WorkingDirectory to your clone (e.g. /home/op/XDC-Relayer) and fill /etc/default/... # # If you run the relayer manually from the repo root instead of systemd, use # # config/xdc-zero/xdc-relayer.dotenv.example as the source for the clone-local .env. # sudo systemctl daemon-reload && sudo systemctl enable --now xdc-zero-relayer-138-pair # # ExecStart matches upstream: `npm run start` -> `node dist/server.js` (Node 20.x per package.json engines). [Unit] Description=XDC Relayer — Chain 138 to XDC mainnet (second instance) After=network-online.target Wants=network-online.target [Service] Type=simple User=root WorkingDirectory=/opt/xdc-relayer EnvironmentFile=-/etc/default/xdc-zero-relayer-138-pair # Relayer reads process.env; dotenv does not override vars systemd already set. ExecStart=/usr/bin/node dist/server.js Restart=on-failure RestartSec=30 [Install] WantedBy=multi-user.target