diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index bf9a8cd5cc8b75b32fdfaf724e47cdf0d460d529..0000000000000000000000000000000000000000 --- a/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git* -LICENSE -README* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6948bc44f673e2f19d2971b2463d4dfe9990d435..be9d0764202d8669043e423138d7f6b496a5108c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,22 +1,47 @@ -image: docker:latest +image: docker:20.10.7 -docker-build-master: +docker-build-10.0: # Official docker image. - image: docker:19.03.12 + image: docker:20.10.7 stage: build services: - - docker:19.03.12-dind + - docker:20.10.7-dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build --pull -f 10.0.Dockerfile -t "$CI_REGISTRY_IMAGE:10.0" . + - docker push "$CI_REGISTRY_IMAGE:10.0" + only: + - "10.0" + +docker-build-12.0: + # Official docker image. + image: docker:20.10.7 + stage: build + services: + - docker:20.10.7-dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker build --pull -f 12.0.Dockerfile -t "$CI_REGISTRY_IMAGE:12.0" . - docker build --pull -f 12.0_ml.Dockerfile -t "$CI_REGISTRY_IMAGE:12.0_ml" . - docker build --pull -f 12.0_py3.6.Dockerfile -t "$CI_REGISTRY_IMAGE:12.0_py3.6" . - - docker build --pull -f 14.0.Dockerfile -t "$CI_REGISTRY_IMAGE:14.0" . - docker push "$CI_REGISTRY_IMAGE:12.0" - docker push "$CI_REGISTRY_IMAGE:12.0_ml" - docker push "$CI_REGISTRY_IMAGE:12.0_py3.6" - - docker push "$CI_REGISTRY_IMAGE:14.0" only: - - master + - "12.0" +docker-build-14.0: + # Official docker image. + image: docker:20.10.7 + stage: build + services: + - docker:20.10.7-dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build --pull -f 14.0.Dockerfile -t "$CI_REGISTRY_IMAGE:14.0" . + - docker push "$CI_REGISTRY_IMAGE:14.0" + only: + - "14.0" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 566066ebf96d8cb58f8e2891e3f16e111db28441..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -sudo: required - -language: python - -python: - - "3.6" - -services: - - docker - -git: - depth: 1 - -branches: - only: - - master - -env: - global: - # Variables found by default in Docker Hub builder - - DOCKER_REPO=remifilament/odoo - matrix: - - DOCKER_TAG=10.0 - -before_install: - - sudo apt-get update - - sudo apt-get -y -o Dpkg::Options::=--force-confnew install docker-ce - - pip install -r requirements-ci.txt - -install: - - chown -R $USER:$USER . - - chmod -R +r . - - ./hooks/build diff --git a/10.0.Dockerfile b/10.0.Dockerfile deleted file mode 100644 index 7c1c8a9873e41fad01106c49860b8b7bc58a859e..0000000000000000000000000000000000000000 --- a/10.0.Dockerfile +++ /dev/null @@ -1,129 +0,0 @@ -FROM debian:jessie -MAINTAINER Le Filament <https://le-filament.com> - -ENV APT_DEPS='python-dev build-essential libxml2-dev libxslt1-dev libjpeg-dev libfreetype6-dev \ - liblcms2-dev libopenjpeg-dev libtiff5-dev tk-dev tcl-dev linux-headers-amd64 \ - libpq-dev libldap2-dev libsasl2-dev' \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 \ - PGDATABASE=odoo - -RUN set -x; \ - sed -Ei 's@(^deb http://deb.debian.org/debian jessie-updates main$)@#\1@' /etc/apt/sources.list &&\ - apt-get update &&\ - apt-get install -y --no-install-recommends \ - ca-certificates \ - curl \ - fontconfig \ - git \ - libjpeg62-turbo \ - libtiff5 \ - libx11-6 \ - libxcb1 \ - libxext6 \ - libxml2 \ - libxrender1 \ - libxslt1.1 \ - node-less \ - openssh-client \ - python-gevent \ - python-ldap \ - python-qrcode \ - python-renderpm \ - python-support \ - python-vobject \ - python-watchdog \ - sudo \ - xfonts-75dpi \ - xfonts-base \ - && \ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main' >> /etc/apt/sources.list.d/postgresql.list &&\ - curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\ - curl -o wkhtmltox.deb -SL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb &&\ - echo '4d104ff338dc2d2083457b3b1e9baab8ddf14202 wkhtmltox.deb' | sha1sum -c - &&\ - apt-get update &&\ - dpkg --install wkhtmltox.deb &&\ - apt-get install -y --no-install-recommends postgresql-client &&\ - apt-get install -y --no-install-recommends ${APT_DEPS} &&\ - curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python /dev/stdin &&\ - pip install -I -r https://raw.githubusercontent.com/OCA/OCB/10.0/requirements.txt &&\ - pip install simplejson WTForms Werkzeug==0.14.1 &&\ - apt-get -y purge ${APT_DEPS} &&\ - apt-get -y autoremove &&\ - rm -rf /var/lib/apt/lists/* wkhtmltox.deb - -# Add Git Known Hosts -COPY ./ssh_known_git_hosts /root/.ssh/known_hosts - -# Install Odoo and remove not French translations and .git directory to limit amount of data used by container -RUN set -x; \ - useradd -l --create-home --home-dir /opt/odoo --no-log-init odoo &&\ - /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\ - rm -rf /opt/odoo/odoo/.git &&\ - find /opt/odoo/odoo/addons/*/i18n/ /opt/odoo/odoo/odoo/addons/base/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Install Odoo OCA default dependencies -RUN set -x; \ - mkdir -p /tmp/oca-repos/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/account-financial-reporting.git /tmp/oca-repos/account-financial-reporting &&\ - mv /tmp/oca-repos/account-financial-reporting/account_tax_balance /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/bank-statement-import.git /tmp/oca-repos/bank-statement-import &&\ - mv /tmp/oca-repos/bank-statement-import/account_bank_statement_import_ofx \ - /tmp/oca-repos/bank-statement-import/account_bank_statement_import_qif \ - /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/knowledge.git /tmp/oca-repos/knowledge &&\ - mv /tmp/oca-repos/knowledge/knowledge /tmp/oca-repos/knowledge/document_page /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/partner-contact.git /tmp/oca-repos/partner-contact &&\ - mv /tmp/oca-repos/partner-contact/partner_firstname \ - /tmp/oca-repos/partner-contact/partner_disable_gravatar \ - /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/server-tools.git /tmp/oca-repos/server-tools &&\ - mv /tmp/oca-repos/server-tools/date_range \ - /tmp/oca-repos/server-tools/auth_session_timeout \ - /tmp/oca-repos/server-tools/auth_brute_force \ - /tmp/oca-repos/server-tools/password_security \ - /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/social.git /tmp/oca-repos/social &&\ - mv /tmp/oca-repos/social/mail_debrand \ - /tmp/oca-repos/social/mail_restrict_follower_selection \ - /opt/odoo/additional_addons/ &&\ - git clone -b 10.0 --depth 1 https://github.com/OCA/web.git /tmp/oca-repos/web &&\ - mv /tmp/oca-repos/web/web_environment_ribbon \ - /tmp/oca-repos/web/web_export_view \ - /tmp/oca-repos/web/web_responsive \ - /tmp/oca-repos/web/web_timeline \ - /opt/odoo/additional_addons/ &&\ - rm -rf /tmp/oca-repos/ &&\ - find /opt/odoo/additional_addons/*/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Copy entrypoint script and Odoo configuration file -COPY ./entrypoint.sh / -COPY ./odoo.conf /opt/odoo/etc/odoo.conf -RUN chown odoo:odoo /opt/odoo/etc/odoo.conf - -# Mount /opt/odoo/data to allow restoring filestore -VOLUME ["/opt/odoo/data/"] - -# Expose Odoo services -EXPOSE 8069 - -# Set default user when running the container -USER odoo - -# Start -ENTRYPOINT ["/entrypoint.sh"] -CMD ["odoo"] - -# Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ - org.label-schema.vendor=LeFilament \ - org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" diff --git a/12.0.Dockerfile b/12.0.Dockerfile deleted file mode 100644 index f744d72455ee0c9ed05af85a6085cc595503b51c..0000000000000000000000000000000000000000 --- a/12.0.Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -FROM debian:stretch-slim -MAINTAINER Le Filament <https://le-filament.com> - -ENV APT_DEPS='build-essential libldap2-dev libsasl2-dev python3-dev python3-wheel' \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 \ - PGDATABASE=odoo - -RUN set -x; \ - apt-get update &&\ - apt-get install -y --no-install-recommends \ - ca-certificates \ - curl \ - fontconfig \ - git \ - gnupg \ - libssl1.0-dev \ - libx11-6 \ - libxcb1 \ - libxext6 \ - libxrender1 \ - node-less \ - openssh-client \ - python3-pip \ - python3-pyldap \ - python3-qrcode \ - python3-renderpm \ - python3-setuptools \ - python3-vobject \ - python3-watchdog \ - xfonts-75dpi \ - xfonts-base \ - xz-utils \ - &&\ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' >> /etc/apt/sources.list.d/postgresql.list &&\ - curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\ - curl -o wkhtmltox.deb -SL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb &&\ - echo '7e35a63f9db14f93ec7feeb0fce76b30c08f2057 wkhtmltox.deb' | sha1sum -c - &&\ - apt-get update &&\ - apt-get install -y --no-install-recommends ./wkhtmltox.deb &&\ - apt-get install -y --no-install-recommends postgresql-client &&\ - apt-get install -y --no-install-recommends ${APT_DEPS} &&\ - curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 /dev/stdin &&\ - pip install -I -r https://raw.githubusercontent.com/OCA/OCB/12.0/requirements.txt &&\ - pip install simplejson WTForms zxcvbn phonenumbers Werkzeug==0.14.1 &&\ - apt-get -y purge ${APT_DEPS} &&\ - apt-get -y autoremove &&\ - rm -rf /var/lib/apt/lists/* wkhtmltox.deb - -# Add Git Known Hosts -COPY ./ssh_known_git_hosts /root/.ssh/known_hosts - -# Install Odoo and remove not French translations and .git directory to limit amount of data used by container -RUN set -x; \ - useradd -l --create-home --home-dir /opt/odoo --no-log-init odoo &&\ - /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\ - rm -rf /opt/odoo/odoo/.git &&\ - find /opt/odoo/odoo/addons/*/i18n/ /opt/odoo/odoo/odoo/addons/base/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Install Odoo OCA default dependencies -RUN set -x; \ - mkdir -p /tmp/oca-repos/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-reporting.git /tmp/oca-repos/account-financial-reporting &&\ - mv /tmp/oca-repos/account-financial-reporting/account_tax_balance /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-tools.git /tmp/oca-repos/account-financial-tools &&\ - mv /tmp/oca-repos/account-financial-tools/account_lock_date_update \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-invoicing.git /tmp/oca-repos/account-invoicing &&\ - mv /tmp/oca-repos/account-invoicing/sale_timesheet_invoice_description \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/bank-statement-import.git /tmp/oca-repos/bank-statement-import &&\ - mv /tmp/oca-repos/bank-statement-import/account_bank_statement_import_ofx /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/knowledge.git /tmp/oca-repos/knowledge &&\ - mv /tmp/oca-repos/knowledge/knowledge /tmp/oca-repos/knowledge/document_page /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/partner-contact.git /tmp/oca-repos/partner-contact &&\ - mv /tmp/oca-repos/partner-contact/partner_disable_gravatar \ - /tmp/oca-repos/partner-contact/partner_firstname \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/project.git /tmp/oca-repos/project &&\ - mv /tmp/oca-repos/project/project_category \ - /tmp/oca-repos/project/project_status \ - /tmp/oca-repos/project/project_task_default_stage \ - /tmp/oca-repos/project/project_template \ - /tmp/oca-repos/project/project_timeline \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/sale-workflow.git /tmp/oca-repos/sale-workflow &&\ - mv /tmp/oca-repos/sale-workflow/partner_contact_sale_info_propagation \ - /tmp/oca-repos/sale-workflow/partner_prospect \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-auth.git /tmp/oca-repos/server-auth &&\ - mv /tmp/oca-repos/server-auth/auth_session_timeout \ - /tmp/oca-repos/server-auth/password_security \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-brand.git /tmp/oca-repos/server-brand &&\ - mv /tmp/oca-repos/server-brand/disable_odoo_online \ - /tmp/oca-repos/server-brand/remove_odoo_enterprise \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-tools.git /tmp/oca-repos/server-tools &&\ - mv /tmp/oca-repos/server-tools/base_search_fuzzy \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-ux.git /tmp/oca-repos/server-ux &&\ - mv /tmp/oca-repos/server-ux/base_technical_features \ - /tmp/oca-repos/server-ux/date_range \ - /tmp/oca-repos/server-ux/mass_editing \ - /tmp/oca-repos/server-ux/mass_operation_abstract \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/social.git /tmp/oca-repos/social &&\ - mv /tmp/oca-repos/social/base_search_mail_content \ - /tmp/oca-repos/social/mail_debrand \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/web.git /tmp/oca-repos/web &&\ - mv /tmp/oca-repos/web/web_environment_ribbon \ - /tmp/oca-repos/web/web_export_view \ - /tmp/oca-repos/web/web_responsive \ - /tmp/oca-repos/web/web_timeline \ - /opt/odoo/additional_addons/ &&\ - rm -rf /tmp/oca-repos/ &&\ - find /opt/odoo/additional_addons/*/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Copy entrypoint script and Odoo configuration file -COPY ./entrypoint.sh / -COPY ./odoo.conf /opt/odoo/etc/odoo.conf -RUN chown odoo:odoo /opt/odoo/etc/odoo.conf - -# Mount /opt/odoo/data to allow restoring filestore -VOLUME ["/opt/odoo/data/"] - -# Expose Odoo services -EXPOSE 8069 - -# Set default user when running the container -USER odoo - -# Start -ENTRYPOINT ["/entrypoint.sh"] -CMD ["odoo"] - -# Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ - org.label-schema.vendor=LeFilament \ - org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" diff --git a/12.0.Dockerfile.arm b/12.0.Dockerfile.arm deleted file mode 100644 index 252c958c0a792af6087752735832e95a7d749974..0000000000000000000000000000000000000000 --- a/12.0.Dockerfile.arm +++ /dev/null @@ -1,153 +0,0 @@ -FROM debian:stretch-slim -MAINTAINER Le Filament <https://le-filament.com> - -ENV APT_DEPS='build-essential libldap2-dev libpq-dev libxml2-dev zlib1g-dev libxslt1-dev libsasl2-dev libjpeg-dev libfreetype6-dev liblcms2-dev libtiff5-dev python3-dev python3-wheel' \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 \ - PGDATABASE=odoo - -RUN set -x; \ - apt-get update &&\ - apt-get install -y --no-install-recommends \ - ca-certificates \ - curl \ - fontconfig \ - git \ - gnupg \ - libjpeg62-turbo \ - libssl1.0-dev \ - libtiff5 \ - libx11-6 \ - libxcb1 \ - libxext6 \ - libxml2 \ - libxrender1 \ - libxslt1.1 \ - node-less \ - python3-pip \ - python3-pyldap \ - python3-qrcode \ - python3-renderpm \ - python3-setuptools \ - python3-vobject \ - python3-watchdog \ - xfonts-75dpi \ - xfonts-base \ - xz-utils \ - && \ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' >> /etc/apt/sources.list.d/postgresql.list && \ - curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \ - curl -o wkhtmltox.deb -SL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.raspbian.stretch_armhf.deb && \ - seq 1 8 | xargs -I{} mkdir -p /usr/share/man/man{} && \ - apt-get update && \ - apt-get install -y --no-install-recommends ./wkhtmltox.deb && \ - apt-get install -y --no-install-recommends postgresql-client && \ - apt-get install -y --no-install-recommends ${APT_DEPS} && \ - curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 /dev/stdin &&\ - pip install -I -r https://raw.githubusercontent.com/OCA/OCB/12.0/requirements.txt && \ - pip install simplejson WTForms zxcvbn phonenumbers Werkzeug==0.14.1 python3-openid netbluemind && \ - apt-get -y purge ${APT_DEPS} && \ - apt-get -y autoremove && \ - rm -rf /var/lib/apt/lists/* wkhtmltox.deb - -# Add Git Known Hosts -COPY ./ssh_known_git_hosts ~root/.ssh/known_hosts - -# Install Odoo and remove not French translations and .git directory to limit amount of data used by container -RUN set -x; \ - useradd -l --create-home --home-dir /opt/odoo --no-log-init odoo &&\ - /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\ - rm -rf /opt/odoo/odoo/.git &&\ - find /opt/odoo/odoo/addons/*/i18n/ /opt/odoo/odoo/odoo/addons/base/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Install Odoo OCA default dependencies -RUN set -x; \ - mkdir -p /tmp/oca-repos/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-reporting.git /tmp/oca-repos/account-financial-reporting &&\ - mv /tmp/oca-repos/account-financial-reporting/account_tax_balance /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-tools.git /tmp/oca-repos/account-financial-tools &&\ - mv /tmp/oca-repos/account-financial-tools/account_lock_date_update \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-invoicing.git /tmp/oca-repos/account-invoicing &&\ - mv /tmp/oca-repos/account-invoicing/sale_timesheet_invoice_description \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/bank-statement-import.git /tmp/oca-repos/bank-statement-import &&\ - mv /tmp/oca-repos/bank-statement-import/account_bank_statement_import_ofx /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/knowledge.git /tmp/oca-repos/knowledge &&\ - mv /tmp/oca-repos/knowledge/knowledge /tmp/oca-repos/knowledge/document_page /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/partner-contact.git /tmp/oca-repos/partner-contact &&\ - mv /tmp/oca-repos/partner-contact/partner_disable_gravatar \ - /tmp/oca-repos/partner-contact/partner_firstname \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/project.git /tmp/oca-repos/project &&\ - mv /tmp/oca-repos/project/project_category \ - /tmp/oca-repos/project/project_status \ - /tmp/oca-repos/project/project_task_default_stage \ - /tmp/oca-repos/project/project_template \ - /tmp/oca-repos/project/project_timeline \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/sale-workflow.git /tmp/oca-repos/sale-workflow &&\ - mv /tmp/oca-repos/sale-workflow/partner_contact_sale_info_propagation \ - /tmp/oca-repos/sale-workflow/partner_prospect \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-auth.git /tmp/oca-repos/server-auth &&\ - mv /tmp/oca-repos/server-auth/auth_session_timeout \ - /tmp/oca-repos/server-auth/password_security \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-brand.git /tmp/oca-repos/server-brand &&\ - mv /tmp/oca-repos/server-brand/disable_odoo_online \ - /tmp/oca-repos/server-brand/remove_odoo_enterprise \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-ux.git /tmp/oca-repos/server-ux &&\ - mv /tmp/oca-repos/server-ux/base_technical_features \ - /tmp/oca-repos/server-ux/date_range \ - /tmp/oca-repos/server-ux/mass_editing \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/social.git /tmp/oca-repos/social &&\ - mv /tmp/oca-repos/social/base_search_mail_content \ - /tmp/oca-repos/social/mail_debrand \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/web.git /tmp/oca-repos/web &&\ - mv /tmp/oca-repos/web/web_environment_ribbon \ - /tmp/oca-repos/web/web_export_view \ - /tmp/oca-repos/web/web_responsive \ - /tmp/oca-repos/web/web_timeline \ - /opt/odoo/additional_addons/ &&\ - rm -rf /tmp/oca-repos/ &&\ - find /opt/odoo/additional_addons/*/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Copy entrypoint script and Odoo configuration file -COPY ./entrypoint.sh / -COPY ./odoo.conf /opt/odoo/etc/odoo.conf -RUN chown odoo:odoo /opt/odoo/etc/odoo.conf -# Install private repos -COPY ./private/* /opt/odoo/private/ -RUN /opt/odoo/private/fetch_repos_addons -RUN /opt/odoo/private/fetch_repos - -# Mount /opt/odoo/data to allow restoring filestore -VOLUME ["/opt/odoo/data/"] - -# Expose Odoo services -EXPOSE 8069 - -# Set default user when running the container -USER odoo - -# Start -ENTRYPOINT ["/entrypoint.sh"] -CMD ["odoo"] - -# Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ - org.label-schema.vendor=LeFilament \ - org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" diff --git a/12.0_ml.Dockerfile b/12.0_ml.Dockerfile deleted file mode 100644 index 16fdb3be07a506379283ec69e205ed1a75502392..0000000000000000000000000000000000000000 --- a/12.0_ml.Dockerfile +++ /dev/null @@ -1,148 +0,0 @@ -FROM debian:stretch-slim -MAINTAINER Le Filament <https://le-filament.com> - -ENV APT_DEPS='build-essential libldap2-dev libsasl2-dev python3-dev python3-wheel' \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 \ - PGDATABASE=odoo - -RUN set -x; \ - apt-get update &&\ - apt-get install -y --no-install-recommends \ - ca-certificates \ - curl \ - fontconfig \ - git \ - gnupg \ - libssl1.0-dev \ - libx11-6 \ - libxcb1 \ - libxext6 \ - libxrender1 \ - node-less \ - openssh-client \ - python3-pip \ - python3-pyldap \ - python3-qrcode \ - python3-renderpm \ - python3-setuptools \ - python3-vobject \ - python3-watchdog \ - xfonts-75dpi \ - xfonts-base \ - xz-utils \ - &&\ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' >> /etc/apt/sources.list.d/postgresql.list &&\ - curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\ - curl -o wkhtmltox.deb -SL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb &&\ - echo '7e35a63f9db14f93ec7feeb0fce76b30c08f2057 wkhtmltox.deb' | sha1sum -c - &&\ - apt-get update &&\ - apt-get install -y --no-install-recommends ./wkhtmltox.deb &&\ - apt-get install -y --no-install-recommends postgresql-client &&\ - apt-get install -y --no-install-recommends ${APT_DEPS} &&\ - curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python3 /dev/stdin &&\ - pip install -I -r https://raw.githubusercontent.com/OCA/OCB/12.0/requirements.txt &&\ - pip install simplejson WTForms zxcvbn phonenumbers Werkzeug==0.14.1 &&\ - apt-get -y purge ${APT_DEPS} &&\ - apt-get -y autoremove &&\ - rm -rf /var/lib/apt/lists/* wkhtmltox.deb - -# Add Git Known Hosts -COPY ./ssh_known_git_hosts /root/.ssh/known_hosts - -# Install Odoo and remove not French translations and .git directory to limit amount of data used by container -RUN set -x; \ - useradd -l --create-home --home-dir /opt/odoo --no-log-init odoo &&\ - /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\ - rm -rf /opt/odoo/odoo/.git &&\ - chown -R odoo:odoo /opt/odoo - -# Install Odoo OCA default dependencies -RUN set -x; \ - mkdir -p /tmp/oca-repos/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-reporting.git /tmp/oca-repos/account-financial-reporting &&\ - mv /tmp/oca-repos/account-financial-reporting/account_tax_balance /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-tools.git /tmp/oca-repos/account-financial-tools &&\ - mv /tmp/oca-repos/account-financial-tools/account_lock_date_update \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-invoicing.git /tmp/oca-repos/account-invoicing &&\ - mv /tmp/oca-repos/account-invoicing/sale_timesheet_invoice_description \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/bank-statement-import.git /tmp/oca-repos/bank-statement-import &&\ - mv /tmp/oca-repos/bank-statement-import/account_bank_statement_import_ofx /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/knowledge.git /tmp/oca-repos/knowledge &&\ - mv /tmp/oca-repos/knowledge/knowledge /tmp/oca-repos/knowledge/document_page /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/partner-contact.git /tmp/oca-repos/partner-contact &&\ - mv /tmp/oca-repos/partner-contact/partner_disable_gravatar \ - /tmp/oca-repos/partner-contact/partner_firstname \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/project.git /tmp/oca-repos/project &&\ - mv /tmp/oca-repos/project/project_category \ - /tmp/oca-repos/project/project_status \ - /tmp/oca-repos/project/project_task_default_stage \ - /tmp/oca-repos/project/project_template \ - /tmp/oca-repos/project/project_timeline \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/sale-workflow.git /tmp/oca-repos/sale-workflow &&\ - mv /tmp/oca-repos/sale-workflow/partner_contact_sale_info_propagation \ - /tmp/oca-repos/sale-workflow/partner_prospect \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-auth.git /tmp/oca-repos/server-auth &&\ - mv /tmp/oca-repos/server-auth/auth_session_timeout \ - /tmp/oca-repos/server-auth/password_security \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-brand.git /tmp/oca-repos/server-brand &&\ - mv /tmp/oca-repos/server-brand/disable_odoo_online \ - /tmp/oca-repos/server-brand/remove_odoo_enterprise \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-tools.git /tmp/oca-repos/server-tools &&\ - mv /tmp/oca-repos/server-tools/base_search_fuzzy \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-ux.git /tmp/oca-repos/server-ux &&\ - mv /tmp/oca-repos/server-ux/base_technical_features \ - /tmp/oca-repos/server-ux/date_range \ - /tmp/oca-repos/server-ux/mass_editing \ - /tmp/oca-repos/server-ux/mass_operation_abstract \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/social.git /tmp/oca-repos/social &&\ - mv /tmp/oca-repos/social/base_search_mail_content \ - /tmp/oca-repos/social/mail_debrand \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/web.git /tmp/oca-repos/web &&\ - mv /tmp/oca-repos/web/web_environment_ribbon \ - /tmp/oca-repos/web/web_export_view \ - /tmp/oca-repos/web/web_responsive \ - /tmp/oca-repos/web/web_timeline \ - /opt/odoo/additional_addons/ &&\ - rm -rf /tmp/oca-repos/ &&\ - chown -R odoo:odoo /opt/odoo - -# Copy entrypoint script and Odoo configuration file -COPY ./entrypoint.sh / -COPY ./odoo.conf /opt/odoo/etc/odoo.conf -RUN chown odoo:odoo /opt/odoo/etc/odoo.conf - -# Mount /opt/odoo/data to allow restoring filestore -VOLUME ["/opt/odoo/data/"] - -# Expose Odoo services -EXPOSE 8069 - -# Set default user when running the container -USER odoo - -# Start -ENTRYPOINT ["/entrypoint.sh"] -CMD ["odoo"] - -# Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ - org.label-schema.vendor=LeFilament \ - org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" diff --git a/12.0_py3.6.Dockerfile b/12.0_py3.6.Dockerfile deleted file mode 100644 index 403c84c9e0e9617d3f034509d96857595c9a11dd..0000000000000000000000000000000000000000 --- a/12.0_py3.6.Dockerfile +++ /dev/null @@ -1,133 +0,0 @@ -FROM python:3.6-slim-buster -MAINTAINER Le Filament <https://le-filament.com> - -ENV APT_DEPS='build-essential libjpeg-dev libldap2-dev libsasl2-dev libpq-dev libxml2-dev libxslt1-dev python3-dev python3-wheel zlib1g-dev' \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 \ - PGDATABASE=odoo - -RUN set -x; \ - apt-get update &&\ - apt-get install -y --no-install-recommends \ - curl \ - git \ - gnupg \ - libxml2 \ - libxslt1.1 \ - npm \ - openssh-client &&\ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' >> /etc/apt/sources.list.d/postgresql.list &&\ - curl -SL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\ - curl -o wkhtmltox.deb -SL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.buster_amd64.deb &&\ - echo 'ea8277df4297afc507c61122f3c349af142f31e5 wkhtmltox.deb' | sha1sum -c - &&\ - apt-get update &&\ - apt-get install -y --no-install-recommends ./wkhtmltox.deb &&\ - apt-get install -y --no-install-recommends postgresql-client &&\ - apt-get install -y --no-install-recommends ${APT_DEPS} &&\ - pip install -I -r https://raw.githubusercontent.com/OCA/OCB/12.0/requirements.txt &&\ - pip install simplejson WTForms zxcvbn PyYAML phonenumbers Werkzeug==0.14.1 &&\ - apt-get -y purge ${APT_DEPS} &&\ - apt-get -y autoremove &&\ - rm -rf /var/lib/apt/lists/* wkhtmltox.deb - -# Add Git Known Hosts -COPY ./ssh_known_git_hosts /root/.ssh/known_hosts - -# Install Odoo and remove not French translations and .git directory to limit amount of data used by container -RUN set -x; \ - useradd -l --create-home --home-dir /opt/odoo --no-log-init odoo &&\ - /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\ - rm -rf /opt/odoo/odoo/.git &&\ - find /opt/odoo/odoo/addons/*/i18n/ /opt/odoo/odoo/odoo/addons/base/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Install Odoo OCA default dependencies -RUN set -x; \ - mkdir -p /tmp/oca-repos/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-reporting.git /tmp/oca-repos/account-financial-reporting &&\ - mv /tmp/oca-repos/account-financial-reporting/account_tax_balance /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-financial-tools.git /tmp/oca-repos/account-financial-tools &&\ - mv /tmp/oca-repos/account-financial-tools/account_lock_date_update \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/account-invoicing.git /tmp/oca-repos/account-invoicing &&\ - mv /tmp/oca-repos/account-invoicing/sale_timesheet_invoice_description \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/bank-statement-import.git /tmp/oca-repos/bank-statement-import &&\ - mv /tmp/oca-repos/bank-statement-import/account_bank_statement_import_ofx /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/knowledge.git /tmp/oca-repos/knowledge &&\ - mv /tmp/oca-repos/knowledge/knowledge /tmp/oca-repos/knowledge/document_page /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/partner-contact.git /tmp/oca-repos/partner-contact &&\ - mv /tmp/oca-repos/partner-contact/partner_disable_gravatar \ - /tmp/oca-repos/partner-contact/partner_firstname \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/project.git /tmp/oca-repos/project &&\ - mv /tmp/oca-repos/project/project_category \ - /tmp/oca-repos/project/project_status \ - /tmp/oca-repos/project/project_task_default_stage \ - /tmp/oca-repos/project/project_template \ - /tmp/oca-repos/project/project_timeline \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/sale-workflow.git /tmp/oca-repos/sale-workflow &&\ - mv /tmp/oca-repos/sale-workflow/partner_contact_sale_info_propagation \ - /tmp/oca-repos/sale-workflow/partner_prospect \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-auth.git /tmp/oca-repos/server-auth &&\ - mv /tmp/oca-repos/server-auth/auth_session_timeout \ - /tmp/oca-repos/server-auth/password_security \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-brand.git /tmp/oca-repos/server-brand &&\ - mv /tmp/oca-repos/server-brand/disable_odoo_online \ - /tmp/oca-repos/server-brand/remove_odoo_enterprise \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-tools.git /tmp/oca-repos/server-tools &&\ - mv /tmp/oca-repos/server-tools/base_search_fuzzy \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/server-ux.git /tmp/oca-repos/server-ux &&\ - mv /tmp/oca-repos/server-ux/base_technical_features \ - /tmp/oca-repos/server-ux/date_range \ - /tmp/oca-repos/server-ux/mass_editing \ - /tmp/oca-repos/server-ux/mass_operation_abstract \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/social.git /tmp/oca-repos/social &&\ - mv /tmp/oca-repos/social/base_search_mail_content \ - /tmp/oca-repos/social/mail_debrand \ - /opt/odoo/additional_addons/ &&\ - git clone -b 12.0 --depth 1 https://github.com/OCA/web.git /tmp/oca-repos/web &&\ - mv /tmp/oca-repos/web/web_environment_ribbon \ - /tmp/oca-repos/web/web_export_view \ - /tmp/oca-repos/web/web_responsive \ - /tmp/oca-repos/web/web_timeline \ - /opt/odoo/additional_addons/ &&\ - rm -rf /tmp/oca-repos/ &&\ - find /opt/odoo/additional_addons/*/i18n/ -type f -not -name 'fr.po' -delete &&\ - chown -R odoo:odoo /opt/odoo - -# Copy entrypoint script and Odoo configuration file -COPY ./entrypoint.sh / -COPY ./odoo.conf /opt/odoo/etc/odoo.conf -RUN chown odoo:odoo /opt/odoo/etc/odoo.conf - -# Mount /opt/odoo/data to allow restoring filestore -VOLUME ["/opt/odoo/data/"] - -# Expose Odoo services -EXPOSE 8069 - -# Set default user when running the container -USER odoo - -# Start -ENTRYPOINT ["/entrypoint.sh"] -CMD ["odoo"] - -# Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ - org.label-schema.vendor=LeFilament \ - org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" diff --git a/14.0.Dockerfile b/14.0.Dockerfile index 0f308b76c45eac8bb79a6e1f6deef8f874a779f9..3d08f516592fe9ead6ec2f475d2be10798c78a15 100644 --- a/14.0.Dockerfile +++ b/14.0.Dockerfile @@ -115,12 +115,7 @@ ENTRYPOINT ["/entrypoint.sh"] CMD ["odoo"] # Metadata -ARG VCS_REF -ARG BUILD_DATE -ARG VERSION -LABEL org.label-schema.schema-version="$VERSION" \ +LABEL org.label-schema.schema-version="14.0" \ org.label-schema.vendor=LeFilament \ org.label-schema.license=Apache-2.0 \ - org.label-schema.build-date="$BUILD_DATE" \ - org.label-schema.vcs-ref="$VCS_REF" \ - org.label-schema.vcs-url="https://github.com/lefilament/docker-odoo" + org.label-schema.vcs-url="https://sources.le-filament.com/lefilament/odoo_docker" diff --git a/README.md b/README.md index 101e22e862d51c9e1285668941ab4b0291b51a30..52f6279698f826c65ea999c16b74b62ec8568152 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ These docker images are now maintained on [Le Filament GitLab server](https://so This Docker is inspired from the ones from [Odoo](https://github.com/odoo/docker), [Tecnativa](https://github.com/Tecnativa/doodba) and [Elico Corporation](https://github.com/Elico-Corp/odoo-docker). -It creates a functional Odoo Docker of limited size (< 400 MB), including Odoo 10.0 or 12.0 from [OCA/OCB](https://github.com/oca/ocb), and also a few addons from [OCA](https://github.com/oca). +It creates a functional Odoo Docker of limited size (< 400 MB), including Odoo 10.0 or 12.0 or 14.0 from [OCA/OCB](https://github.com/oca/ocb), and also a few addons from [OCA](https://github.com/oca). In order to reduce as much as possible the size of the Docker, only French translations are kept and .git directories are removed. For people needing other languages than English or French, a 12.0_ml image is also provided. diff --git a/hooks/build b/hooks/build deleted file mode 100644 index 2f7ec6be4072f224bf40aa1e2877c89d5bad2817..0000000000000000000000000000000000000000 --- a/hooks/build +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -set -ex - -# Get Odoo version -version="$DOCKER_TAG" -if [ "$version" == latest ]; then - version=14.0 -fi - -if [ -z "$IMAGE_NAME" ]; then - IMAGE_NAME="$DOCKER_REPO:$DOCKER_TAG" -fi - -time docker image build \ - --build-arg VCS_REF="$GIT_SHA1" \ - --build-arg BUILD_DATE="$(date --rfc-3339 ns)" \ - --build-arg ODOO_VERSION="$version" \ - --file "$version.Dockerfile" \ - --tag "$IMAGE_NAME" \ - . diff --git a/hooks/post_push b/hooks/post_push deleted file mode 100644 index ce05225e185f4a38b09cc5580aed7f3001224be7..0000000000000000000000000000000000000000 --- a/hooks/post_push +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -ex - -# Get Odoo version -version="$DOCKER_TAG" -if [ "$version" == latest ]; then - version=14.0 -fi - -if [ -z "$IMAGE_NAME" ]; then - IMAGE_NAME="$DOCKER_REPO:$DOCKER_TAG" -fi - -docker image push "$IMAGE_NAME"