Commit 029b1b1a86f3f13f494e06e45c0262b370dd3d90
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) | ... | ... |
... | ... | @@ -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 | + | ... | ... |