proper packaging and upstart scripts for ubuntu

This commit is contained in:
Marc Wäckerlin
2016-03-02 15:25:58 +00:00
parent 702a064814
commit 9a9a17da92
11 changed files with 214 additions and 58 deletions

View 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"

View 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

View File

@@ -1,3 +1,3 @@
{
"port": 8889
"port": 8888
}

View File

@@ -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

View File

@@ -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');