Files
Olares/cli/pkg/storage/templates/redis.go

71 lines
1.7 KiB
Go

package templates
import (
"text/template"
"github.com/lithammer/dedent"
)
var RedisConf = template.Must(template.New("redis.conf").Parse(
dedent.Dedent(`protected-mode no
bind {{ .LocalIP }}
port 6379
daemonize no
supervised no
pidfile {{ .RootPath }}/run/redis.pid
logfile {{ .RootPath }}/log/redis-server.log
save 900 1
save 600 50
save 300 100
save 180 300
save 60 1000
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir {{ .RootPath }}/data
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 32mb
requirepass {{ .Password }}
`),
))
var RedisService = template.Must(template.New("redis.service").Parse(
dedent.Dedent(`[Unit]
Description=Redis
Documentation=https://redis.io/
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable={{ .RedisBinPath }}
StartLimitIntervalSec=0
[Service]
WorkingDirectory={{ .RootPath }}
User=root
Group=root
EnvironmentFile=
ExecStartPre=/bin/sh -c "test -f /sys/kernel/mm/transparent_hugepage/enabled && /bin/echo never > /sys/kernel/mm/transparent_hugepage/enabled; test -f {{ .RootPath }}/data/appendonly.aof && (echo y | /usr/local/bin/redis-check-aof --fix {{ .RootPath }}/data/appendonly.aof); true"
ExecStart={{ .RedisBinPath }} {{ .RedisConfPath }}
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
`),
))