aboutsummaryrefslogtreecommitdiff
path: root/contrib/init/bitcoind.service
AgeCommit message (Collapse)Author
2023-05-28contrib/init: Better systemd integrationCarl Dong
1. Make logs available to journalctl (systemd's logging system) by not specifying -daemonwait, which rightfully has its own set of stdout and stderr descriptors (a user invoking with -daemonwait on the command line should not see any logs). It makes more sense not to daemonize in the systemd context anyway. 2. Make systemd aware of when bitcoind is started and in steady state by specifying -startupnotify='systemd-notify --ready' and Type=notify. NotifyAccess=all is necessary so that the spawned thread for startupnotify is allowed to inform systemd of bitcoind's readiness. Note that NotifyAccess=exec won't work because it only allows sd_notify readiness signalling from Exec*= declarations in the .service file. 3. Also make systemd aware of when bitcoind is stopping by specifying -shutdownnotify='systemd-notify --stopping' Note that we currently don't allow multiple *notify commands, but users can override it in systemd via: # systemctl edit bitcoind By specifying something like: [Service] ExecStart=/usr/bin/bitcoind -pid=/run/bitcoind/bitcoind.pid \ -conf=/etc/bitcoin/bitcoin.conf \ -datadir=/var/lib/bitcoind \ -startupnotify='systemd-notify --ready; mystartupcommandhere' \ -shutdownnotify='systemd-notify --stopping; myshutdowncommandhere'
2021-03-22contrib: Use -daemonwait in systemd init scriptWladimir J. van der Laan
Closes #21322 by making bitcoind conform to behavior specified for `type=forking`.
2021-01-08script: Add Documentation key to bitcoind.serviceHennadii Stepanov
2021-01-08script: Improve robustness of bitcoind.service on startupHennadii Stepanov
2019-10-08Merge #16569: Increase init file stop timeoutWladimir J. van der Laan
7fb7acfc206b4bf8c296d72b66f3bd4fe342fd87 Set init stop timeout to 10 min (setpill) Pull request description: `bitcoind` can take a long time to flush its db cache to disk upon shutdown. Systemd sends a `SIGKILL` after a timeout, causing unclean shutdowns and triggering a long "Rolling forward" at the next startup. Disabling the timeout should prevent this from happening, and does not break systemd's `restart` logic. Addresses #13736. ACKs for top commit: instagibbs: utACK https://github.com/bitcoin/bitcoin/pull/16569/commits/7fb7acfc206b4bf8c296d72b66f3bd4fe342fd87 Tree-SHA512: 16e0ce5a9ecf0628f8d93d68db3f5a78ab36021d9bede05a90c84f144db2e87e17707a6eb910cb7c018c265ce2c81d43de2988bd79e4a2d8554515db8fb5aa36
2019-09-06Set init stop timeout to 10 minsetpill
`bitcoind` can take a long time to flush its db cache to disk upon shutdown. Most init files send a `SIGKILL` after a timeout of 1 minute, causing unclean shutdowns and triggering a long "Rolling forward" at the next startup. Increasing this timeout to 10 minutes should reduce how often this occurs, especially during IBD. fixup! Set ProtectHome in systemd service file
2019-08-20Set ProtectHome in systemd service filesetpill
Further hardening; the service should be run with as many restrictions as possible without breaking it.
2019-08-20Chgrp config dir to bitcoin in systemd servicesetpill
Rather than making the config dir world-readable, which potentially leaks RPC credentials, the group of the directory is changed to the one the service is executed as.
2019-08-20Improve clarity of systemd service file commentssetpill
The phrasing seemed to indicate that the options specified in ExecStart= could not be specified in the config file, necessitating their inclusion in the service file. However, the options in the config file simply get overridden by any specified in ExecStart=.
2019-01-05init: Use systemd automatic directory creationCarl Dong
Tell systemd to create, set, and ensure the right mode for the PID, configuration, and data directories. Only the exec bit is set for groups for the aforementioned directories. This is the least privilege perm that allows for the reading/writing/execing of files under the directory _if_ the files themselves give permission to its group to do so (e.g. when -sysperms is specified). Note that this does not allow for the listing of files under the directory.
2018-03-14Apply hardening measurements in bitcoind systemd service fileFlorian Schmaus
Adds typical systemd hardening measurements for network services.
2017-06-05Improve bitcoind systemd service fileFlorian Schmaus
Add comment how further options can be added or existing ones modified. Use /run/${RuntimeDirectory} for PID file. Remove TimeoutStopSec, TimeoutStartSec, StartLimitInterval, StartLimitBurst directives as those should be set indivdually. Remove Group to user the bitcoin user's default group. Changed Restart from 'always' to 'on-failure' (can also be overwritten individually).
2014-09-09Add init scripts and docs for Upstart and OpenRCAdam Weiss