FROM debian:stretch-slim MAINTAINER Odoo S.A. SHELL ["/bin/bash", "-xo", "pipefail", "-c"] # Generate locale C.UTF-8 for postgres and general locale data ENV LANG C.UTF-8 # Use backports to avoid install some libs with pip RUN echo 'deb http://deb.debian.org/debian stretch-backports main' > /etc/apt/sources.list.d/backports.list # Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf RUN apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ dirmngr \ fonts-noto-cjk \ gnupg \ libssl1.0-dev \ node-less \ python3-num2words \ python3-pip \ python3-phonenumbers \ python3-pyldap \ python3-qrcode \ python3-renderpm \ python3-setuptools \ python3-slugify \ python3-vobject \ python3-watchdog \ python3-xlrd \ python3-xlwt \ xz-utils \ && curl -o wkhtmltox.deb -sSL 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 install -y --no-install-recommends ./wkhtmltox.deb \ && rm -rf /var/lib/apt/lists/* wkhtmltox.deb # install latest postgresql-client RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' > /etc/apt/sources.list.d/pgdg.list \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ && repokey='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8' \ && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${repokey}" \ && gpg --batch --armor --export "${repokey}" > /etc/apt/trusted.gpg.d/pgdg.gpg.asc \ && gpgconf --kill all \ && rm -rf "$GNUPGHOME" \ && apt-get update \ && apt-get install --no-install-recommends -y postgresql-client \ && rm -f /etc/apt/sources.list.d/pgdg.list \ && rm -rf /var/lib/apt/lists/* # Install rtlcss (on Debian stretch) RUN echo "deb http://deb.nodesource.com/node_8.x stretch main" > /etc/apt/sources.list.d/nodesource.list \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ && repokey='9FD3B784BC1C6FC31A8A0A1C1655A0AB68576280' \ && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${repokey}" \ && gpg --batch --armor --export "${repokey}" > /etc/apt/trusted.gpg.d/nodejs.gpg.asc \ && gpgconf --kill all \ && rm -rf "$GNUPGHOME" \ && apt-get update \ && apt-get install --no-install-recommends -y nodejs \ && npm install -g rtlcss \ && rm -rf /var/lib/apt/lists/* # Install Odoo ENV ODOO_VERSION 12.0 ARG ODOO_RELEASE=20210217 ARG ODOO_SHA=1fe634da61ffb3d7292d502e004cdb1c576afee8 RUN curl -o odoo.deb -sSL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/odoo_${ODOO_VERSION}.${ODOO_RELEASE}_all.deb \ && echo "${ODOO_SHA} odoo.deb" | sha1sum -c - \ && apt-get update \ && apt-get -y install --no-install-recommends ./odoo.deb \ && rm -rf /var/lib/apt/lists/* odoo.deb # Copy entrypoint script and Odoo configuration file COPY ./entrypoint.sh / COPY ./odoo.conf /etc/odoo/ # Mount /var/lib/odoo to allow restoring filestore and /mnt/extra-addons for users addons RUN chown odoo /etc/odoo/odoo.conf \ && mkdir -p /mnt/extra-addons \ && chown -R odoo /mnt/extra-addons VOLUME ["/var/lib/odoo", "/mnt/extra-addons"] # Expose Odoo services EXPOSE 8069 8071 8072 # Set the default config file ENV ODOO_RC /etc/odoo/odoo.conf COPY wait-for-psql.py /usr/local/bin/wait-for-psql.py # Set default user when running the container USER odoo ENTRYPOINT ["/entrypoint.sh"] CMD ["odoo"]