|  | @@ -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';
 |