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