Radiator Server Documentation — v10.33.1

Linux systemd support

How Radiator Server integrates with systemd for service management and readiness notification.

Linux systemd support

Radiator Server ships with a systemd service unit file for managing the server process on Linux. The OS installation package installs the service file automatically. See Basic Installation for installation instructions.

Enabling and starting the service

Enable the service so it starts on boot:

sudo systemctl enable radiator-server.service

Start the service:

sudo systemctl start radiator-server.service

Check the service status:

sudo systemctl status radiator-server.service

Service configuration

The service unit file defines environment variables for paths used by Radiator. Examine the included service file for the full list of available variables and their defaults. These variables can be overridden using a systemd environment file — the service file documents the supported override paths.

The default service file runs Radiator as a dedicated system user with CAP_NET_BIND_SERVICE to allow binding to privileged ports (below 1024) without running as root. Review the service file for the exact user, group, and capability settings.

Readiness notification (Type=notify)

Radiator Server supports the systemd Type=notify readiness protocol. When the NOTIFY_SOCKET environment variable is set, Radiator sends a READY=1 message after configuration has been loaded and all subsystems are initialized.

To enable this, set Type=notify in the service unit file:

[Service]
Type=notify

With Type=notify, systemctl start blocks until Radiator signals that it is ready to serve requests. This ensures that dependent services (configured with After=radiator-server.service) do not start before Radiator is operational.

Without Type=notify, systemd considers the service started as soon as the process is launched, regardless of whether configuration loading has completed.

Automatic restart

The default service configuration includes Restart=always, which means systemd automatically restarts Radiator if the process exits unexpectedly.

Logging with systemd

Radiator writes application logs to destinations configured in the radconf logging block (file, memory buffer, syslog, console). When no logging block is configured, Radiator defaults to logging to the console (stdout).

The default service file redirects stdout and stderr to log files. If file logging is also configured in radconf, application logs are written to both the radconf-configured log files and the stdout capture file.

To send stdout and stderr to the systemd journal instead, remove or comment out the StandardOutput and StandardError lines in the service unit file. Console output is then accessible via journalctl:

journalctl -u radiator-server.service -f

See Logging for details on Radiator log configuration.