forked from evolix/ansible-roles
45 lines
1.4 KiB
Django/Jinja
45 lines
1.4 KiB
Django/Jinja
[Unit]
|
|
Description=Advanced key-value store
|
|
After=network.target
|
|
Documentation=http://redis.io/documentation, man:redis-server(1)
|
|
|
|
[Service]
|
|
Type=notify
|
|
ExecStart=/usr/bin/redis-server {{ redis_conf_dir_prefix }}-%i/redis.conf --supervised systemd --daemonize no
|
|
PIDFile=/run/redis-%i/redis-server.pid
|
|
TimeoutStopSec=0
|
|
Restart=always
|
|
User=redis-%i
|
|
Group=redis-%i
|
|
RuntimeDirectory=redis-%i
|
|
RuntimeDirectoryMode=2755
|
|
|
|
UMask=007
|
|
PrivateTmp=yes
|
|
LimitNOFILE=65535
|
|
PrivateDevices=yes
|
|
ProtectHome={{ redis_data_dir_prefix is match('/home') | ternary('no', 'yes') }}
|
|
ReadOnlyDirectories=/
|
|
ReadWritePaths=-{{ redis_data_dir_prefix }}-%i
|
|
ReadWritePaths=-{{ redis_log_dir_prefix }}-%i
|
|
ReadWritePaths=-{{ redis_pid_dir_prefix }}-%i
|
|
ReadWritePaths=-{{ redis_socket_dir_prefix }}-%i
|
|
|
|
NoNewPrivileges=true
|
|
CapabilityBoundingSet=CAP_SETGID CAP_SETUID CAP_SYS_RESOURCE
|
|
MemoryDenyWriteExecute=true
|
|
ProtectKernelModules=true
|
|
ProtectKernelTunables=true
|
|
ProtectControlGroups=true
|
|
RestrictRealtime=true
|
|
RestrictNamespaces=true
|
|
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
|
|
|
# redis-server can write to its own config file when in cluster mode so we
|
|
# permit writing there by default. If you are not using this feature, it is
|
|
# recommended that you replace the following lines with "ProtectSystem=full".
|
|
ProtectSystem=true
|
|
ReadWriteDirectories=-{{ redis_conf_dir_prefix }}-%i
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target |