Browse Source

Local install of datserver

Bob Mottram 7 years ago
parent
commit
c998564b70
1 changed files with 16 additions and 41 deletions
  1. 16
    41
      src/freedombone-app-datserver

+ 16
- 41
src/freedombone-app-datserver View File

@@ -124,22 +124,14 @@ function configure_interactive_datserver {
124 124
 }
125 125
 
126 126
 function upgrade_datserver {
127
-    CURR_DATSERVER_DAT_VERSION=$(get_completion_param "datserver version")
128
-    if [[ "$CURR_DATSERVER_DAT_VERSION" != "$DATSERVER_DAT_VERSION" ]]; then
129
-
130
-        if npm update -g dat@$DATSERVER_DAT_VERSION; then
131
-            set_completion_param "datserver version" "$DATSERVER_DAT_VERSION"
132
-        fi
133
-        chown -R datserver:datserver "$DATSERVER_DIRECTORY"
134
-    fi
135
-
136 127
     CURR_DATSERVER_HYPERCORED_VERSION=$(get_completion_param "datserver hypercored version")
137 128
     if [[ "$CURR_DATSERVER_HYPERCORED_VERSION" != "$DATSERVER_HYPERCORED_VERSION" ]]; then
138
-
139
-        if npm update -g hypercored@$DATSERVER_HYPERCORED_VERSION; then
129
+        cd $DATSERVER_DIRECTORY || exit 254274
130
+        if npm update hypercored@$DATSERVER_HYPERCORED_VERSION; then
140 131
             set_completion_param "datserver hypercored version" "$DATSERVER_HYPERCORED_VERSION"
141 132
         fi
142 133
         chown -R datserver:datserver "$DATSERVER_DIRECTORY"
134
+        systemctl restart datserver
143 135
     fi
144 136
 }
145 137
 
@@ -217,19 +209,13 @@ function remove_datserver {
217 209
         rm /etc/systemd/system/datserver.service
218 210
     fi
219 211
     userdel -r datserver
220
-    npm uninstall -g dat
221
-    npm uninstall -g hypercored
222
-    npm uninstall -g lil-pids
223 212
 
224 213
     remove_nodejs datserver
225 214
 
226
-    remove_onion_service datserver "${DATSERVER_ONION_PORT}"
227
-    if grep -q "datserver" /etc/crontab; then
228
-        sed -i "/datserver/d" /etc/crontab
229
-    fi
230 215
     if [ -d $DATSERVER_DIRECTORY ]; then
231 216
         rm -rf $DATSERVER_DIRECTORY
232 217
     fi
218
+
233 219
     remove_app datserver
234 220
     remove_completion_param install_datserver
235 221
     sed -i '/datserver/d' "$COMPLETION_FILE"
@@ -240,42 +226,31 @@ function install_datserver {
240 226
 
241 227
     install_nodejs datserver
242 228
 
243
-    if ! npm install -g lil-pids@2.6.1; then
244
-        echo $'unable to install lil-pids'
245
-        exit 8456721
246
-    fi
247
-    if [ ! -f /root/.npm-global/bin/lil-pids ]; then
248
-        echo $'lil-pids was not installed'
249
-        exit 5628747
250
-    fi
251
-
252
-    if ! npm install -g dat@$DATSERVER_DAT_VERSION; then
253
-        exit 2468736
254
-    fi
255
-    if [ ! -f /root/.npm-global/bin/dat ]; then
256
-        echo $'dat was not installed'
257
-        exit 156835
229
+    if [ -d $DATSERVER_DIRECTORY ]; then
230
+        rm -rf $DATSERVER_DIRECTORY
258 231
     fi
232
+    mkdir $DATSERVER_DIRECTORY
233
+    cd $DATSERVER_DIRECTORY || exit 3658356
259 234
 
260
-    if ! npm install -g hypercored@$DATSERVER_HYPERCORED_VERSION; then
235
+    if ! npm install hypercored@$DATSERVER_HYPERCORED_VERSION; then
261 236
         echo $'hypercored was not installed'
262 237
         exit 4635439
263 238
     fi
264 239
 
240
+    { echo '#!/bin/bash';
241
+      echo 'cd /etc/datserver';
242
+      echo './node_modules/.bin/hypercored'; } > /usr/bin/run_datserver
243
+    chmod +x /usr/bin/run_datserver
244
+
265 245
     set_completion_param "datserver version" "$DATSERVER_DAT_VERSION"
266 246
     set_completion_param "datserver hypercored version" "$DATSERVER_HYPERCORED_VERSION"
267 247
 
268
-    if [ -d $DATSERVER_DIRECTORY ]; then
269
-        rm -rf $DATSERVER_DIRECTORY
270
-    fi
271
-    mkdir $DATSERVER_DIRECTORY
272
-    useradd -c "datserver system account" -d "$DATSERVER_DIRECTORY" -m -r -g datserver datserver
248
+    adduser --system --home="$DATSERVER_DIRECTORY" --group datserver
273 249
     if [ ! -d $DATSERVER_DIRECTORY ]; then
274 250
         echo $'dat directory was not created'
275 251
         exit 9568356
276 252
     fi
277 253
 
278
-    echo "/root/.npm-global/bin/hypercored --cwd $DATSERVER_DIRECTORY" > $DATSERVER_DIRECTORY/services
279 254
     chown -R datserver:datserver "$DATSERVER_DIRECTORY"
280 255
 
281 256
     { echo '[Unit]';
@@ -284,7 +259,7 @@ function install_datserver {
284 259
       echo '[Service]';
285 260
       echo 'User=datserver';
286 261
       echo 'Group=datserver';
287
-      echo "ExecStart=/root/.npm-global/bin/lil-pids $DATSERVER_DIRECTORY/services $DATSERVER_DIRECTORY/pids";
262
+      echo "ExecStart=/usr/bin/run_datserver";
288 263
       echo 'Restart=always';
289 264
       echo "WorkingDirectory=$DATSERVER_DIRECTORY";
290 265
       echo 'StandardError=syslog';