From 78d1d5017e8acbc8b4bb7f0f567d10f0e47a75df Mon Sep 17 00:00:00 2001
From: startxfr <clarue@startx.fr>
Date: Sun, 29 Nov 2015 00:44:42 +0100
Subject: rewrite mongo and small updates in others

---
 Services/apache/Dockerfile           |  2 +-
 Services/apache/docker-compose.yml   |  4 +-
 Services/apache/sx-httpd.sh          |  2 +-
 Services/mariadb/docker-compose.yml  |  6 +--
 Services/mariadb/run.sh              | 10 ++--
 Services/memcache/docker-compose.yml |  4 +-
 Services/memcache/run.sh             |  2 +-
 Services/mongo/Dockerfile            | 38 +++++++--------
 Services/mongo/docker-compose.yml    | 15 ++++++
 Services/mongo/mongodb.conf          |  9 ++--
 Services/mongo/run.sh                | 92 ++++++++++++++++++++++++++++++++++++
 Services/mongo/sx/mongod.sh          | 48 -------------------
 Services/mongo/sx/mongod_run.sh      |  7 ---
 Services/php/docker-compose.yml      |  4 +-
 14 files changed, 145 insertions(+), 98 deletions(-)
 create mode 100644 Services/mongo/docker-compose.yml
 create mode 100644 Services/mongo/run.sh
 delete mode 100644 Services/mongo/sx/mongod.sh
 delete mode 100644 Services/mongo/sx/mongod_run.sh

(limited to 'Services')

diff --git a/Services/apache/Dockerfile b/Services/apache/Dockerfile
index a15b41a..620add6 100644
--- a/Services/apache/Dockerfile
+++ b/Services/apache/Dockerfile
@@ -19,7 +19,7 @@ RUN chmod 775 /bin/run.sh /bin/sx-httpd.sh && \
     touch $STARTUPLOG
 COPY ./ $APP_PATH
 RUN rm -f $APP_PATH/Dockerfile $APP_PATH/httpd.conf $APP_PATH/run.sh $APP_PATH/sx-httpd.sh && \
-    chown -R apache:apache $APP_PATH /data/logs
+    chown -R apache:apache $APP_PATH $LOG_PATH
 
 EXPOSE 80 443
 VOLUME [$APP_PATH,$LOG_PATH]
diff --git a/Services/apache/docker-compose.yml b/Services/apache/docker-compose.yml
index 8e951bc..ed68cab 100644
--- a/Services/apache/docker-compose.yml
+++ b/Services/apache/docker-compose.yml
@@ -2,8 +2,8 @@ server:
   build: ./
 #  image: sv-apache
   container_name: "apache-server"
-  mem_limit: 1g
-  memswap_limit: 2g
+  mem_limit: 500m
+  memswap_limit: 500m
   cpu_shares: 2
   restart: "on-failure:2"
   environment:
diff --git a/Services/apache/sx-httpd.sh b/Services/apache/sx-httpd.sh
index fb50be9..b7d368a 100644
--- a/Services/apache/sx-httpd.sh
+++ b/Services/apache/sx-httpd.sh
@@ -26,7 +26,7 @@ function display_container_httpd_header {
     echo "+====================================================="
     echo "| Container   : $HOSTNAME"
     echo "| OS          : $(</etc/redhat-release)"
-    echo "| Engine      : " httpd -v | head -1
+    echo "| Engine      : $(httpd -v | head -1)" 
     if [ -v CONTAINER_TYPE ]; then
         echo "| Type        : $CONTAINER_TYPE"
     fi
diff --git a/Services/mariadb/docker-compose.yml b/Services/mariadb/docker-compose.yml
index 744b067..841d699 100644
--- a/Services/mariadb/docker-compose.yml
+++ b/Services/mariadb/docker-compose.yml
@@ -3,8 +3,8 @@ server:
 #  image: sx-mariadb
   container_name: "sx-mariadb"
   mem_limit: 1g
-  memswap_limit: 2g
-  cpu_shares: 2
+  memswap_limit: 1g
+  cpu_shares: 8
   restart: "on-failure:2"
   environment:
     CONTAINER_TYPE: "service"
@@ -15,5 +15,5 @@ server:
     MYSQL_PASSWORD: "pwd-test"
     MYSQL_DATABASE: "db_test"
   volumes:
-    - "/tmp/container/logs:/data/logs"
+    - "/tmp/container/logs/mariadb:/data/logs/mariadb"
     - "/tmp/container/mariadb:/data/mariadb"
\ No newline at end of file
diff --git a/Services/mariadb/run.sh b/Services/mariadb/run.sh
index 22f5f2a..c5ce811 100644
--- a/Services/mariadb/run.sh
+++ b/Services/mariadb/run.sh
@@ -3,9 +3,9 @@ source /bin/sx-lib.sh
 
 function check_mariadb_environment {
     check_environment
-    if [ ! -v APP_PATH ]; then
-        APP_PATH="/data/mariadb"
-        export APP_PATH
+    if [ ! -v DATA_PATH ]; then
+        DATA_PATH="/data/mariadb"
+        export DATA_PATH
     fi
     if [ ! -v LOG_PATH ]; then
         LOG_PATH="/data/logs/mariadb"
@@ -17,7 +17,7 @@ function display_container_mariadb_header {
     echo "+====================================================="
     echo "| Container   : $HOSTNAME"
     echo "| OS          : $(</etc/redhat-release)"
-    echo "| Engine      : $(mysql -V)"
+    echo "| Engine      : $(mysql -V | head -1)"
     if [ -v CONTAINER_TYPE ]; then
         echo "| Type        : $CONTAINER_TYPE"
     fi
@@ -27,7 +27,7 @@ function display_container_mariadb_header {
     if [ -v CONTAINER_SERVICE ]; then
         echo "| Service     : $CONTAINER_SERVICE"
     fi
-    if [ -v APP_PATH ]; then
+    if [ -v DATA_PATH ]; then
         echo "| Data path   : $DATA_PATH"
     fi
     if [ -v LOG_PATH ]; then
diff --git a/Services/memcache/docker-compose.yml b/Services/memcache/docker-compose.yml
index 792dc6c..dbf0dc6 100644
--- a/Services/memcache/docker-compose.yml
+++ b/Services/memcache/docker-compose.yml
@@ -2,8 +2,8 @@ server:
   build: ./
 #  image: sv-memcache
   container_name: "memcache-server"
-  mem_limit: 1g
-  memswap_limit: 1g
+  mem_limit: 1.5g
+  memswap_limit: 500m
   cpu_shares: 2
   restart: "on-failure:2"
   environment:
diff --git a/Services/memcache/run.sh b/Services/memcache/run.sh
index bc4279e..405996e 100644
--- a/Services/memcache/run.sh
+++ b/Services/memcache/run.sh
@@ -6,7 +6,7 @@ function display_container_memcache_header {
     echo "+====================================================="
     echo "| Container   : $HOSTNAME"
     echo "| OS          : $(</etc/redhat-release)"
-    echo "| Engine      : " memcached -h | head -1
+    echo "| Engine      : $(memcached -h | head -1)" 
     if [ -v CONTAINER_TYPE ]; then
         echo "| Type        : $CONTAINER_TYPE"
     fi
diff --git a/Services/mongo/Dockerfile b/Services/mongo/Dockerfile
index 85261c8..f240622 100644
--- a/Services/mongo/Dockerfile
+++ b/Services/mongo/Dockerfile
@@ -1,24 +1,22 @@
 FROM startx/fedora
 MAINTAINER Christophe LARUE <dev@startx.fr>
 
-RUN dnf -y install \
-    mongodb \
-    mongodb-server \
-    libmongo-client \
-    rsyslog-mongodb \
-    mongodb-mms-backup-agent \
-    mongodb-mms-monitoring-agent \
-    && dnf clean all \
-    && mkdir -p /var/lib/mongodb \
-    && touch /var/lib/mongodb/.keep 
-COPY sx/* /sx/
-COPY mongodb.conf /etc/mongodb.conf
-RUN chmod ug+rx /sx/mongod* \
-    && chown -R mongodb:mongodb /sx/mongod* /var/lib/mongodb /var/log/mongodb
+USER root
+RUN dnf -y install mongodb mongodb-server libmongo-client rsyslog-mongodb  && \
+    dnf clean all 
+ENV MONGOCONF=/etc/mongodb.conf \
+    STARTUPLOG=/data/logs/mongodb/startup.log \
+    LOG_PATH=/data/logs/mongodb  \
+    DATA_PATH=/data/mongodb
+COPY mongodb.conf $MONGOCONF
+COPY *.sh /bin/
+RUN chmod 775 /bin/run.sh && \
+    chmod ug+r $MONGOCONF && \
+    mkdir -p $DATA_PATH && \
+    mkdir -p $LOG_PATH && \
+    touch $STARTUPLOG
+RUN chown -R mongodb:mongodb $DATA_PATH $LOG_PATH
 
-EXPOSE 27017
-VOLUME ["/var/lib/mongodb", "/var/log/mongodb"]
-
-USER mongodb
-#ENDPOINT ["/sx/mongod_run.sh"]
-CMD ["/sx/mongod_run.sh"]
\ No newline at end of file
+EXPOSE 27017 28017
+VOLUME [$DATA_PATH,$LOG_PATH]
+CMD ["/bin/run.sh"]
\ No newline at end of file
diff --git a/Services/mongo/docker-compose.yml b/Services/mongo/docker-compose.yml
new file mode 100644
index 0000000..3c6a790
--- /dev/null
+++ b/Services/mongo/docker-compose.yml
@@ -0,0 +1,15 @@
+server:
+  build: ./
+#  image: sx-mongo
+  container_name: "sx-mongo"
+  mem_limit: 2g
+  memswap_limit: 2g
+  cpu_shares: 10
+  restart: "on-failure:2"
+  environment:
+    CONTAINER_TYPE: "service"
+    CONTAINER_SERVICE: "mongo"
+    CONTAINER_INSTANCE: "sx-mongo"
+  volumes:
+    - "/tmp/container/logs/mongodb:/data/logs/mongodb"
+    - "/tmp/container/mongodb:/data/mongodb"
\ No newline at end of file
diff --git a/Services/mongo/mongodb.conf b/Services/mongo/mongodb.conf
index 89d19f2..0fe4d13 100644
--- a/Services/mongo/mongodb.conf
+++ b/Services/mongo/mongodb.conf
@@ -1,12 +1,9 @@
-##
-### Config file copied into 
-##
 bind_ip = 127.0.0.1
 port = 27017
 fork = true
 pidfilepath = /var/run/mongodb/mongodb.pid
-logpath = /var/log/mongodb/mongodb.log
-dbpath =/var/lib/mongodb
+logpath = /data/logs/mongodb/mongodb.log
+dbpath =/data/mongodb
 journal = true
 
 # Turn on/off security.  Off is currently the default
@@ -17,7 +14,7 @@ journal = true
 #verbose = true
 
 # Disable the HTTP interface (Defaults to port+1000).
-nohttpinterface = true
+#nohttpinterface = true
 
 # Accout token for Mongo monitoring server.
 #mms-token = <token>
diff --git a/Services/mongo/run.sh b/Services/mongo/run.sh
new file mode 100644
index 0000000..3dd509d
--- /dev/null
+++ b/Services/mongo/run.sh
@@ -0,0 +1,92 @@
+#!/bin/bash
+source /bin/sx-lib.sh
+
+function check_mongodb_environment {
+    check_environment
+    if [ ! -v APP_PATH ]; then
+        APP_PATH="/data/mongodb"
+        export APP_PATH
+    fi
+    if [ ! -v LOG_PATH ]; then
+        LOG_PATH="/data/logs/mongodb"
+        export LOG_PATH
+    fi
+}
+
+function display_container_mongodb_header {
+    echo "+====================================================="
+    echo "| Container   : $HOSTNAME"
+    echo "| OS          : $(</etc/redhat-release)"
+    echo "| Engine      : $(mongo --version | head -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 DATA_PATH ]; then
+        echo "| Data path   : $DATA_PATH"
+    fi
+    if [ -v LOG_PATH ]; then
+        echo "| Log path    : $LOG_PATH"
+    fi
+    if [ -v LOADSQL_PATH ]; then
+        echo "| sql path    : $LOADSQL_PATH"
+    fi
+    echo "+====================================================="
+}
+
+
+# Begin configuration before starting daemonized process
+# and start generating host keys
+function begin_config {
+    echo "=> BEGIN MONGODB CONFIGURATION"
+    if [[ ! -d $DATA_PATH ]]; then
+        echo "log directory $DATA_PATH not found"
+        mkdir -p $DATA_PATH; chmod 0774 $DATA_PATH
+        echo "data directory $DATA_PATH CREATED"
+    else 
+        echo "data directory $DATA_PATH EXIST"
+    fi
+    if [[ ! -d $LOG_PATH ]]; then
+        echo "log directory $LOG_PATH not found"
+        mkdir -p $LOG_PATH; chmod 0774 $LOG_PATH
+        echo "log directory $LOG_PATH CREATED"
+    else 
+        echo "log directory $LOG_PATH EXIST"
+    fi
+    chmod 0774 $DATA_PATH $LOG_PATH; 
+    chown mongodb:mongodb $DATA_PATH $LOG_PATH; 
+}
+
+
+
+# End configuration process just before starting daemon
+function end_config {
+    echo "=> END MONGODB CONFIGURATION"
+}
+
+# Start the mongodb server as a deamon and execute it inside 
+# the running shell
+function start_daemon {
+    echo "=> Starting mongodb daemon ..."
+    su mongodb
+    display_container_started
+    exec /usr/bin/mongod --config $MONGOCONF --logappend --logpath $LOG_PATH \
+    --dbpath $DATA_PATH --journal --httpinterface \
+    --rest --master --storageEngine mmapv1
+}
+
+
+if [[ "$0" == *"run.sh" && ! $1 = "" ]];then
+    eval "$@"; 
+fi
+
+check_mongodb_environment | tee -a $STARTUPLOG
+display_container_mongodb_header | tee -a $STARTUPLOG
+begin_config | tee -a $STARTUPLOG
+end_config | tee -a $STARTUPLOG
+start_daemon | tee -a $STARTUPLOG
diff --git a/Services/mongo/sx/mongod.sh b/Services/mongo/sx/mongod.sh
deleted file mode 100644
index 9bb6281..0000000
--- a/Services/mongo/sx/mongod.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-
-export TERM=dumb
-export MONGO_CONF=/etc/mongodb.conf
-export MONGO_LOGDIR=/var/log/mongodb
-export MONGO_DATADIR=/var/lib/mongodb
-
-
-# Begin configuration before starting daemonized process
-# and start generating host keys
-function begin_config {
-    echo "=> Begin mongod configuration for host $HOSTNAME"
-    mkdir -p $MONGO_LOGDIR
-    mkdir -p $MONGO_DATADIR
-}
-
-# End configuration process just before starting daemon
-function end_config {
-    stop_server
-    echo "=> End mongod configuration ..."
-}
-
-# Start the mongod server in background. Used to perform config
-# against the database structure such as user creation
-function start_server {
-    echo "===> Starting mongod server ..."
-    /usr/bin/mongod --config $MONGO_CONF &
-    sleep 8
-}
-
-# Stop the mongod server running in background. 
-function stop_server {
-    echo "===> Stopping mongod server ..."
-    /usr/bin/mongod --shutdown; sleep 2
-    killall mongod; sleep 6
-}
-
-# Start the mongod server as a deamon and execute it inside 
-# the running shell
-function start_daemon {
-    echo "=> Starting mongod daemon ..."
-    exec /usr/bin/mongod --config $MONGO_CONF --quiet run
-}
-
-
-if [[ "$0" == *"mongod.sh" && ! $1 = "" ]];then
-    eval "$@"; 
-fi
\ No newline at end of file
diff --git a/Services/mongo/sx/mongod_run.sh b/Services/mongo/sx/mongod_run.sh
deleted file mode 100644
index 6a0f018..0000000
--- a/Services/mongo/sx/mongod_run.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source /sx/mongod.sh
-
-begin_config
-end_config
-
-start_daemon
\ No newline at end of file
diff --git a/Services/php/docker-compose.yml b/Services/php/docker-compose.yml
index 04f7ac3..8ea5414 100644
--- a/Services/php/docker-compose.yml
+++ b/Services/php/docker-compose.yml
@@ -3,8 +3,8 @@ server:
 #  image: sx-php
   container_name: "php-server"
   mem_limit: 1g
-  memswap_limit: 2g
-  cpu_shares: 4
+  memswap_limit: 1g
+  cpu_shares: 5
   restart: "on-failure:2"
   environment:
     CONTAINER_TYPE: "service"
-- 
cgit v1.2.3