2024-08-25 15:54:24 -04:00
|
|
|
# syntax=docker/dockerfile:1
|
|
|
|
|
|
2025-08-07 06:28:34 -04:00
|
|
|
ARG PYTHON_VERSION=3.12.10
|
2024-08-25 15:54:24 -04:00
|
|
|
ARG DEBIAN_NAME=bookworm
|
|
|
|
|
FROM python:${PYTHON_VERSION}-slim-${DEBIAN_NAME}
|
|
|
|
|
#MAINTAINER TechnoLibre <docker@technolibre.ca>
|
2020-05-31 09:29:29 -04:00
|
|
|
|
|
|
|
|
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
|
|
|
|
|
|
|
|
|
|
# Generate locale C.UTF-8 for postgres and general locale data
|
|
|
|
|
ENV LANG C.UTF-8
|
|
|
|
|
|
2020-08-02 00:10:34 -04:00
|
|
|
ENV LANG="C.UTF-8" \
|
|
|
|
|
LC_ALL="C.UTF-8" \
|
|
|
|
|
PATH="/opt/pyenv/shims:/opt/pyenv/bin:$PATH" \
|
|
|
|
|
PYENV_ROOT="/opt/pyenv" \
|
|
|
|
|
PYENV_SHELL="bash"
|
|
|
|
|
|
2020-05-31 09:29:29 -04:00
|
|
|
ENV ODOO_PREFIX /ERPLibre
|
2025-08-07 06:28:34 -04:00
|
|
|
ENV ODOO_VERSION 18.0
|
|
|
|
|
ENV ODOO_EXEC_BIN "${ODOO_PREFIX}/odoo${ODOO_VERSION}/odoo/odoo-bin"
|
2020-05-31 09:29:29 -04:00
|
|
|
|
2024-08-25 15:54:24 -04:00
|
|
|
ARG URL_WKHTMLTOX=github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb
|
|
|
|
|
ARG SHA1SUM_WKTHMLTOX=e9f95436298c77cc9406bd4bbd242f4771d0a4b2
|
|
|
|
|
|
2020-05-31 09:29:29 -04:00
|
|
|
# Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf
|
|
|
|
|
RUN apt-get update \
|
2020-08-01 14:17:39 -04:00
|
|
|
&& apt-get install -y --no-install-recommends \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
curl \
|
|
|
|
|
dirmngr \
|
|
|
|
|
fonts-noto-cjk \
|
|
|
|
|
gnupg \
|
|
|
|
|
libssl-dev \
|
|
|
|
|
npm \
|
|
|
|
|
xz-utils \
|
|
|
|
|
git \
|
2023-12-02 14:07:14 -05:00
|
|
|
tree \
|
|
|
|
|
vim \
|
|
|
|
|
htop \
|
|
|
|
|
tig \
|
2023-08-27 23:18:52 -04:00
|
|
|
cmake \
|
2020-08-02 00:10:34 -04:00
|
|
|
wget \
|
2023-08-27 23:18:52 -04:00
|
|
|
tig \
|
|
|
|
|
vim \
|
|
|
|
|
htop \
|
2021-06-27 16:51:30 -04:00
|
|
|
make \
|
|
|
|
|
libssl-dev \
|
|
|
|
|
zlib1g-dev \
|
|
|
|
|
llvm \
|
|
|
|
|
tk-dev \
|
2020-08-02 00:10:34 -04:00
|
|
|
libxslt-dev \
|
|
|
|
|
libzip-dev \
|
|
|
|
|
libldap2-dev \
|
|
|
|
|
libsasl2-dev \
|
|
|
|
|
gdebi-core \
|
2020-08-01 14:17:39 -04:00
|
|
|
iproute2 \
|
2020-08-02 00:10:34 -04:00
|
|
|
libmariadbd-dev \
|
2020-08-01 14:17:39 -04:00
|
|
|
inetutils-ping \
|
2020-08-02 00:10:34 -04:00
|
|
|
build-essential \
|
|
|
|
|
libsqlite3-dev \
|
|
|
|
|
sqlite3 \
|
|
|
|
|
bzip2 \
|
|
|
|
|
libbz2-dev \
|
|
|
|
|
zlib1g-dev \
|
|
|
|
|
libssl-dev \
|
2024-07-23 00:00:02 -04:00
|
|
|
libcairo2-dev \
|
2020-08-02 00:10:34 -04:00
|
|
|
openssl \
|
|
|
|
|
libgdbm-dev \
|
|
|
|
|
libgdbm-compat-dev \
|
|
|
|
|
liblzma-dev \
|
|
|
|
|
libreadline-dev \
|
|
|
|
|
libncursesw5-dev \
|
|
|
|
|
libffi-dev \
|
|
|
|
|
uuid-dev \
|
2024-08-25 15:54:24 -04:00
|
|
|
portaudio19-dev \
|
2025-08-07 06:28:34 -04:00
|
|
|
libcups2-dev \
|
|
|
|
|
shfmt \
|
|
|
|
|
xmlsec1 \
|
2024-08-25 01:31:43 -04:00
|
|
|
swig \
|
2024-08-25 15:54:24 -04:00
|
|
|
&& curl -o wkhtmltox.deb -sSL https://${URL_WKHTMLTOX}/ \
|
|
|
|
|
&& echo "${SHA1SUM_WKTHMLTOX} wkhtmltox.deb" | sha1sum -c - \
|
2020-08-01 14:17:39 -04:00
|
|
|
&& apt-get install -y --no-install-recommends ./wkhtmltox.deb \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/* wkhtmltox.deb
|
2020-05-31 09:29:29 -04:00
|
|
|
|
2024-08-25 15:54:24 -04:00
|
|
|
ARG DEBIAN_NAME=bookworm
|
|
|
|
|
|
2020-08-02 00:10:34 -04:00
|
|
|
# Install latest postgresql-client
|
2024-08-25 15:54:24 -04:00
|
|
|
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ ${DEBIAN_NAME}-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
2020-05-31 09:29:29 -04:00
|
|
|
&& 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 \
|
2025-11-26 03:03:56 -05:00
|
|
|
&& apt-get install --no-install-recommends -y postgresql-client-18 libpq-dev \
|
2020-08-01 14:17:39 -04:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
2020-05-31 09:29:29 -04:00
|
|
|
|
2020-10-04 15:25:10 -04:00
|
|
|
# Install npm dependencies
|
2021-06-27 16:51:30 -04:00
|
|
|
RUN npm install -g rtlcss less prettier @prettier/plugin-xml \
|
2020-10-04 15:25:10 -04:00
|
|
|
&& ln -fs /usr/local/bin/lessc /usr/bin/lessc
|
|
|
|
|
|
2020-08-02 00:10:34 -04:00
|
|
|
# Install git-repo
|
2020-05-31 09:29:29 -04:00
|
|
|
RUN cd ; mkdir -p .bin/ && \
|
2020-08-02 00:10:34 -04:00
|
|
|
git config --global color.ui false && \
|
2020-08-01 14:17:39 -04:00
|
|
|
git config --global user.email "foo@bar.io" && \
|
|
|
|
|
git config --global user.name "Foo Bar" && \
|
|
|
|
|
curl https://storage.googleapis.com/git-repo-downloads/repo > /usr/bin/repo && \
|
|
|
|
|
chmod +x /usr/bin/repo && sed -i '1 s/python$/python3/' /usr/bin/repo
|
2020-05-31 09:29:29 -04:00
|
|
|
|
|
|
|
|
RUN groupadd --gid 101 --force odoo && \
|
|
|
|
|
useradd --non-unique --create-home --uid 101 --gid 101 odoo
|
|
|
|
|
|
|
|
|
|
# Copy entrypoint script and Odoo configuration file
|
|
|
|
|
COPY ./entrypoint.sh /
|
|
|
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
|
|
2020-08-02 00:10:34 -04:00
|
|
|
# Set the default config file
|
2020-05-31 09:29:29 -04:00
|
|
|
ENV ODOO_RC /etc/odoo/odoo.conf
|
|
|
|
|
COPY ./odoo.conf $ODOO_RC
|
|
|
|
|
RUN chown odoo $ODOO_RC
|
|
|
|
|
|
|
|
|
|
RUN mkdir $ODOO_PREFIX && \
|
2020-08-01 14:17:39 -04:00
|
|
|
chown odoo $ODOO_PREFIX && \
|
|
|
|
|
chmod 1777 $ODOO_PREFIX
|
2020-05-31 09:29:29 -04:00
|
|
|
|
2020-08-02 00:10:34 -04:00
|
|
|
# Mount /var/lib/odoo to allow restoring filestore
|
2020-05-31 09:29:29 -04:00
|
|
|
RUN chown odoo $ODOO_RC
|
|
|
|
|
|
|
|
|
|
# Expose Odoo services
|
|
|
|
|
EXPOSE 8069 8071 8072
|
|
|
|
|
|
2020-08-10 15:52:51 -04:00
|
|
|
#RUN mkdir -p /var/lib/odoo && \
|
|
|
|
|
# chown odoo /var/lib/odoo && \
|
|
|
|
|
# chmod 1777 /var/lib/odoo
|
2020-05-31 09:29:29 -04:00
|
|
|
|
2020-08-10 15:52:51 -04:00
|
|
|
# VOLUME /var/lib/odoo
|
2020-05-31 09:29:29 -04:00
|
|
|
|
|
|
|
|
# Set default user when running the container
|
|
|
|
|
USER odoo
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
|
CMD ["odoo"]
|