From d3189d55206417557b03fde732693aaffca54cf8 Mon Sep 17 00:00:00 2001
From: startxfr <clarue@startx.fr>
Date: Sun, 29 Nov 2015 23:52:56 +0100
Subject: bugfix for mongo service and reshapping of ooconv

---
 Services/ooconv/Dockerfile         | 21 +++++++------
 Services/ooconv/docker-compose.yml | 14 +++++++++
 Services/ooconv/run.sh             | 63 ++++++++++++++++++++++++++++++++++++++
 Services/ooconv/sx/ooconv.sh       | 40 ------------------------
 Services/ooconv/sx/ooconv_run.sh   |  7 -----
 5 files changed, 88 insertions(+), 57 deletions(-)
 create mode 100644 Services/ooconv/docker-compose.yml
 create mode 100644 Services/ooconv/run.sh
 delete mode 100644 Services/ooconv/sx/ooconv.sh
 delete mode 100644 Services/ooconv/sx/ooconv_run.sh

(limited to 'Services/ooconv')

diff --git a/Services/ooconv/Dockerfile b/Services/ooconv/Dockerfile
index f8ce949..feeed82 100644
--- a/Services/ooconv/Dockerfile
+++ b/Services/ooconv/Dockerfile
@@ -2,15 +2,16 @@ FROM startx/fedora
 MAINTAINER Christophe LARUE <dev@startx.fr>
 
 USER root
-# Install packages and set up unoconv
-RUN dnf -y install unoconv libreoffice-headless libreoffice-writer libreoffice-calc pdftk gs \
-    && dnf clean all \
-    && mkdir -p /tmp/ootmp 
-# Copy startx toolkit
-COPY sx/* /sx/
-RUN chmod ug+rx /sx/ooconv*
+RUN dnf -y install unoconv libreoffice-headless libreoffice-writer libreoffice-calc pdfmod ghostscript && \
+    dnf clean all 
+ENV STARTUPLOG=/data/logs/ooconv/startup.log \
+    LOG_PATH=/data/logs/ooconv
+COPY *.sh /bin/
+RUN chmod 775 /bin/run.sh && \
+    mkdir -p $LOG_PATH  && \
+    mkdir -p /tmp/ootmp  && \
+    touch $STARTUPLOG
 
 EXPOSE 2002
-VOLUME ["/tmp/ootmp"]
-
-CMD ["/sx/ooconv_run.sh"]
\ No newline at end of file
+VOLUME [$LOG_PATH]
+CMD ["/bin/run.sh"]
\ No newline at end of file
diff --git a/Services/ooconv/docker-compose.yml b/Services/ooconv/docker-compose.yml
new file mode 100644
index 0000000..297a045
--- /dev/null
+++ b/Services/ooconv/docker-compose.yml
@@ -0,0 +1,14 @@
+server:
+  build: ./
+#  image: sv-ooconv
+  container_name: "ooconv-server"
+  mem_limit: 2g
+  memswap_limit: 2g
+  cpu_shares: 8
+  restart: "on-failure:2"
+  environment:
+    CONTAINER_TYPE: "service"
+    CONTAINER_SERVICE: "ooconv"
+    CONTAINER_INSTANCE: "service-ooconv"
+  volumes:
+    - "/tmp/container/logs/ooconv:/data/logs/ooconv"
\ No newline at end of file
diff --git a/Services/ooconv/run.sh b/Services/ooconv/run.sh
new file mode 100644
index 0000000..5a94662
--- /dev/null
+++ b/Services/ooconv/run.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+source /bin/sx-lib.sh
+
+
+function display_container_ooconv_header {
+    echo "+====================================================="
+    echo "| Container   : $HOSTNAME"
+    echo "| OS          : $(</etc/redhat-release)"
+    echo "| Connector   : $(unoconv --version | head -1)" 
+    echo "| Engine      : $(unoconv --version | tail -1)" 
+    if [ -v CONTAINER_TYPE ]; then
+        echo "| Type        : $CONTAINER_TYPE"
+    fi
+    if [ -v CONTAINER_INSTANCE ]; then
+        echo "| Instance    : $CONTAINER_INSTANCE"
+    fi
+    if [ -v CONTAINER_SERVICE ]; then
+        echo "| Service     : $CONTAINER_SERVICE"
+    fi
+    if [ -v LOG_PATH ]; then
+        echo "| Log path    : $LOG_PATH"
+    fi
+    echo "+====================================================="
+}
+
+
+# Begin configuration before starting daemonized process
+# and start generating host keys
+function begin_config {
+    echo "=> BEGIN MEMCACHE CONFIGURATION"
+    if [[ ! -d $LOG_PATH ]]; then
+        echo "log directory $LOG_PATH not found"
+        mkdir -p $LOG_PATH;
+        echo "log directory $LOG_PATH CREATED"
+    else 
+        echo "log directory $LOG_PATH EXIST"
+    fi
+    chmod 0774 $LOG_PATH; 
+}
+
+# End configuration process just before starting daemon
+function end_config {
+    echo "=> END MEMCACHE CONFIGURATION"
+}
+
+# Start the ooconv server as a deamon and execute it inside 
+# the running shell
+function start_daemon {
+    echo "=> Starting ooconv daemon ..." | tee -a $STARTUPLOG
+    display_container_started | tee -a $STARTUPLOG
+    exec unoconv --listener
+}
+
+
+if [[ "$0" == *"run.sh" && ! $1 = "" ]];then
+    eval "$@"; 
+fi
+
+check_environment | tee -a $STARTUPLOG
+display_container_ooconv_header | tee -a $STARTUPLOG
+begin_config | tee -a $STARTUPLOG
+end_config | tee -a $STARTUPLOG
+start_daemon
diff --git a/Services/ooconv/sx/ooconv.sh b/Services/ooconv/sx/ooconv.sh
deleted file mode 100644
index b41447c..0000000
--- a/Services/ooconv/sx/ooconv.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-export TERM=dumb
-
-# Begin configuration before starting daemonized process
-# and start generating host keys
-function begin_config {
-    echo "=> Begin ooconv configuration for host $HOSTNAME"
-}
-
-# End configuration process just before starting daemon
-function end_config {
-    echo "=> End ooconv configuration ..."
-}
-
-# Start the ooconv server in background. Used to perform config
-# against the database structure such as user creation
-function start_server {
-    echo "===> Starting ooconv server ..."
-    unoconv --listener &
-    sleep 4
-}
-
-# Stop the ooconv server running in background. 
-function stop_server {
-    echo "===> Stopping ooconv server ..."
-    killall unoconv 
-    killall soffice.bin 
-}
-
-# Start the ooconv server as a deamon and execute it inside 
-# the running shell
-function start_daemon {
-    echo "=> Starting ooconv daemon ..."
-    exec unoconv --listener
-}
-
-
-if [[ "$0" == *"ooconv.sh" && ! $1 = "" ]];then
-    eval "$@"; 
-fi
\ No newline at end of file
diff --git a/Services/ooconv/sx/ooconv_run.sh b/Services/ooconv/sx/ooconv_run.sh
deleted file mode 100644
index fadc29c..0000000
--- a/Services/ooconv/sx/ooconv_run.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source /sx/ooconv.sh
-
-begin_config
-end_config
-
-start_daemon
\ No newline at end of file
-- 
cgit v1.2.3