-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart_Electrum-Server.sh
executable file
·141 lines (124 loc) · 5.65 KB
/
start_Electrum-Server.sh
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/bin/bash -x
###### This provides a generic example to start an Electrum--server server for a coin
# Variables are given with defaults!
# Either set variables on command line overriding default in this script:
# USER=coin ELECTRUM_DASH_SVR_IRCNICK=mazaclub ./start_Electrum--server.sh
# OR
# change the default in this script
# ELECTRUM_DASH_SVR_IRCNICK=${ELECTRUM_DASH_SVR_IRCNICK:-mazaclub}}
# ->> ELECTRUM_DASH_SVR_IRCNICK=${ELECTRUM_DASH_SVR_IRCNICK:-metalurgist}}
# OR ELECTRUM_DASH_SVR_IRCNICK=metalurgist
#
#
###########################
### Variables supported by mazaclub/${COIND}-base images
### - these are used INSIDE the docker container,
### and provided to it via -e ENV=var in docker run statements
### - these variables are required to be set
### - TXINDEX=1 is required for Electrum--server operation
### - it is HIGHLY recommended to NOT REINDEX your blockchain
### and instead download a fresh copy with TXINDEX=1 set
COIN=${COIN:-bitcoin}
COIN_SYM=${COIN_SYM:-dash}
COIND=${COIND:-localhost}
RPCPORT=${RPCPORT:-8332}
COINDIR=${COINDIR:-/home/${USER}/.${COIN}}
TXINDEX=${TXINDEX:-1}
###############################################
## Variables for start_Electrum--server.sh
## - these are NOT used inside the container, these are
## only used to START the container
IMAGE="${IMAGE:-mazaclub/electrum-dash-server:${COIN_SYM}}"
GROUP="mercury"
APP="${COIN}"
HOST_DATA_PREFIX="/opt/data/electrum-dash-server"
DATA_VOLDIR="/var/electrum-dash-server/${COIN_SYM}"
HOSTNAME="${COIN_SYM}.mercury.${DOMAIN}"
NAME="${GROUP}_${APP}"
#################################
#################################
## Variables supported in /app/start.sh
### - these are used INSIDE the docker container,
### and provided to it via -e ENV=var in docker run statements
### - thes show their default values in /app/start.sh
### - used to configure electrum-dash-server.conf
### - If you are behind NAT, and are connecting your server to IRC
### ELECTRUM_DASH_SVR_REPORT_HOST
### ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT
### ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT
### are needed to provide IRC clients with your correct public DNS/ports
#ELECTRUM_DASH_SVR_PRUNING_LIMIT=${ELECTRUM_DASH_SVR_PRUNING_LIMIT:-10000}
#ELECTRUM_DASH_SVR_HOSTNAME=${ELECTRUM_DASH_SVR_HOSTNAME:-${HOSTNAME}}
#ELECTRUM_DASH_SVR_PORT=${ELECTRUM_DASH_SVR_PORT:-50001}
#ELECTRUM_DASH_SVR_SSLPORT=${ELECTRUM_DASH_SVR_SSL_PORT:-50002}
#RPCUSER=${RPCUSER:-$(grep rpcuser "${COINDIR}"/${COIN}.conf |awk -F= '{print $2}')}
#RPCPASSWORD=${RPCPASSWORD:-$(grep rpcpassword "${COINDIR}"/${COIN}.conf |awk -F= '{print $2}')}
#ELECTRUM_DASH_SVR_PASSWORD=$(egrep '^password =' /etc/electrum-dash-server.conf|awk -F= '{print $2}')
#ELECTRUM_DASH_SVR_IRCNICK=${ELECTRUM_DASH_SVR_IRCNICK:-$[ 1 + $[RANDOM % 99999 ]]__mazaclub}
#ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE=${ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE:-120}
#ELECTRUM_DASH_SVR_DONATION_ADDR=${ELECTRUM_DASH_SVR_DONATION_ADDR:-1CnCRnTLW1uQaFWguRsvmQJXWA3G9nfa9T}
#ELECTRUM_DASH_SVR_REPORT_HOST=${ENCMPASS_MERCURY_REPORT_HOST:-${ELECTRUM_DASH_SVR_HOSTNAME}}
#ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT:-${ELECTRUM_DASH_SVR_PORT}}
#ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT:-${ELECTRUM_DASH_SVR_SSL_PORT}}
#######################################
ELECTRUM_DASH_SVR_PRUNING_LIMIT=${ELECTRUM_DASH_SVR_PRUNING_LIMIT:-10000}
ELECTRUM_DASH_SVR_HOSTNAME=${ELECTRUM_DASH_SVR_HOSTNAME:-dash.mercury.docker.local}
ELECTRUM_DASH_SVR_PORT=${ELECTRUM_DASH_SVR_PORT:-50001}
ELECTRUM_DASH_SVR_SSL_PORT=${ELECTRUM_DASH_SVR_SSL_PORT:-50002}
ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT:-50001}
ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT:-50002}
ELECTRUM_DASH_SVR_IRCNICK=${ELECTRUM_DASH_SVR_IRCNICK:-dev_mazaclub}
ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE=${ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE:-120}
ELECTRUM_DASH_SVR_DONATION_ADDR=${ELECTRUM_DASH_SVR_DONATION_ADDR:-1CnCRnTLW1uQaFWguRsvmQJXWA3G9nfa9T}
ELECTRUM_DASH_SVR_REPORT_HOST=${ENCMPASS_MERCURY_REPORT_HOST:-dash.mercury.maza.club}
run () {
docker run -d \
-h "${HOSTNAME}" \
--name=${NAME} \
--restart=always \
-p ${ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT}:${ELECTRUM_DASH_SVR_SSL_PORT} \
-p ${ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT}:${ELECTRUM_DASH_SVR_PORT} \
-p ${ELECTRUM_DASH_SVR_OUTSIDE_DAEMON_PORT}:${ELECTRUM_DASH_SVR_DAEMON_PORT} \
-p ${OUTSIDE_RPCPORT}:${RPCPORT} \
-v ${HOST_DATA_PREFIX}/${COIN}:${COINDIR} \
-v ${HOST_DATA_PREFIX}/electrum-dash-server:${DATA_VOLDIR} \
-v ${HOST_DATA_PREFIX}/log:/var/log/electrum-dash-server-${COIN}.log \
-e COIN=${COIN} \
-e COIN_SYM=${COIN_SYM} \
-e COIND=${COIND} \
-e RPCPORT=${RPCPORT} \
-e COINDIR=${COINDIR} \
-e TXINDEX=${TXINDEX} \
-e ELECTRUM_DASH_SVR_PRUNING_LIMIT=${ELECTRUM_DASH_SVR_PRUNING_LIMIT} \
-e ELECTRUM_DASH_SVR_HOSTNAME=${ELECTRUM_DASH_SVR_HOSTNAME} \
-e ELECTRUM_DASH_SVR_PORT=${ELECTRUM_DASH_SVR_PORT} \
-e ELECTRUM_DASH_SVR_SSL_PORT=${ELECTRUM_DASH_SVR_SSL_PORT} \
-e ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_TCP_PORT} \
-e ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT=${ELECTRUM_DASH_SVR_OUTSIDE_SSL_PORT} \
-e ELECTRUM_DASH_SVR_IRCNICK=${ELECTRUM_DASH_SVR_IRCNICK} \
-e ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE=${ELECTRUM_DASH_SVR_BLOCK_CACHE_SIZE} \
-e ELECTRUM_DASH_SVR_DONATION_ADDR=${ELECTRUM_DASH_SVR_DONATION_ADDR} \
-e ELECTRUM_DASH_SVR_REPORT_HOST=${ENCMPASS_MERCURY_REPORT_HOST} \
${IMAGE}
}
start () {
docker start ${NAME}
}
stop () {
docker stop ${NAME}
}
remove () {
docker rm ${NAME}
}
case ${1} in
remove) remove
;;
start) start
;;
stop) stop
;;
run) run
;;
*) echo "Usage: ${0} [run|start|stop|remove]"
;;
esac