blob: 8faf8bd58108e0558b296206508975a51306bd18 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
description "Dogecoin Core Daemon"
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
env DOGECOIND_BIN="/usr/bin/dogecoind"
env DOGECOIND_USER="dogecoin"
env DOGECOIND_GROUP="dogecoin"
env DOGECOIND_PIDDIR="/var/run/dogecoind"
# upstart can't handle variables constructed with other variables
env DOGECOIND_PIDFILE="/var/run/dogecoind/dogecoind.pid"
env DOGECOIND_CONFIGFILE="/etc/dogecoin/dogecoin.conf"
env DOGECOIND_DATADIR="/var/lib/dogecoind"
expect fork
respawn
respawn limit 5 120
kill timeout 60
pre-start script
# this will catch non-existent config files
# dogecoind will check and exit with this very warning, but it can do so
# long after forking, leaving upstart to think everything started fine.
# since this is a commonly encountered case on install, just check and
# warn here.
if ! grep -qs '^rpcpassword=' "$DOGECOIND_CONFIGFILE" ; then
echo "ERROR: You must set a secure rpcpassword to run dogecoind."
echo "The setting must appear in $DOGECOIND_CONFIGFILE"
echo
echo "This password is security critical to securing wallets "
echo "and must not be the same as the rpcuser setting."
echo "You can generate a suitable random password using the following"
echo "command from the shell:"
echo
echo "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
echo
echo "It is also recommended that you also set alertnotify so you are "
echo "notified of problems:"
echo
echo "ie: alertnotify=echo %%s | mail -s \"Dogecoin Alert\"" \
"[email protected]"
echo
exit 1
fi
mkdir -p "$DOGECOIND_PIDDIR"
chmod 0755 "$DOGECOIND_PIDDIR"
chown $DOGECOIND_USER:$DOGECOIND_GROUP "$DOGECOIND_PIDDIR"
chown $DOGECOIND_USER:$DOGECOIND_GROUP "$DOGECOIND_CONFIGFILE"
chmod 0660 "$DOGECOIND_CONFIGFILE"
end script
exec start-stop-daemon \
--start \
--pidfile "$DOGECOIND_PIDFILE" \
--chuid $DOGECOIND_USER:$DOGECOIND_GROUP \
--exec "$DOGECOIND_BIN" \
-- \
-pid="$DOGECOIND_PIDFILE" \
-conf="$DOGECOIND_CONFIGFILE" \
-datadir="$DOGECOIND_DATADIR" \
-disablewallet \
-daemon
|