From 54885316af56623fd206dd37f437a5ea20229905 Mon Sep 17 00:00:00 2001 From: administrator Date: Thu, 9 Jul 2026 14:57:06 +0530 Subject: [PATCH] Docker improvements, websocket support, CI/CD preparation --- Dockerfile | 121 +++++++++++++++++++++++++++++++++++++++++------ requirements.txt | 3 ++ 2 files changed, 109 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9776560de..313396068 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,15 +2,22 @@ FROM python:3.12-bookworm ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 +ENV LANG=C.UTF-8 +ENV TZ=Asia/Kolkata + +# ---------------------------------------------------- +# System Dependencies +# ---------------------------------------------------- -# System dependencies RUN apt-get update && apt-get install -y \ build-essential \ gcc \ g++ \ git \ curl \ + wget \ npm \ + tini \ libpq-dev \ libldap2-dev \ libsasl2-dev \ @@ -21,34 +28,118 @@ RUN apt-get update && apt-get install -y \ libffi-dev \ libssl-dev \ liblcms2-dev \ + libblas-dev \ + libatlas-base-dev \ + libyaml-dev \ + libevent-dev \ + fonts-dejavu \ wkhtmltopdf \ && rm -rf /var/lib/apt/lists/* -# Less compiler used by Odoo +# ---------------------------------------------------- +# LESS Compiler +# ---------------------------------------------------- + RUN npm install -g less less-plugin-clean-css -# Create odoo user -RUN useradd -m -d /opt/odoo -U -r -s /bin/bash odoo +# ---------------------------------------------------- +# Create Odoo User +# ---------------------------------------------------- -WORKDIR /opt/odoo/odoo18 +RUN groupadd --system odoo && \ + useradd \ + --system \ + --gid odoo \ + --create-home \ + --home-dir /opt/odoo \ + --shell /bin/bash \ + odoo + +# ---------------------------------------------------- +# Working Directory +# ---------------------------------------------------- + +WORKDIR /opt/odoo/source + +# ---------------------------------------------------- +# Python +# ---------------------------------------------------- + +RUN python -m pip install --upgrade \ + pip \ + setuptools \ + wheel + +# ---------------------------------------------------- +# Copy Source +# ---------------------------------------------------- -# Copy project COPY . . -# Upgrade pip tools -RUN pip install --upgrade pip setuptools wheel +# ---------------------------------------------------- +# Install Requirements +# ---------------------------------------------------- -# Install requirements -RUN pip install --no-cache-dir -r requirements.txt +RUN if [ -f requirements.txt ]; then \ + pip install --no-cache-dir -r requirements.txt ; \ + fi -# PostgreSQL driver -RUN pip install psycopg2-binary +RUN pip install --no-cache-dir \ + psycopg2-binary \ + pip-tools + qifparse + pandas + pypdf -# Permissions -RUN chown -R odoo:odoo /opt/odoo +# ---------------------------------------------------- +# Directories +# ---------------------------------------------------- + +RUN mkdir -p \ + /var/lib/odoo \ + /var/log/odoo \ + /mnt/extra-addons + +RUN chown -R odoo:odoo \ + /opt/odoo \ + /var/lib/odoo \ + /var/log/odoo \ + /mnt/extra-addons + +RUN chmod -R 755 \ + /var/lib/odoo \ + /var/log/odoo + +# ---------------------------------------------------- +# Switch User +# ---------------------------------------------------- USER odoo +# ---------------------------------------------------- +# Expose Port +# ---------------------------------------------------- + EXPOSE 8069 -CMD ["python3", "odoo-bin", "-c", "odoo.conf"] \ No newline at end of file +# ---------------------------------------------------- +# Health Check +# ---------------------------------------------------- + +#HEALTHCHECK --interval=30s \ + # --timeout=10s \ + # --start-period=60s \ + # --retries=5 \ +#CMD curl -fs http://127.0.0.1:8069/web/login || exit 1 + +# ---------------------------------------------------- +# Init Process +# ---------------------------------------------------- + +ENTRYPOINT ["/usr/bin/tini","--"] + +# ---------------------------------------------------- +# Start Odoo +# ---------------------------------------------------- + +CMD ["python3", "odoo-bin", "-c", "/etc/odoo/odoo.conf"] diff --git a/requirements.txt b/requirements.txt index e1711f29b..4ab05f258 100644 --- a/requirements.txt +++ b/requirements.txt @@ -89,3 +89,6 @@ XlsxWriter==3.1.9 ; python_version >= '3.12' xlwt==1.3.0 zeep==4.1.0 ; python_version < '3.11' # (jammy) zeep==4.2.1 ; python_version >= '3.11' +qifparse +pandas +pypdf