summaryrefslogtreecommitdiff
path: root/pkg/server/soledad-server
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/server/soledad-server')
-rw-r--r--pkg/server/soledad-server73
1 files changed, 73 insertions, 0 deletions
diff --git a/pkg/server/soledad-server b/pkg/server/soledad-server
new file mode 100644
index 00000000..450f2277
--- /dev/null
+++ b/pkg/server/soledad-server
@@ -0,0 +1,73 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: soledad
+# Required-Start: $network $named $remote_fs $syslog $time
+# Required-Stop: $network $named $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start soledad daemon at boot time
+# Description: Synchronization of locally encrypted data among devices
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+PIDFILE=/var/run/soledad.pid
+RESOURCE_CLASS=leap.soledad.server.entrypoint.SoledadEntrypoint
+HTTPS_PORT=2424
+CONFDIR=/etc/soledad
+CERT_PATH="${CONFDIR}/soledad-server.pem"
+PRIVKEY_PATH="${CONFDIR}/soledad-server.key"
+TWISTD_PATH=/usr/bin/twistd
+HOME=/var/lib/soledad/
+SSL_METHOD=SSLv23_METHOD
+USER=soledad
+GROUP=soledad
+
+[ -r /etc/default/soledad ] && . /etc/default/soledad
+
+test -r ${CONFDIR} || exit 0
+
+. /lib/lsb/init-functions
+
+
+case "${1}" in
+ start)
+ echo -n "Starting soledad: twistd"
+ start-stop-daemon --start --quiet \
+ --exec ${TWISTD_PATH} -- \
+ --uid=${USER} --gid=${GROUP} \
+ --pidfile=${PIDFILE} \
+ --syslog \
+ --prefix=soledad-server \
+ web \
+ --class=${RESOURCE_CLASS} \
+ --port=ssl:${HTTPS_PORT}:privateKey=${PRIVKEY_PATH}:certKey=${CERT_PATH}:sslmethod=${SSL_METHOD}
+ echo "."
+ ;;
+
+ stop)
+ echo -n "Stopping soledad: twistd"
+ start-stop-daemon --stop --quiet \
+ --pidfile ${PIDFILE}
+ echo "."
+ ;;
+
+ restart)
+ ${0} stop
+ ${0} start
+ ;;
+
+ force-reload)
+ ${0} restart
+ ;;
+
+ status)
+ status_of_proc -p ${PIDFILE} ${TWISTD_PATH} soledad && exit 0 || exit ${?}
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/soledad {start|stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0