diff --git a/etc/systemd/system/i2pd.service b/etc/systemd/system/i2pd.service new file mode 100644 index 00000000..b2a82875 --- /dev/null +++ b/etc/systemd/system/i2pd.service @@ -0,0 +1,38 @@ +[Unit] +Description=I2P Router written in C++ +Documentation=man:i2pd(1) https://i2pd.readthedocs.io/en/latest/ +After=network.target + +[Service] +User=i2pd +Group=i2pd +RuntimeDirectory=i2pd +RuntimeDirectoryMode=0700 +LogsDirectory=i2pd +LogsDirectoryMode=0700 +Type=forking +# Mikaela: my only modification, removing routerinfo and sleeping +# to workaround https://github.com/PurpleI2P/i2pd/issues/1275 +ExecStartPre=/bin/rm -f /var/lib/i2pd/routerinfo +ExecStartPre=/bin/sleep 15 +# Mikaela: normal commands +ExecStart=/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tunnelsdir=/etc/i2pd/tunnels.conf.d --pidfile=/var/run/i2pd/i2pd.pid --logfile=/var/log/i2pd/i2pd.log --daemon --service +ExecReload=/bin/kill -HUP $MAINPID +PIDFile=/var/run/i2pd/i2pd.pid +### Uncomment, if auto restart needed +#Restart=on-failure + +KillSignal=SIGQUIT +# If you have the patience waiting 10 min on restarting/stopping it, uncomment this. +# i2pd stops accepting new tunnels and waits ~10 min while old ones do not die. +#KillSignal=SIGINT +#TimeoutStopSec=10m + +# If you have problems with hanging i2pd, you can try increase this +LimitNOFILE=4096 +# To enable write of coredump uncomment this +#LimitCORE=infinity +PrivateDevices=yes + +[Install] +WantedBy=multi-user.target diff --git a/etc/systemd/system/i2pd.service.d/override.conf b/etc/systemd/system/i2pd.service.d/override.conf new file mode 100644 index 00000000..4b12f0a9 --- /dev/null +++ b/etc/systemd/system/i2pd.service.d/override.conf @@ -0,0 +1,3 @@ +[Service] +ExecStartPre=/bin/rm -f /var/lib/i2pd/routerinfo +ExecStartPre=/bin/sleep 15