proper packaging and upstart scripts for ubuntu
This commit is contained in:
10
nodejs/etc/default/servicedock
Normal file
10
nodejs/etc/default/servicedock
Normal file
@@ -0,0 +1,10 @@
|
||||
# set values for servicedock process
|
||||
|
||||
#EXEC_SERVICEDOCK="/usr/bin/nodejs /usr/share/servicedock/nodejs/servicedock"
|
||||
|
||||
# by default logs to /var/log/servicedock.log
|
||||
SERVICEDOCK_LOG="/dev/null"
|
||||
|
||||
#SERVICEDOCK_USER="servicedock"
|
||||
|
||||
#SERVICEDOCK_PORT="8888"
|
38
nodejs/etc/init/servicedock.conf
Executable file
38
nodejs/etc/init/servicedock.conf
Executable file
@@ -0,0 +1,38 @@
|
||||
#!upstart
|
||||
description "ServiceDock"
|
||||
author "Marc Wäckerlin"
|
||||
|
||||
start on (local-filesystems and net-device-up)
|
||||
stop on runlevel [!2345]
|
||||
|
||||
respawn
|
||||
|
||||
script
|
||||
echo $$ > /var/run/servicedock.pid
|
||||
# there are some useful defaults
|
||||
# do not edit this file, overwrite values in /etc/default/servicedock
|
||||
EXEC_SERVICEDOCK="/usr/bin/nodejs /usr/share/servicedock/nodejs/servicedock"
|
||||
SERVICEDOCK_LOG="/var/log/servicedock.log"
|
||||
SERVICEDOCK_USER="servicedock"
|
||||
SERVICEDOCK_PORT=""
|
||||
[ -r /etc/default/servicedock ] && . /etc/default/servicedock
|
||||
if test -n "${SERVICEDOCK_USER}"; then
|
||||
exec sudo -u "${SERVICEDOCK_USER}" ${EXEC_SERVICEDOCK} ${SERVICEDOCK_PORT} >> ${SERVICEDOCK_LOG} 2>&1
|
||||
else
|
||||
exec ${NODEJS_BIN} >> ${SERVICEDOCK_LOG} 2>&1
|
||||
fi
|
||||
end script
|
||||
|
||||
pre-start script
|
||||
SERVICEDOCK_LOG="/var/log/servicedock.log"
|
||||
[ -r /etc/default/servicedock ] && . /etc/default/servicedock
|
||||
# Date format same as (new Date()).toISOString() for consistency
|
||||
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> ${SERVICEDOCK_LOG}
|
||||
end script
|
||||
|
||||
pre-stop script
|
||||
SERVICEDOCK_LOG="/var/log/servicedock.log"
|
||||
[ -r /etc/default/servicedock ] && . /etc/default/servicedock
|
||||
rm /var/run/servicedock.pid
|
||||
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> ${SERVICEDOCK_LOG}
|
||||
end script
|
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"port": 8889
|
||||
"port": 8888
|
||||
}
|
||||
|
@@ -8,7 +8,11 @@ EXTRA_DIST = servicedock.js package.json.in public routes sockets docker views
|
||||
|
||||
nodejsdir = ${pkgdatadir}/nodejs
|
||||
|
||||
sysconf_DATA = etc/@PACKAGE_NAME@.json
|
||||
sysconfdefaultdir = ${sysconfdir}/default
|
||||
sysconfinitdir = ${sysconfdir}/init
|
||||
dist_sysconf_DATA = etc/@PACKAGE_NAME@.json
|
||||
dist_sysconfdefault_DATA = etc/default/servicedock
|
||||
dist_sysconfinit_DATA = etc/init/servicedock.conf
|
||||
|
||||
all: node_modules
|
||||
|
||||
|
@@ -14,6 +14,18 @@ var config = require(package.path.config);
|
||||
var docker = require(__dirname+'/docker')(app);
|
||||
|
||||
// Configuration
|
||||
process.argv.forEach(function(val, index) {
|
||||
if (index<2) {return}
|
||||
if (index!=2 || typeof val != 'number') {
|
||||
console.log("**** ERROR: Unexpected Argument - allowed is only a port number");
|
||||
process.exit(1);
|
||||
}
|
||||
config.port = val;
|
||||
});
|
||||
if (typeof config.port != 'number') {
|
||||
console.log("**** WARNING: no valid port given, defaults to 8888");
|
||||
config.port = 8888;
|
||||
}
|
||||
|
||||
app.configure(function(){
|
||||
app.set('views', __dirname + '/views');
|
||||
|
Reference in New Issue
Block a user