summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OS/docker-compose.yml2
-rw-r--r--Services/apache/Dockerfile2
-rw-r--r--Services/apache/docker-compose.yml4
-rw-r--r--Services/apache/sx-httpd.sh2
-rw-r--r--Services/mariadb/docker-compose.yml6
-rw-r--r--Services/mariadb/run.sh10
-rw-r--r--Services/memcache/docker-compose.yml4
-rw-r--r--Services/memcache/run.sh2
-rw-r--r--Services/mongo/Dockerfile38
-rw-r--r--Services/mongo/docker-compose.yml15
-rw-r--r--Services/mongo/mongodb.conf9
-rw-r--r--Services/mongo/run.sh92
-rw-r--r--Services/mongo/sx/mongod.sh48
-rw-r--r--Services/mongo/sx/mongod_run.sh7
-rw-r--r--Services/php/docker-compose.yml4
-rw-r--r--docker-compose.yml5
16 files changed, 149 insertions, 101 deletions
diff --git a/OS/docker-compose.yml b/OS/docker-compose.yml
index 82b72af..b9e2dde 100644
--- a/OS/docker-compose.yml
+++ b/OS/docker-compose.yml
@@ -3,7 +3,7 @@ fedora:
# image: sx-fedora
container_name: "os-fedora"
mem_limit: 1g
- memswap_limit: 2g
+ memswap_limit: 1g
cpu_shares: 2
restart: "on-failure:2"
environment:
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"
diff --git a/docker-compose.yml b/docker-compose.yml
index d3a9b59..be63b68 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -24,8 +24,9 @@ memcache:
service: server
#mongo:
-# build: Services/mongo/
-# container_name: "startx-sv-mongo"
+# extends:
+# file: Services/mongo/docker-compose.yml
+# service: server
#nodejs:
# build: Services/nodejs/