1# Reference from: freeradius-server/redhat/radiusd.service
2
3[Unit]
4Description=FreeRADIUS multi-protocol policy server
5After=network-online.target
6Documentation=man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/
7
8[Service]
9Type=notify
10WatchdogSec=60
11NotifyAccess=all
12EnvironmentFile=-/etc/default/radiusd
13
14# FreeRADIUS can do static evaluation of policy language rules based
15# on environmental variables which is very useful for doing per-host
16# customization.
17# Unfortunately systemd does not allow variable substitutions such
18# as %H or $(hostname) in the EnvironmentFile.
19# We provide HOSTNAME here for convenience.
20Environment=HOSTNAME=%H
21
22# Limit memory to 2G this is fine for %99.99 of deployments.  FreeRADIUS
23# is not memory hungry, if it's using more than this, then there's probably
24# a leak somewhere.
25MemoryLimit=2G
26
27ExecStartPre=/usr/sbin/radiusd $FREERADIUS_OPTIONS -Cx -lstdout
28ExecStart=/usr/sbin/radiusd -f $FREERADIUS_OPTIONS
29Restart=on-failure
30RestartSec=5
31ExecReload=/usr/sbin/radiusd $FREERADIUS_OPTIONS -Cxm -lstdout
32ExecReload=/bin/kill -HUP $MAINPID
33
34# Only allow native system calls
35SystemCallArchitectures=native
36
37[Install]
38WantedBy=multi-user.target
39