aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md15
-rw-r--r--utils/conf/bitmonerod.conf7
-rw-r--r--utils/systemd/bitmonerod.service22
3 files changed, 40 insertions, 4 deletions
diff --git a/README.md b/README.md
index 394bee2d6..4fadc9e52 100644
--- a/README.md
+++ b/README.md
@@ -215,16 +215,23 @@ foreground:
./bin/bitmonerod
-To run in background:
-
- ./bin/bitmonerod --log-file bitmonerod.log --detach
-
To list all available options, run `./bin/bitmonerod --help`. Options can be
specified either on the command line or in a configuration file passed by the
`--config-file` argument. To specify an option in the configuration file, add
a line with the syntax `argumentname=value`, where `argumentname` is the name
of the argument without the leading dashes, for example `log-level=1`.
+To run in background:
+
+ ./bin/bitmonerod --log-file bitmonerod.log --detach
+
+To run as a systemd service, copy
+[bitmonerod.service](utils/systemd/bitmonerod.service) to `/etc/systemd/system/` and
+[bitmonerod.conf](utils/conf/bitmonerod.conf) to `/etc/`. The [example
+service](utils/systemd/bitmonerod.service) assumes that the user `bitmonero` exists
+and its home is the data directory specified in the [example
+config](utils/conf/bitmonerod.conf).
+
## Internationalization
See README.i18n
diff --git a/utils/conf/bitmonerod.conf b/utils/conf/bitmonerod.conf
new file mode 100644
index 000000000..64a02741d
--- /dev/null
+++ b/utils/conf/bitmonerod.conf
@@ -0,0 +1,7 @@
+# Configuration for bitmonerod
+# Syntax: any command line option may be specified as 'clioptionname=value'.
+# See 'bitmonerod --help' for all available options.
+
+data-dir=/var/lib/bitmonero
+log-file=/var/log/bitmonero/bitmonero.log
+log-level=0
diff --git a/utils/systemd/bitmonerod.service b/utils/systemd/bitmonerod.service
new file mode 100644
index 000000000..da012c4e3
--- /dev/null
+++ b/utils/systemd/bitmonerod.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Monero cryptocurrency node
+After=network.target
+
+[Service]
+User=bitmonero
+Group=bitmonero
+WorkingDirectory=~
+
+Type=forking
+ExecStart=/usr/bin/bitmonerod --config-file /etc/bitmonerod.conf --detach
+
+# This is necessary because bitmonerod does not yet support
+# writing a PID file, which means systemd tries to guess the PID
+# by default, but it guesses wrong (sometimes, depending on
+# random timing of events), because the daemon forks twice.
+# The ultimate fix is for the daemon to write a PID file, and
+# a workaround is to disable the guessing feature in systemd.
+GuessMainPID=no
+
+[Install]
+WantedBy=multi-user.target