# SPDX-FileCopyrightText: 2026 Stan Grams # # SPDX-License-Identifier: GPL-2.0-or-later # # systemd *user* unit for the trx-rs radio client and web frontend. # # Install with `script/install.sh` (which substitutes @BINDIR@ and copies this # into ~/.config/systemd/user/), or by hand: # sed 's|@BINDIR@|/usr/local/bin|' trx-client.service \ # > ~/.config/systemd/user/trx-client.service # systemctl --user daemon-reload # systemctl --user enable --now trx-client.service # # Reads the combined config at ~/.config/trx-rs/trx-rs.toml ([trx-client] # section) and connects to the server (default 127.0.0.1:4530). The web UI # defaults to http://127.0.0.1:8080. [Unit] Description=trx-rs radio client and web frontend Documentation=https://github.com/stanislawgrams/trx-rs # Wait for networking and, when it is enabled, the local server. After= only # orders units already in the transaction: it deliberately does not start a # disabled trx-server, since the client may connect to a remote server instead. Wants=network-online.target After=network-online.target trx-server.service [Service] Type=simple ExecStart=@BINDIR@/trx-client --config %h/.config/trx-rs/trx-rs.toml Restart=on-failure RestartSec=2 # Shuts down cleanly on SIGINT (see trx-server.service for the rationale). KillSignal=SIGINT TimeoutStopSec=15 NoNewPrivileges=true # The client opens outbound TCP connections to remote servers and binds TCP # listeners for its configured HTTP, JSON, rigctl, and audio frontends. RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 [Install] WantedBy=default.target