|  | @@ -14,7 +14,7 @@
 | 
	
		
			
			| 14 | 14 |  # License
 | 
	
		
			
			| 15 | 15 |  # =======
 | 
	
		
			
			| 16 | 16 |  #
 | 
	
		
			
			| 17 |  | -# Copyright (C) 2016-2017 Bob Mottram <bob@freedombone.net>
 | 
	
		
			
			|  | 17 | +# Copyright (C) 2016-2018 Bob Mottram <bob@freedombone.net>
 | 
	
		
			
			| 18 | 18 |  #
 | 
	
		
			
			| 19 | 19 |  # This program is free software: you can redistribute it and/or modify
 | 
	
		
			
			| 20 | 20 |  # it under the terms of the GNU Affero General Public License as published by
 | 
	
	
		
			
			|  | @@ -319,6 +319,8 @@ function remove_ghost {
 | 
	
		
			
			| 319 | 319 |      rm /etc/systemd/system/ghost.service
 | 
	
		
			
			| 320 | 320 |      systemctl daemon-reload
 | 
	
		
			
			| 321 | 321 |  
 | 
	
		
			
			|  | 322 | +    npm uninstall -g ghost-cli
 | 
	
		
			
			|  | 323 | +
 | 
	
		
			
			| 322 | 324 |      function_check remove_nodejs
 | 
	
		
			
			| 323 | 325 |      remove_nodejs ghost
 | 
	
		
			
			| 324 | 326 |  
 | 
	
	
		
			
			|  | @@ -347,6 +349,8 @@ function remove_ghost {
 | 
	
		
			
			| 347 | 349 |  }
 | 
	
		
			
			| 348 | 350 |  
 | 
	
		
			
			| 349 | 351 |  function install_ghost {
 | 
	
		
			
			|  | 352 | +    check_ram_availability 900
 | 
	
		
			
			|  | 353 | +
 | 
	
		
			
			| 350 | 354 |      if [ ! $ONION_ONLY ]; then
 | 
	
		
			
			| 351 | 355 |          ONION_ONLY='no'
 | 
	
		
			
			| 352 | 356 |      fi
 | 
	
	
		
			
			|  | @@ -367,78 +371,46 @@ function install_ghost {
 | 
	
		
			
			| 367 | 371 |      function_check install_nodejs
 | 
	
		
			
			| 368 | 372 |      install_nodejs ghost
 | 
	
		
			
			| 369 | 373 |  
 | 
	
		
			
			| 370 |  | -    # Some dependencies of ghost
 | 
	
		
			
			| 371 |  | -    npm install -g jison@0.4.13 --save
 | 
	
		
			
			| 372 |  | -    npm install moment-timezone@0.5.13
 | 
	
		
			
			| 373 |  | -    npm install express@4.15.3
 | 
	
		
			
			| 374 |  | -    npm install lodash@4.17.4
 | 
	
		
			
			| 375 |  | -    npm install uuid@3.0.1
 | 
	
		
			
			| 376 |  | -    npm install bluebird@3.5.0
 | 
	
		
			
			| 377 |  | -    npm install chalk@1.1.3
 | 
	
		
			
			| 378 |  | -    npm install intl-messageformat@1.3.0
 | 
	
		
			
			| 379 |  | -    npm install validator@7.0.0
 | 
	
		
			
			| 380 |  | -    npm install express-hbs@1.0.4
 | 
	
		
			
			| 381 |  | -    npm install glob@7.1.2
 | 
	
		
			
			| 382 |  | -    npm install unidecode@0.1.8
 | 
	
		
			
			| 383 |  | -    npm install csv-parser@1.11.0
 | 
	
		
			
			| 384 |  | -    npm install archiver@1.3.0
 | 
	
		
			
			| 385 |  | -    npm install fs-extra@3.0.1
 | 
	
		
			
			| 386 |  | -    npm install extract-zip-fork@1.5.1
 | 
	
		
			
			| 387 |  | -    npm install moment@2.18.1
 | 
	
		
			
			| 388 |  | -    npm install nodemailer@4.0.1
 | 
	
		
			
			| 389 |  | -    npm install html-to-text@3.3.0
 | 
	
		
			
			| 390 |  | -    npm install gscan@1.1.0
 | 
	
		
			
			| 391 |  | -    npm install body-parser@1.17.2
 | 
	
		
			
			| 392 |  | -    npm install compression@1.6.2
 | 
	
		
			
			| 393 |  | -    npm install morgan@1.8.2
 | 
	
		
			
			| 394 |  | -    npm install semver@5.3.0
 | 
	
		
			
			| 395 |  | -    npm install path-match@1.2.4
 | 
	
		
			
			| 396 |  | -    npm install downsize@0.0.8
 | 
	
		
			
			| 397 |  | -    npm install rss@1.2.2
 | 
	
		
			
			| 398 |  | -    npm install cheerio@1.0.0-rc.1
 | 
	
		
			
			| 399 |  | -    npm install passport@0.3.2
 | 
	
		
			
			| 400 |  | -    npm install xml@1.0.1
 | 
	
		
			
			| 401 |  | -    npm install multer@1.3.0
 | 
	
		
			
			| 402 |  | -    npm install oauth2orize@1.8.0
 | 
	
		
			
			| 403 |  | -    npm install connect-slashes@1.3.1
 | 
	
		
			
			| 404 |  | -    npm install cors@2.8.3
 | 
	
		
			
			| 405 |  | -    npm install netjet@1.1.3
 | 
	
		
			
			| 406 |  | -    npm install jsonpath@0.2.11
 | 
	
		
			
			| 407 |  | -    npm install image-size@0.5.4
 | 
	
		
			
			| 408 |  | -    npm install passport-oauth2-client-password@0.1.2
 | 
	
		
			
			| 409 |  | -    npm install passport-http-bearer@1.0.1
 | 
	
		
			
			| 410 |  | -    npm install amperize@0.3.4
 | 
	
		
			
			| 411 |  | -    npm install bcryptjs@2.4.3
 | 
	
		
			
			| 412 |  | -    npm install knex@0.12.9
 | 
	
		
			
			| 413 |  | -    npm install bookshelf@0.10.2
 | 
	
		
			
			| 414 |  | -    npm install cookie-session@1.2.0
 | 
	
		
			
			| 415 |  | -    npm install ghost-gql@0.0.6
 | 
	
		
			
			| 416 |  | -    npm install intl@1.2.5
 | 
	
		
			
			| 417 |  | -    npm install sanitize-html@1.14.1
 | 
	
		
			
			| 418 |  | -    npm install showdown-ghost@0.3.6
 | 
	
		
			
			| 419 |  | -    npm install superagent@3.5.2
 | 
	
		
			
			| 420 |  | -    npm install mysql@2.1.1
 | 
	
		
			
			| 421 |  | -    npm install mariasql@0.2.6
 | 
	
		
			
			| 422 |  | -    npm install debug@2.6.8
 | 
	
		
			
			| 423 |  | -    npm install nconf@0.8.4
 | 
	
		
			
			| 424 |  | -
 | 
	
		
			
			| 425 |  | -    npm install -g knex-migrator
 | 
	
		
			
			| 426 |  | -    knex-migrator init
 | 
	
		
			
			| 427 |  | -
 | 
	
		
			
			| 428 | 374 |      # now install ghost itself
 | 
	
		
			
			| 429 |  | -    npm install -g ghost-cli
 | 
	
		
			
			|  | 375 | +    npm install -g ghost-cli@latest
 | 
	
		
			
			|  | 376 | +    if [ ! -f /usr/local/bin/ghost ]; then
 | 
	
		
			
			|  | 377 | +        echo $'ghost was not installed'
 | 
	
		
			
			|  | 378 | +        exit 738539
 | 
	
		
			
			|  | 379 | +    fi
 | 
	
		
			
			| 430 | 380 |  
 | 
	
		
			
			| 431 | 381 |      GHOST_ONION_HOSTNAME=$(add_onion_service ghost 80 ${GHOST_ONION_PORT})
 | 
	
		
			
			| 432 | 382 |  
 | 
	
		
			
			| 433 |  | -    ghost install local --port ${GHOST_PORT}
 | 
	
		
			
			|  | 383 | +    npm install -g yarn
 | 
	
		
			
			|  | 384 | +    yarn install --no-emoji --no-progress
 | 
	
		
			
			|  | 385 | +    yarn cache clean
 | 
	
		
			
			|  | 386 | +    adduser --system --home=/var/www/${GHOST_DOMAIN_NAME}/htdocs/ --group ghost
 | 
	
		
			
			|  | 387 | +    rm -rf /var/www/$GHOST_DOMAIN_NAME/htdocs/*
 | 
	
		
			
			|  | 388 | +    printf 'y' | ghost install ${GHOST_VERSION} --user ghost --db=sqlite3 --port ${GHOST_PORT} --verbose
 | 
	
		
			
			|  | 389 | +
 | 
	
		
			
			|  | 390 | +    if [ ! -d /var/www/$GHOST_DOMAIN_NAME/htdocs/versions ]; then
 | 
	
		
			
			|  | 391 | +        echo $'versions directory was not found'
 | 
	
		
			
			|  | 392 | +        exit 782523462
 | 
	
		
			
			|  | 393 | +    fi
 | 
	
		
			
			|  | 394 | +    if [ ! -d /var/www/$GHOST_DOMAIN_NAME/htdocs/content ]; then
 | 
	
		
			
			|  | 395 | +        echo $'content directory was not found'
 | 
	
		
			
			|  | 396 | +        exit 68352682
 | 
	
		
			
			|  | 397 | +    fi
 | 
	
		
			
			|  | 398 | +
 | 
	
		
			
			|  | 399 | +    npm install -g knex-migrator
 | 
	
		
			
			|  | 400 | +    if [ ! -f /var/www/$GHOST_DOMAIN_NAME/htdocs/versions/${GHOST_VERSION}/MigratorConfig.js ]; then
 | 
	
		
			
			|  | 401 | +        echo $'MigratorConfig.js was not found'
 | 
	
		
			
			|  | 402 | +        exit 62783538
 | 
	
		
			
			|  | 403 | +    fi
 | 
	
		
			
			|  | 404 | +    cp /var/www/$GHOST_DOMAIN_NAME/htdocs/versions/${GHOST_VERSION}/MigratorConfig.js /var/www/$GHOST_DOMAIN_NAME/htdocs
 | 
	
		
			
			|  | 405 | +    chown -R ghost: /var/www/$GHOST_DOMAIN_NAME/htdocs
 | 
	
		
			
			|  | 406 | +    cd /var/www/$GHOST_DOMAIN_NAME/htdocs/current
 | 
	
		
			
			|  | 407 | +    knex-migrator init
 | 
	
		
			
			| 434 | 408 |  
 | 
	
		
			
			| 435 | 409 |      ghost_bust
 | 
	
		
			
			| 436 | 410 |  
 | 
	
		
			
			| 437 | 411 |      # NOTE: this has to be http, not https
 | 
	
		
			
			| 438 | 412 |      sed -i "s|\"url\":|\"url\": \"http://${GHOST_DOMAIN_NAME}/\",|g" /var/www/${GHOST_DOMAIN_NAME}/htdocs/config.development.json
 | 
	
		
			
			| 439 | 413 |  
 | 
	
		
			
			| 440 |  | -    adduser --system --home=/var/www/${GHOST_DOMAIN_NAME}/htdocs/ --group ghost
 | 
	
		
			
			| 441 |  | -
 | 
	
		
			
			| 442 | 414 |      echo '[Unit]' > /etc/systemd/system/ghost.service
 | 
	
		
			
			| 443 | 415 |      echo 'Description=Ghost Blog' >> /etc/systemd/system/ghost.service
 | 
	
		
			
			| 444 | 416 |      echo 'After=syslog.target' >> /etc/systemd/system/ghost.service
 | 
	
	
		
			
			|  | @@ -562,6 +534,7 @@ function install_ghost {
 | 
	
		
			
			| 562 | 534 |      else
 | 
	
		
			
			| 563 | 535 |          sed -i "s|ghost version.*|ghost version:${GHOST_VERSION}|g" ${COMPLETION_FILE}
 | 
	
		
			
			| 564 | 536 |      fi
 | 
	
		
			
			|  | 537 | +
 | 
	
		
			
			| 565 | 538 |      APP_INSTALLED=1
 | 
	
		
			
			| 566 | 539 |  }
 | 
	
		
			
			| 567 | 540 |  
 |