In order to have an up to date version of Python and therefore an up to date pip version, the Python Docker image is used instead of the Debian one. The choosen Python Docker images are based on desired version of Debian. This avoid to upgrade pip inside the image, that was resulting in a useless copy of pip.
83 lines
2.8 KiB
Docker
83 lines
2.8 KiB
Docker
FROM python:3.7-slim-buster
|
|
LABEL maintainer="Odoo S.A. <info@odoo.com>"
|
|
|
|
# Generate locale C.UTF-8 for postgres and general locale data
|
|
ENV LANG C.UTF-8
|
|
|
|
# Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf
|
|
RUN set -x; \
|
|
apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
dirmngr \
|
|
fonts-noto-cjk \
|
|
gnupg \
|
|
libssl-dev \
|
|
node-less \
|
|
npm \
|
|
python3-pip \
|
|
python3-pyldap \
|
|
python3-qrcode \
|
|
python3-renderpm \
|
|
python3-setuptools \
|
|
python3-vobject \
|
|
python3-watchdog \
|
|
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 set -x; \
|
|
echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' > etc/apt/sources.list.d/pgdg.list \
|
|
&& export GNUPGHOME="$(mktemp -d)" \
|
|
&& 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 -y postgresql-client \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install rtlcss (on Debian buster)
|
|
RUN set -x; \
|
|
npm install -g rtlcss
|
|
|
|
# Install Odoo
|
|
ENV ODOO_VERSION 13.0
|
|
ARG ODOO_RELEASE=20191009
|
|
ARG ODOO_SHA=468633ffd7ebacdde116e8708fd62f74788cd2b1
|
|
RUN set -x; \
|
|
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 - \
|
|
&& dpkg --force-depends -i odoo.deb \
|
|
&& apt-get update \
|
|
&& apt-get -y install -f --no-install-recommends \
|
|
&& rm -rf /var/lib/apt/lists/* odoo.deb
|
|
|
|
# Copy entrypoint script and Odoo configuration file
|
|
RUN pip3 install num2words xlwt phonenumbers
|
|
COPY ./entrypoint.sh /
|
|
COPY ./odoo.conf /etc/odoo/
|
|
RUN chown odoo /etc/odoo/odoo.conf
|
|
|
|
# Mount /var/lib/odoo to allow restoring filestore and /mnt/extra-addons for users addons
|
|
RUN mkdir -p /mnt/extra-addons \
|
|
&& chown -R odoo /mnt/extra-addons
|
|
VOLUME ["/var/lib/odoo", "/mnt/extra-addons"]
|
|
|
|
# Expose Odoo services
|
|
EXPOSE 8069 8071
|
|
|
|
# Set the default config file
|
|
ENV ODOO_RC /etc/odoo/odoo.conf
|
|
|
|
# Set default user when running the container
|
|
USER odoo
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["odoo"]
|