From 22de85b69ee75468a94b0cef668faae14ae5516d Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 27 Feb 2015 14:41:23 +0100 Subject: [PATCH 1/5] [IMP] use ENTRYPOINT instead of cmd and permit giving command arguments --- 8.0/Dockerfile | 2 +- 8.0/run.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/8.0/Dockerfile b/8.0/Dockerfile index 87dc838..ce116e2 100644 --- a/8.0/Dockerfile +++ b/8.0/Dockerfile @@ -45,4 +45,4 @@ COPY ./openerp-server.conf /etc/odoo/ # Mount /var/lib/odoo to allow restoring filestore VOLUME ["/var/lib/odoo"] -CMD ["/run.sh"] +ENTRYPOINT ["/run.sh"] diff --git a/8.0/run.sh b/8.0/run.sh index f1dd6a0..5884e02 100755 --- a/8.0/run.sh +++ b/8.0/run.sh @@ -1,5 +1,7 @@ #!/bin/bash +[ "$1" != "--" ] && exec "$@" || shift + CONFIG_FILE=/etc/odoo/openerp-server.conf # sets a configuration variable in openerp-server.conf @@ -21,4 +23,4 @@ set_config "db_user" $DB_ENV_POSTGRES_USER set_config "db_password" $DB_ENV_POSTGRES_PASSWORD # start Odoo -exec gosu odoo /usr/bin/openerp-server --config $CONFIG_FILE +exec gosu odoo /usr/bin/openerp-server --config $CONFIG_FILE "$@" From 5829e2968dfdd843b844b7b6941f3e544a63aeb0 Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 27 Feb 2015 14:56:57 +0100 Subject: [PATCH 2/5] [IMP] remove unneeded gosu from the Dockerfile --- 8.0/Dockerfile | 12 ++++-------- 8.0/run.sh | 8 +++++--- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/8.0/Dockerfile b/8.0/Dockerfile index ce116e2..4c56c9e 100644 --- a/8.0/Dockerfile +++ b/8.0/Dockerfile @@ -17,14 +17,6 @@ RUN apt-get update \ && apt-get -y install -f \ && rm -rf /var/lib/apt/lists/* wkhtmltox.deb -# Grab gosu for easy step-down from root -RUN gpg --keyserver pgp.mit.edu --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 -RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture)" \ - && curl -o /usr/local/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture).asc" \ - && gpg --verify /usr/local/bin/gosu.asc \ - && rm /usr/local/bin/gosu.asc \ - && chmod +x /usr/local/bin/gosu - # Install Odoo ENV ODOO_VERSION 8.0 ENV ODOO_RELEASE 20141231 @@ -41,8 +33,12 @@ RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 0xdef2a2198183cbb5 \ # Run script and Odoo configuration file COPY ./run.sh / COPY ./openerp-server.conf /etc/odoo/ +RUN chown odoo /etc/odoo/openerp-server.conf # Mount /var/lib/odoo to allow restoring filestore VOLUME ["/var/lib/odoo"] +# Set default user when running the container +USER odoo + ENTRYPOINT ["/run.sh"] diff --git a/8.0/run.sh b/8.0/run.sh index 5884e02..930c18e 100755 --- a/8.0/run.sh +++ b/8.0/run.sh @@ -7,12 +7,14 @@ CONFIG_FILE=/etc/odoo/openerp-server.conf # sets a configuration variable in openerp-server.conf # $1: key, $2: value function set_config { + temp=`mktemp` if grep -q "^$1.*" $CONFIG_FILE then - sed -i "s/^$1.*$/$1 = $2/" $CONFIG_FILE + sed "s/^$1.*$/$1 = $2/" $CONFIG_FILE > $temp else - sed -i "$ a$1 = $2" $CONFIG_FILE + sed "$ a$1 = $2" $CONFIG_FILE > $temp fi + cat $temp > $CONFIG_FILE } # set odoo data directory and database host, port, user and password @@ -23,4 +25,4 @@ set_config "db_user" $DB_ENV_POSTGRES_USER set_config "db_password" $DB_ENV_POSTGRES_PASSWORD # start Odoo -exec gosu odoo /usr/bin/openerp-server --config $CONFIG_FILE "$@" +exec /usr/bin/openerp-server --config $CONFIG_FILE "$@" From 097483779d7b7da6113cb23242bb912feb189f30 Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 27 Feb 2015 15:17:44 +0100 Subject: [PATCH 3/5] [IMP] use PG var envs to find the database --- 8.0/openerp-server.conf | 8 ++++---- 8.0/run.sh | 30 ++++++------------------------ 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/8.0/openerp-server.conf b/8.0/openerp-server.conf index ccc8caf..14117bb 100644 --- a/8.0/openerp-server.conf +++ b/8.0/openerp-server.conf @@ -1,9 +1,9 @@ [options] addons_path = /usr/lib/python2.7/dist-packages/openerp/addons -db_host = False -db_password = False -db_port = False -db_user = odoo +; db_host = False +; db_password = False +; db_port = False +; db_user = odoo ; admin_passwd = admin ; auto_reload = False ; csv_internal_sep = , diff --git a/8.0/run.sh b/8.0/run.sh index 930c18e..5d7607b 100755 --- a/8.0/run.sh +++ b/8.0/run.sh @@ -1,28 +1,10 @@ #!/bin/bash -[ "$1" != "--" ] && exec "$@" || shift - -CONFIG_FILE=/etc/odoo/openerp-server.conf - -# sets a configuration variable in openerp-server.conf -# $1: key, $2: value -function set_config { - temp=`mktemp` - if grep -q "^$1.*" $CONFIG_FILE - then - sed "s/^$1.*$/$1 = $2/" $CONFIG_FILE > $temp - else - sed "$ a$1 = $2" $CONFIG_FILE > $temp - fi - cat $temp > $CONFIG_FILE -} - -# set odoo data directory and database host, port, user and password -set_config "data_dir" "\/var\/lib\/odoo" -set_config "db_host" $DB_PORT_5432_TCP_ADDR -set_config "db_port" $DB_PORT_5432_TCP_PORT -set_config "db_user" $DB_ENV_POSTGRES_USER -set_config "db_password" $DB_ENV_POSTGRES_PASSWORD +# set odoo database host, port, user and password +export PGHOST=$DB_PORT_5432_TCP_ADDR +export PGPORT=$DB_PORT_5432_TCP_PORT +export PGUSER=$DB_ENV_POSTGRES_USER +export PGPASSWORD=$DB_ENV_POSTGRES_PASSWORD # start Odoo -exec /usr/bin/openerp-server --config $CONFIG_FILE "$@" +exec /usr/bin/openerp-server --config=/etc/odoo/openerp-server.conf "$@" From 85366eda789c952c28ef24f7c79fcebe94378bf1 Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 27 Feb 2015 15:56:14 +0100 Subject: [PATCH 4/5] [IMP] remove config file because it's built-in with the package --- 8.0/Dockerfile | 2 -- 8.0/openerp-server.conf | 42 ----------------------------------------- 8.0/run.sh | 3 ++- 3 files changed, 2 insertions(+), 45 deletions(-) delete mode 100644 8.0/openerp-server.conf diff --git a/8.0/Dockerfile b/8.0/Dockerfile index 4c56c9e..1f19cbf 100644 --- a/8.0/Dockerfile +++ b/8.0/Dockerfile @@ -32,8 +32,6 @@ RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 0xdef2a2198183cbb5 \ # Run script and Odoo configuration file COPY ./run.sh / -COPY ./openerp-server.conf /etc/odoo/ -RUN chown odoo /etc/odoo/openerp-server.conf # Mount /var/lib/odoo to allow restoring filestore VOLUME ["/var/lib/odoo"] diff --git a/8.0/openerp-server.conf b/8.0/openerp-server.conf deleted file mode 100644 index 14117bb..0000000 --- a/8.0/openerp-server.conf +++ /dev/null @@ -1,42 +0,0 @@ -[options] -addons_path = /usr/lib/python2.7/dist-packages/openerp/addons -; db_host = False -; db_password = False -; db_port = False -; db_user = odoo -; admin_passwd = admin -; auto_reload = False -; csv_internal_sep = , -; data_dir = False -; db_maxconn = 64 -; db_name = False -; db_template = template1 -; dbfilter = .* -; debug_mode = False -; email_from = False -; limit_memory_hard = 2684354560 -; limit_memory_soft = 2147483648 -; limit_request = 8192 -; limit_time_cpu = 60 -; limit_time_real = 120 -; list_db = True -; log_db = False -; log_handler = [':INFO'] -; log_level = info -; logfile = None -; longpolling_port = 8072 -; max_cron_threads = 2 -; osv_memory_age_limit = 1.0 -; osv_memory_count_limit = False -; smtp_password = False -; smtp_port = 25 -; smtp_server = localhost -; smtp_ssl = False -; smtp_user = False -; workers = 0 -; xmlrpc = True -; xmlrpc_interface = -; xmlrpc_port = 8069 -; xmlrpcs = True -; xmlrpcs_interface = -; xmlrpcs_port = 8071 diff --git a/8.0/run.sh b/8.0/run.sh index 5d7607b..20d5ecc 100755 --- a/8.0/run.sh +++ b/8.0/run.sh @@ -6,5 +6,6 @@ export PGPORT=$DB_PORT_5432_TCP_PORT export PGUSER=$DB_ENV_POSTGRES_USER export PGPASSWORD=$DB_ENV_POSTGRES_PASSWORD -# start Odoo +[ "$1" != "--" ] && exec "$@" + exec /usr/bin/openerp-server --config=/etc/odoo/openerp-server.conf "$@" From 0ce19f8374d2cca849c8c4dcc28293df840a4b0e Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 27 Feb 2015 16:18:03 +0100 Subject: [PATCH 5/5] [IMP] export Odoo http port 8069 --- 8.0/Dockerfile | 3 +++ 8.0/run.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/8.0/Dockerfile b/8.0/Dockerfile index 1f19cbf..f5bf899 100644 --- a/8.0/Dockerfile +++ b/8.0/Dockerfile @@ -36,6 +36,9 @@ COPY ./run.sh / # Mount /var/lib/odoo to allow restoring filestore VOLUME ["/var/lib/odoo"] +# Expose Odoo service +EXPOSE 8069 + # Set default user when running the container USER odoo diff --git a/8.0/run.sh b/8.0/run.sh index 20d5ecc..41dc889 100755 --- a/8.0/run.sh +++ b/8.0/run.sh @@ -8,4 +8,5 @@ export PGPASSWORD=$DB_ENV_POSTGRES_PASSWORD [ "$1" != "--" ] && exec "$@" +shift exec /usr/bin/openerp-server --config=/etc/odoo/openerp-server.conf "$@"