mirror of
https://github.com/odoocker/odoocker
synced 2025-11-04 15:19:22 +01:00
framework upgrade
This commit is contained in:
122
odoo/Dockerfile
122
odoo/Dockerfile
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user