# Please don't modify this file in-place, because it will be overwrriten
# during package upgrades. It is recommended to copy this file to
# /etc/systemd/system and then modify the chosen settings. Alternatively,
# one can create a directory named service.d/ within /etc/systemd/system and
# place a drop-in file name.conf there that only changes the specific
# settings one is interested in.
#
# For example, if you want to change the maximum number of open files
# for example.lua instance, you need to perform the following steps:
#
# 1. Create directory /etc/systemd/system/tarantool@example.service.d/ with
#   file limits.conf containing:
#
#     [Service]
#     LimitNOFILE=10000
#
# 2. Reload systemd daemon
#
#     systemctl daemon-reload
#
# 3. Check new settings
#
#     systemctl show tarantool@example|grep LimitNOFILE
#
# 4. Restart tarantool@example service
#
#     systemctl restart tarantool@example
#
# Please see http://tarantool.org/doc/book/administration.html and
# systemd.service(5) man page for additional information.
#

[Unit]
Description=Tarantool Database Server
After=network.target
Documentation=man:tarantool(1)

# Instance file
ConditionPathExists=@TARANTOOL_INSTANCEDIR@/%i.lua

[Service]
Type=notify
User=@TARANTOOL_USER@
Group=@TARANTOOL_USER@
# Disable OOM killer
OOMScoreAdjust=-1000
# Increase fd limit for Vinyl
LimitNOFILE=131072

ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/tarantoolctl start %i
ExecStop=@CMAKE_INSTALL_FULL_BINDIR@/tarantoolctl stop %i
## NYI: https://github.com/tarantool/tarantool/issues/1229
#ExecReload=@CMAKE_INSTALL_FULL_BINDIR@/tarantoolctl reload %i

# Systemd waits until all xlogs are recovered
TimeoutStartSec=86400s
# Give a reasonable amount of time to close xlogs
TimeoutStopSec=10s

Restart=on-failure
RestartSec=100ms

[Install]
WantedBy=multi-user.target
DefaultInstance=example
