Commit 029b1b1a86f3f13f494e06e45c0262b370dd3d90

Authored by André Araújo
1 parent dcec9a52
Exists in master

Adiciona script de inicialização automática

Showing 2 changed files with 81 additions and 3 deletions   Show diff stats
Makefile
  1 +################################################################################
  2 +# Change eth0 to your interface
  3 +################################################################################
  4 +
  5 +INTERFACE = eth0
  6 +
  7 +################################################################################
  8 +
1 9 LOG = server.log
2 10 SERVER = server.js
3 11 BLENDER_VER = "2.74"
... ... @@ -8,6 +16,8 @@ CACHE += "./events.log"
8 16 CACHE += "./server.log"
9 17 DONE = [\33[32;5mFinalizado\33[m]
10 18 FAIL = [\33[31;5mFalhou\33[m] Codigo: $$?
  19 +INIT_SCRIPT = "wikilibras-api.init"
  20 +LOCALHOST = $(shell ip addr list ${INTERFACE} | grep "inet " | cut -d ' ' -f6 | cut -d/ -f1)
11 21  
12 22 __help__:
13 23 @echo ""
... ... @@ -19,23 +29,36 @@ __help__:
19 29 @echo " \33[32;5m make stop \33[0m \33[34;5m finaliza a API instanciada no background \33[0m"
20 30 @echo ""
21 31  
  32 +startup-enable:
  33 + @sed "s#<path-to-project>#$(CURDIR)#" ./$(INIT_SCRIPT) | sudo tee /etc/init.d/$(INIT_SCRIPT)
  34 + @sudo chmod 755 /etc/init.d/$(INIT_SCRIPT)
  35 + @sudo chown "root:root" /etc/init.d/$(INIT_SCRIPT)
  36 + @sudo update-rc.d -f $(INIT_SCRIPT) defaults
  37 +
  38 +startup-disable:
  39 + @sudo update-rc.d -f $(INIT_SCRIPT) remove
  40 + @sudo rm -f /etc/init.d/$(INIT_SCRIPT)
  41 +
22 42 clean:
23 43 @rm -rf $(CACHE)
24 44  
25   -install: uninstall .update .blender .libav .nodejs .npm .mongodb
  45 +install: uninstall .update .blender .libav .nodejs .npm .mongodb update-ip
26 46 @echo "\33[31;5mO computador deve ser reiniciado para concluir o processo\33[0m"
27 47  
28   -uninstall: clean
  48 +uninstall: clean startup-disable
29 49 @sudo rm -rf "./node_modules"
30 50 @sudo rm -f "./wikilibras_server"
31 51 @sudo rm -rf "./node_modules"
  52 + @sudo rm -rf "$$HOME/.forever"
  53 + @sudo rm -rf "$$HOME/.node-gyp"
  54 + @sudo rm -rf "$$HOME/.npm"
32 55  
33 56 .blender:
34 57 @sudo apt-get -y install blender
35 58 @test -d "/usr/share/blender$(BLENDER_VER)/" || make -s .blender_stable
36 59  
37 60 .blender_stable:
38   - @wget $(BLENDER_URL) -NcO ""$$HOME"/$(BLENDER_DIR).tar.bz2"
  61 + @wget $(BLENDER_URL) -NcO "$$HOME/$(BLENDER_DIR).tar.bz2"
39 62 @cd "$$HOME" && \
40 63 tar -xf $(BLENDER_BZ2) && \
41 64 sudo rm -rf "/usr/share/blender$(BLENDER_VER)/" && \
... ... @@ -65,6 +88,13 @@ uninstall: clean
65 88 @sudo npm link forever node-gyp cors
66 89 @sudo npm install
67 90  
  91 +update-ip:
  92 + @cp helpers/properties.js.template helpers/properties.js
  93 + @sed -e '/^var host/{s/.*/var host = \"localhost\";/}' -i "./helpers/properties.js"
  94 + @if [ "${LOCALHOST}" != "" ]; then sed -e '/^var host/{s/.*/var host = \"${LOCALHOST}\";/}' -i "./helpers/properties.js"; fi
  95 + @cat "./helpers/properties.js" | grep "var host"
  96 + @cat "./helpers/properties.js" | grep "var port"
  97 +
68 98 .update:
69 99 @sudo apt-get update
70 100  
... ... @@ -76,6 +106,8 @@ run:
76 106  
77 107 start:
78 108 @forever start --spinSleepTime 1000 --minUptime 1000 -a -l $(LOG) -o $(LOG) -e $(LOG) $(SERVER)
  109 + @echo "`date` Service started ... " >> $(LOG)
79 110  
80 111 stop:
81 112 @forever stop $(SERVER)
  113 + @echo "`date` Service stopped ... " >> $(LOG)
... ...
wikilibras-api.init 0 → 100755
... ... @@ -0,0 +1,46 @@
  1 +#!/bin/sh
  2 +
  3 +### BEGIN INIT INFO
  4 +# Provides: wikilibras-api
  5 +# Required-Start: $all
  6 +# Required-Stop: $all
  7 +# Default-Start: 2 3 4 5
  8 +# Default-Stop: 0 1 6
  9 +# Short-Description: Run API for Wikilibras API
  10 +# Description: Enable service provided by Wikilibras API at boot
  11 +### END INIT INFO
  12 +
  13 +set -e
  14 +
  15 +export PATH=$PATH:/usr/local/bin
  16 +
  17 +CWD="<path-to-project>"
  18 +
  19 +case "$1" in
  20 + start)
  21 + cd "$CWD"
  22 + make start
  23 + ;;
  24 + stop)
  25 + cd "$CWD"
  26 + make stop
  27 + ;;
  28 + *)
  29 + echo "Usage: /etc/init.d/wikilibras-api.init {start|stop}"
  30 + exit 1
  31 + ;;
  32 +esac
  33 +
  34 +exit 0
  35 +
  36 +#startup-enable:
  37 +# @sudo cp ./wikilibras-api.init /etc/init.d/wikilibras-api.init
  38 +# @sudo chmod 755 /etc/init.d/wikilibras-api.init
  39 +# @sudo chown "root:root" /etc/init.d/wikilibras-api.init
  40 +# @sudo update-rc.d -f wikilibras-api.init defaults
  41 +
  42 +#startup-disable:
  43 +# @sudo update-rc.d -f wikilibras-api.init remove
  44 +# @sudo rm -f /etc/init.d/wikilibras-api.init
  45 +
  46 +
... ...