diff --git a/14.0/Dockerfile b/14.0/Dockerfile index 7d235d5a..c5173af8 100644 --- a/14.0/Dockerfile +++ b/14.0/Dockerfile @@ -1,18 +1,15 @@ FROM python:3.9-slim-trixie ARG UID=999 ARG GID=0 -# create the working directory and a place to set the logs (if wanted) -RUN mkdir -p /odoo /var/log/odoo /odoo/.venv +# create the working directory and a place to set the logs (if wanted) RUN adduser --disabled-password -u $UID --gid $GID --gecos '' odoo \ - && touch /odoo/odoo.cfg \ - && touch /odoo/.bashrc \ - && chmod 660 /odoo/odoo.cfg \ - && chmod 660 /odoo/.bashrc \ - && mkdir -p /odoo/data/odoo/{addons,filestore,sessions} \ - && chown -R odoo:root /odoo && usermod odoo --home /odoo \ - && chown -R odoo:root /var/log/odoo + && install -m 770 -o odoo -d /odoo /odoo/data /var/log/odoo /odoo/.venv \ + /odoo/data/odoo /odoo/data/odoo/{addons,filestore,sessions} \ + && install -m 660 -o odoo /dev/null /odoo/odoo.cfg \ + && install -m 660 -o odoo /dev/null /odoo/.bashrc \ + && usermod odoo --home /odoo COPY --chown=odoo:root --chmod=770 ./install /install COPY --chown=odoo:root --chmod=660 ./base_requirements.txt /odoo @@ -56,7 +53,7 @@ RUN /install/dockerize.sh COPY --chown=odoo:root --chmod=660 ./src_requirements.txt /odoo COPY --chown=odoo:root --chmod=770 ./bin /odoo/odoo-bin -COPY --chown=odoo:root --chmod=660 ./templates /templates +COPY --chown=odoo:root --chmod=660 ./templates /templates COPY --chown=odoo:root --chmod=770 ./before-migrate-entrypoint.d /odoo/before-migrate-entrypoint.d COPY --chown=odoo:root --chmod=770 ./start-entrypoint.d /odoo/start-entrypoint.d COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo @@ -65,8 +62,7 @@ COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo VOLUME ["/data/odoo", "/var/log/odoo"] USER odoo -RUN chmod -R 770 /odoo/.venv -RUN python3 -m venv /odoo/.venv --system-site-packages +RUN python3 -m venv /odoo/.venv --system-site-packages ENV PATH=/odoo/.venv/bin:$PATH ENV PYTHONPATH=/odoo/ RUN echo "export PATH=$PATH" >> ~/.bashrc diff --git a/15.0/Dockerfile b/15.0/Dockerfile index 3286cc05..7ea506eb 100644 --- a/15.0/Dockerfile +++ b/15.0/Dockerfile @@ -1,18 +1,15 @@ FROM python:3.12-slim-trixie ARG UID=999 ARG GID=0 -# create the working directory and a place to set the logs (if wanted) -RUN mkdir -p /odoo /var/log/odoo /odoo/.venv +# create the working directory and a place to set the logs (if wanted) RUN adduser --disabled-password -u $UID --gid $GID --gecos '' odoo \ - && touch /odoo/odoo.cfg \ - && touch /odoo/.bashrc \ - && chmod 660 /odoo/odoo.cfg \ - && chmod 660 /odoo/.bashrc \ - && mkdir -p /odoo/data/odoo/{addons,filestore,sessions} \ - && chown -R odoo:root /odoo && usermod odoo --home /odoo \ - && chown -R odoo:root /var/log/odoo + && install -m 770 -o odoo -d /odoo /odoo/data /var/log/odoo /odoo/.venv \ + /odoo/data/odoo /odoo/data/odoo/{addons,filestore,sessions} \ + && install -m 660 -o odoo /dev/null /odoo/odoo.cfg \ + && install -m 660 -o odoo /dev/null /odoo/.bashrc \ + && usermod odoo --home /odoo COPY --chown=odoo:root --chmod=770 ./install /install COPY --chown=odoo:root --chmod=660 ./base_requirements.txt /odoo @@ -56,7 +53,7 @@ RUN /install/dockerize.sh COPY --chown=odoo:root --chmod=660 ./src_requirements.txt /odoo COPY --chown=odoo:root --chmod=770 ./bin /odoo/odoo-bin -COPY --chown=odoo:root --chmod=660 ./templates /templates +COPY --chown=odoo:root --chmod=660 ./templates /templates COPY --chown=odoo:root --chmod=770 ./before-migrate-entrypoint.d /odoo/before-migrate-entrypoint.d COPY --chown=odoo:root --chmod=770 ./start-entrypoint.d /odoo/start-entrypoint.d COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo @@ -65,7 +62,6 @@ COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo VOLUME ["/data/odoo", "/var/log/odoo"] USER odoo -RUN chmod -R 770 /odoo/.venv RUN python3 -m venv /odoo/.venv --system-site-packages ENV PATH=/odoo/.venv/bin:$PATH ENV PYTHONPATH=/odoo/ diff --git a/16.0/Dockerfile b/16.0/Dockerfile index 0d0acc85..a6291143 100644 --- a/16.0/Dockerfile +++ b/16.0/Dockerfile @@ -1,18 +1,15 @@ FROM python:3.12-slim-trixie ARG UID=999 ARG GID=0 -# create the working directory and a place to set the logs (if wanted) -RUN mkdir -p /odoo /var/log/odoo /odoo/.venv +# create the working directory and a place to set the logs (if wanted) RUN adduser --disabled-password -u $UID --gid $GID --gecos '' odoo \ - && touch /odoo/odoo.cfg \ - && touch /odoo/.bashrc \ - && chmod 660 /odoo/odoo.cfg \ - && chmod 660 /odoo/.bashrc \ - && mkdir -p /odoo/data/odoo/{addons,filestore,sessions} \ - && chown -R odoo:root /odoo && usermod odoo --home /odoo \ - && chown -R odoo:root /var/log/odoo + && install -m 770 -o odoo -d /odoo /odoo/data /var/log/odoo /odoo/.venv \ + /odoo/data/odoo /odoo/data/odoo/{addons,filestore,sessions} \ + && install -m 660 -o odoo /dev/null /odoo/odoo.cfg \ + && install -m 660 -o odoo /dev/null /odoo/.bashrc \ + && usermod odoo --home /odoo COPY --chown=odoo:root --chmod=770 ./install /install COPY --chown=odoo:root --chmod=660 ./base_requirements.txt /odoo @@ -56,7 +53,7 @@ RUN /install/dockerize.sh COPY --chown=odoo:root --chmod=660 ./src_requirements.txt /odoo COPY --chown=odoo:root --chmod=770 ./bin /odoo/odoo-bin -COPY --chown=odoo:root --chmod=660 ./templates /templates +COPY --chown=odoo:root --chmod=660 ./templates /templates COPY --chown=odoo:root --chmod=770 ./before-migrate-entrypoint.d /odoo/before-migrate-entrypoint.d COPY --chown=odoo:root --chmod=770 ./start-entrypoint.d /odoo/start-entrypoint.d COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo @@ -64,8 +61,7 @@ COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo VOLUME ["/data/odoo", "/var/log/odoo"] USER odoo -RUN chmod -R 770 /odoo/.venv -RUN python3 -m venv /odoo/.venv --system-site-packages +RUN python3 -m venv /odoo/.venv --system-site-packages ENV PATH=/odoo/.venv/bin:$PATH ENV PYTHONPATH=/odoo/ RUN echo "export PATH=$PATH" >> ~/.bashrc diff --git a/17.0/Dockerfile b/17.0/Dockerfile index f829966f..cb5209a9 100644 --- a/17.0/Dockerfile +++ b/17.0/Dockerfile @@ -1,18 +1,15 @@ FROM python:3.12-slim-trixie ARG UID=999 ARG GID=0 -# create the working directory and a place to set the logs (if wanted) -RUN mkdir -p /odoo /var/log/odoo /odoo/.venv +# create the working directory and a place to set the logs (if wanted) RUN adduser --disabled-password -u $UID --gid $GID --gecos '' odoo \ - && touch /odoo/odoo.cfg \ - && touch /odoo/.bashrc \ - && chmod 660 /odoo/odoo.cfg \ - && chmod 660 /odoo/.bashrc \ - && mkdir -p /odoo/data/odoo/{addons,filestore,sessions} \ - && chown -R odoo:root /odoo && usermod odoo --home /odoo \ - && chown -R odoo:root /var/log/odoo + && install -m 770 -o odoo -d /odoo /odoo/data /var/log/odoo /odoo/.venv \ + /odoo/data/odoo /odoo/data/odoo/{addons,filestore,sessions} \ + && install -m 660 -o odoo /dev/null /odoo/odoo.cfg \ + && install -m 660 -o odoo /dev/null /odoo/.bashrc \ + && usermod odoo --home /odoo COPY --chown=odoo:root --chmod=770 ./install /install COPY --chown=odoo:root --chmod=660 ./base_requirements.txt /odoo @@ -57,7 +54,7 @@ RUN /install/dockerize.sh COPY --chown=odoo:root --chmod=660 ./src_requirements.txt /odoo COPY --chown=odoo:root --chmod=770 ./bin /odoo/odoo-bin -COPY --chown=odoo:root --chmod=660 ./templates /templates +COPY --chown=odoo:root --chmod=660 ./templates /templates COPY --chown=odoo:root --chmod=770 ./before-migrate-entrypoint.d /odoo/before-migrate-entrypoint.d COPY --chown=odoo:root --chmod=770 ./start-entrypoint.d /odoo/start-entrypoint.d COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo @@ -66,8 +63,7 @@ COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo VOLUME ["/data/odoo", "/var/log/odoo"] USER odoo -RUN chmod -R 770 /odoo/.venv -RUN python3 -m venv /odoo/.venv --system-site-packages +RUN python3 -m venv /odoo/.venv --system-site-packages ENV PATH=/odoo/.venv/bin:$PATH ENV PYTHONPATH=/odoo/ RUN echo "export PATH=$PATH" >> ~/.bashrc diff --git a/18.0/Dockerfile b/18.0/Dockerfile index 343fdfb1..173a34cc 100644 --- a/18.0/Dockerfile +++ b/18.0/Dockerfile @@ -1,18 +1,15 @@ FROM python:3.12-slim-trixie ARG UID=999 ARG GID=0 -# create the working directory and a place to set the logs (if wanted) -RUN mkdir -p /odoo /var/log/odoo /odoo/.venv +# create the working directory and a place to set the logs (if wanted) RUN adduser --disabled-password -u $UID --gid $GID --gecos '' odoo \ - && touch /odoo/odoo.cfg \ - && touch /odoo/.bashrc \ - && chmod 660 /odoo/odoo.cfg \ - && chmod 660 /odoo/.bashrc \ - && mkdir -p /odoo/data/odoo/{addons,filestore,sessions} \ - && chown -R odoo:root /odoo && usermod odoo --home /odoo \ - && chown -R odoo:root /var/log/odoo + && install -m 770 -o odoo -d /odoo /odoo/data /var/log/odoo /odoo/.venv \ + /odoo/data/odoo /odoo/data/odoo/{addons,filestore,sessions} \ + && install -m 660 -o odoo /dev/null /odoo/odoo.cfg \ + && install -m 660 -o odoo /dev/null /odoo/.bashrc \ + && usermod odoo --home /odoo COPY --chown=odoo:root --chmod=770 ./install /install COPY --chown=odoo:root --chmod=660 ./base_requirements.txt /odoo @@ -56,7 +53,7 @@ RUN /install/dockerize.sh COPY --chown=odoo:root --chmod=660 ./src_requirements.txt /odoo COPY --chown=odoo:root --chmod=770 ./bin /odoo/odoo-bin -COPY --chown=odoo:root --chmod=660 ./templates /templates +COPY --chown=odoo:root --chmod=660 ./templates /templates COPY --chown=odoo:root --chmod=770 ./before-migrate-entrypoint.d /odoo/before-migrate-entrypoint.d COPY --chown=odoo:root --chmod=770 ./start-entrypoint.d /odoo/start-entrypoint.d COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo @@ -65,7 +62,6 @@ COPY --chown=odoo:root --chmod=770 ./MANIFEST.in /odoo VOLUME ["/data/odoo", "/var/log/odoo"] USER odoo -RUN chmod -R 770 /odoo/.venv RUN python3 -m venv /odoo/.venv --system-site-packages ENV PATH=/odoo/.venv/bin:$PATH ENV PYTHONPATH=/odoo/ diff --git a/install/setup-pip.sh b/install/setup-pip.sh index 8aecebd4..f663fc31 100755 --- a/install/setup-pip.sh +++ b/install/setup-pip.sh @@ -1,12 +1,12 @@ #!/bin/bash set -eo pipefail -# Install pip with ensuire pip +# Install pip -- https://docs.python.org/library/ensurepip python -m ensurepip cat << EOF > /etc/pip.conf [global] # counter-intuitively, false means that we enable 'no-cache-dir' # "To enable the boolean options --no-compile and --no-cache-dir, falsy values have to be used" -# https://pip.pypa.io/en/stable/user_guide/#configuration +# https://pip.pypa.io/en/stable/topics/configuration/#boolean-options no-cache-dir = false -disable-pip-version-check = True +disable-pip-version-check = true EOF