Redis /etc/systemd/redis-server@.service

Original 📋 Ubuntu 18.04 LTS (Bionic Beaver) 73 lines

Details

Size
73 lines
MD5
e171f7b2018bc78c81d5f4dae82ca38f
SHA256
e25566b9aba4bf3ff19ab6bf2ad78017e8d2acf95b5a134454f87033cee5fe92
/etc/systemd/redis-server@.service
# Templated service file for redis-server(1)
#
# Each instance of redis-server requires its own configuration file:
#
#   $ cp /etc/redis/redis.conf /etc/redis/redis-myname.conf
#   $ chown redis:redis /etc/redis/redis-myname.conf
#
# Ensure each instance is using their own database:
#
#   $ sed -i -e 's@^dbfilename .*@dbfilename dump-myname.rdb@' /etc/redis/redis-myname.conf
#
# We then listen exlusively on UNIX sockets to avoid TCP port collisions:
#
#   $ sed -i -e 's@^port .*@port 0@' /etc/redis/redis-myname.conf
#   $ sed -i -e 's@^\(# \)\{0,1\}unixsocket .*@unixsocket /var/run/redis-myname/redis-server.sock@' /etc/redis/redis-myname.conf
#
# ... and ensure we are logging, etc. in a unique location:
#
#   $ sed -i -e 's@^logfile .*@logfile /var/log/redis/redis-server-myname.log@' /etc/redis/redis-myname.conf
#   $ sed -i -e 's@^pidfile .*@pidfile /var/run/redis-myname/redis-server.pid@' /etc/redis/redis-myname.conf
#
# We can then start the service as follows, validating we are using our own
# configuration:
#
#   $ systemctl start redis-server@myname.service
#   $ redis-cli -s /var/run/redis-myname/redis-server.sock info | grep config_file
#
#  -- Chris Lamb <lamby@debian.org>  Mon, 09 Oct 2017 22:17:24 +0100
[Unit]
Description=Advanced key-value store (%I)
After=network.target
Documentation=http://redis.io/documentation, man:redis-server(1)

[Service]
Type=forking
ExecStart=/usr/bin/redis-server /etc/redis/redis-%i.conf
ExecStop=/bin/kill -s TERM $MAINPID
PIDFile=/var/run/redis-%i/redis-server.pid
TimeoutStopSec=0
Restart=always
User=redis
Group=redis
RuntimeDirectory=redis-%i
RuntimeDirectoryMode=2755

UMask=007
PrivateTmp=yes
LimitNOFILE=65535
PrivateDevices=yes
ProtectHome=yes
ReadOnlyDirectories=/
ReadWriteDirectories=-/var/lib/redis
ReadWriteDirectories=-/var/log/redis
ReadWriteDirectories=-/var/run/redis-%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=-/etc/redis

[Install]
WantedBy=multi-user.target

Copy & Paste

curl:
curl https://exampleconfig.com/api/v1/config/original/e171f7b2018bc78c81d5f4dae82ca38f?hint=redis-server@.service
wget:
wget -O redis-server@.service https://exampleconfig.com/api/v1/config/original/e171f7b2018bc78c81d5f4dae82ca38f?hint=redis-server@.service

For AI Agents

<prompt><role>DevOps agent</role><source url='https://exampleconfig.com/api/v1/config/original/e171f7b2018bc78c81d5f4dae82ca38f?hint=redis-server@.service' /><config><app>Redis</app><os>Ubuntu 18.04 LTS (Bionic Beaver)</os><location>/etc/systemd/redis-server@.service</location><lines>73</lines><md5>e171f7b2018bc78c81d5f4dae82ca38f</md5><sha256>e25566b9aba4bf3ff19ab6bf2ad78017e8d2acf95b5a134454f87033cee5fe92</sha256></config></prompt>

Paste into Claude, ChatGPT, or any AI assistant.

Install Redis

Alpine Linux

sudo apk add redis

Debian

sudo apt update && sudo apt install redis-server

Ubuntu

sudo apt update && sudo apt install redis-server

File Location

File Path
/etc/systemd/redis-server@.service
Directory
/etc/systemd/
Significance
System-wide configuration directory
Description
Files in /etc/ contain system-wide configuration settings that affect all users.

FAQ

When should I use this redis-server@.service?

Use it to restore a missing default, confirm what shipped, or diff against your current Redis config.

How do I restore Redis defaults?

Download the file, back up the current one in /etc/systemd/redis-server@.service, replace it, then reload or restart Redis.

Is redis-server@.service safe for production?

It is the vendor default for Ubuntu 18.04 LTS (Bionic Beaver). Treat it as a baseline and review security and performance settings before production use.

How does this differ from other OS versions?

Defaults vary by distro and version. This copy matches Ubuntu 18.04 LTS (Bionic Beaver).

Can I use this for Redis troubleshooting?

Yes. Diff it against yours to find drift, then restore only the sections you need.