framework upgrade

This commit is contained in:
Yhael S
2023-08-25 02:08:56 -05:00
parent 45d19223c7
commit b822c082c7
21 changed files with 576 additions and 421 deletions

View File

@@ -1,74 +1,90 @@
ARG ODOO_VERSION=16.0
#------------------------#
# Odoo Community #
#------------------------#
ARG ODOO_VERSION
FROM odoo:${ODOO_VERSION}
# Switch back to root user
# Switch to root user
USER root
# Update & Upgrade
RUN apt-get update && apt-get upgrade -y
# Receive ARGs from docker-compose.yml & convert them into ENVs
ARG ROOT_PATH
ARG LOG_PATH
ARG GITHUB_USER
ARG GITHUB_ACCESS_TOKEN
ARG ENTERPRISE_REPO
ARG ENTERPRISE_ADDONS
ARG ODOO_RC
# Upgrade pip
RUN pip3 install --upgrade pip
# Set Odoo root path
ARG ROOT_PATH=/usr/lib/python3/dist-packages/odoo
#---------------#
# Logging #
#---------------#
# Set Log variables
ARG LOGPATH=/var/log/odoo
ARG LOGFILE=${LOGPATH}/odoo.log
# Create odoo.log file and give permissions.
RUN touch ${LOGFILE} && chown odoo:odoo -R ${LOGPATH}
#-----------------------#
# Odoo Enterprise #
#-----------------------#
# Install git
RUN apt-get install git -y
# Set Github Credentials
ARG GITHUB_USER=yhaelopez
ARG GITHUB_ACCESS_TOKEN=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
ARG ENTERPRISE_REPO=https://${GITHUB_USER}:${GITHUB_ACCESS_TOKEN}@github.com/odoo/enterprise.git
ARG ENTERPRISE_PATH=${ROOT_PATH}/enterprise
# Create Enterprise Path & give permissions
RUN mkdir -p ${ENTERPRISE_PATH} && chown odoo:odoo -R ${ENTERPRISE_PATH}
# Clone Enterprise Repository
RUN git clone ${ENTERPRISE_REPO} ${ROOT_PATH}/enterprise --depth 1 --branch ${ODOO_VERSION} --single-branch --no-tags
#--------------------------------#
# Fix Deprecation Warnings #
#--------------------------------#
ENV ODOO_VERSION=${ODOO_VERSION} \
LOG_PATH=${LOG_PATH} \
GITHUB_USER=${GITHUB_USER} \
GITHUB_ACCESS_TOKEN=${GITHUB_ACCESS_TOKEN} \
ENTERPRISE_REPO=${ENTERPRISE_REPO} \
ENTERPRISE_ADDONS=${ENTERPRISE_ADDONS} \
ODOO_RC=${ODOO_RC}
#------------------------#
# APT Dependencies #
#------------------------#
RUN apt-get update && apt-get install -y \
apt-utils \
git \
git-man \
less \
libcbor0 \
libcurl3-gnutls \
libedit2 \
liberror-perl \
libxmuu1 \
openssh-client \
patch \
xauth \
# Clean up the apt cache to reduce the image size
&& rm -rf /var/lib/apt/lists/*
#-----------------------#
# PIP Dependencies #
# Odoo Enterprise #
#-----------------------#
# Copy PIP requirements
COPY ./odoo/requirements.txt /tmp/requirements.txt
# Install PIP requirements
RUN python3 -m pip install -r /tmp/requirements.txt
# RUN pip3 install debugpy
# Create Enterprise addons directory
RUN mkdir -p ${ENTERPRISE_ADDONS} && \
chown odoo:odoo -R ${ENTERPRISE_ADDONS}
# Clone Enterprise addons if user and token are present
RUN if [ -n "$GITHUB_USER" ] && [ -n "$GITHUB_ACCESS_TOKEN" ]; then \
git clone ${ENTERPRISE_REPO} ${ENTERPRISE_ADDONS} --depth 1 --branch ${ODOO_VERSION} --single-branch --no-tags; \
fi
#---------------------#
# PIP Dependecies #
#---------------------#
# Upgrade pip
RUN pip3 install --upgrade pip
# Copy & Install PIP requirements
COPY --chown=odoo:odoo ./odoo/requirements.txt /tmp/requirements.txt
RUN python3 -m pip install --upgrade -r /tmp/requirements.txt && \
rm /tmp/requirements.txt
#---------------------#
# Logging #
#---------------------#
# Create odoo.log file
RUN touch ${LOG_PATH} && chown odoo:odoo ${LOG_PATH}
#-----------------------#
# Odoo Conf #
#-----------------------#
# Copy environment variables at /
COPY ./.env /
# Copy script to generate odoo.conf
COPY ./odoo/odoorc.sh /
# Copy environment variables & script to generate odoo.conf
COPY --chown=odoo:odoo ./.env /
COPY --chown=odoo:odoo ./odoo/odoorc.sh /
# Generate odoo.conf
RUN /odoorc.sh && chown odoo:odoo ${ODOO_RC}
# Switch back to odoo user
USER odoo
USER odoo