From b500a50f1b97d93c98b36ed9a980f8188d648147 Mon Sep 17 00:00:00 2001 From: JoelHMikael Date: Sun, 13 Feb 2022 13:07:01 +0200 Subject: Added updating the server code to README.md instructions --- README.md | 22 ++++++++++++++++++++-- crontab_add.txt | 6 ------ init.sh | 9 ++++----- 3 files changed, 24 insertions(+), 13 deletions(-) delete mode 100644 crontab_add.txt diff --git a/README.md b/README.md index 8f576d2..00060bc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # Installation instructions Follow these steps to install everything required for the project to run. -## Install the FoodJS repository: +## Install the FoodJS repository +Just clone it from github. If you want the server to be able to update itself automatically without modifying `init.sh`, you will have to do this in your home folder. ``` git clone "https://github.com/JoelHMikael/FoodJS.git" ``` @@ -122,4 +123,21 @@ Updating the developer table is pretty straightforward. You just need to provide ``` INSERT INTO devs (name, description, contact) VALUES ('[name]', '[description]', '[contact]'); ``` -> Insert the values in the quotation marks, don't change the text before the `VALUES` keyword. \ No newline at end of file +> Insert the values in the quotation marks, don't change the text before the `VALUES` keyword. + +# Automatic server code updates +You can make the server update itself from github. To make this work, move `~/FoodJS/init.sh` to `~/init.sh`: +``` +mv ~/FoodJS/init.sh ~/init.sh +``` +This script should run at reboot, so next up you will have to set up some cronjobs: + +To your crontab: +``` +@reboot ~/init.sh +``` +To the crontab of **root** (you may have to update the shutdown path): +``` +0 0 * * 7 /sbin/shutdown -r +``` +If you need to troubleshoot the initialization, you can find both normal and error logs in /tmp/slogs (text file) \ No newline at end of file diff --git a/crontab_add.txt b/crontab_add.txt deleted file mode 100644 index c5135cb..0000000 --- a/crontab_add.txt +++ /dev/null @@ -1,6 +0,0 @@ -# these are probably going to need some fixing, for example the shutdown path may differ -# to normal user: -@reboot /home/USERNAME/init.sh - -# to root: -0 0 * * 7 /sbin/shutdown -r now diff --git a/init.sh b/init.sh index 1cf40bf..8ff0aae 100755 --- a/init.sh +++ b/init.sh @@ -4,10 +4,10 @@ exec 2>>/tmp/slogs echo | date echo "Init running" -cd /home/joel +cd ~ echo "Removing old packages..." -rm -r -f ./FoodJS +rm -rf ./FoodJS echo "Waiting for connection..." while [ ! "$(ping 'www.github.com' -c 1)" ] @@ -16,9 +16,8 @@ do done echo "Cloning new packages..." -# Create a deployment key and save it in the default folder without passphrase to make this work: -git clone "git@github.com:JoelHMikael/FoodJS.git" +git clone "https://github.com/JoelHMikael/FoodJS.git" echo "Starting server..." -cd /home/joel/FoodJS +cd ~/FoodJS node ./server.js -- cgit v1.2.3