mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2024-10-31 09:20:38 +00:00
2c9fa2f738
- /var/run on distros with systemd is a symlink to /run , hence the path changes. - Remove unnecessary runtime dependency on `/bin/kill` which is provided by `procps` and might not be available on minimal installs (e.g. containers). Instead use `/bin/sh` which has a built-in `kill`. - `PrivateDevices=yes` causes i2pd to fail to start on latest Debian unstable. Service exits with the following: ``` i2pd.service: Failed to execute command: Operation not permitted i2pd.service: Failed at step EXEC spawning /usr/sbin/i2pd: Operation not permitted i2pd.service: Control process exited, code=exited, status=203/EXEC i2pd.service: Failed with result 'exit-code'. Failed to start I2P Router written in C++. ``` According to `man systemd.exec` exit code 203 corresponds to the `execve(2)` system call failing. So it looks like i2pd tries to do something it shouldn't be doing. The proper fix would be in i2pd, but who knows how long that would actually take, so to allow people to actually launch i2pd in meanwhile the line has been removed from the service file. Also, surprisingly, right after installing i2pd it started without any problems, and only after restarting the box i2pd started to fail for no apparent reason.
33 lines
1011 B
Desktop File
33 lines
1011 B
Desktop File
[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
|
|
ExecStart=/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tunnelsdir=/etc/i2pd/tunnels.conf.d --pidfile=/run/i2pd/i2pd.pid --logfile=/var/log/i2pd/i2pd.log --daemon --service
|
|
ExecReload=/bin/sh -c "kill -HUP $MAINPID"
|
|
PIDFile=/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
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|