erplibre/docker/Dockerfile.prod.pkg
Mathieu Benoit 93617b1a65 [IMP] support multi version odoo on same workspace
- oficially support odoo 18 instead of odoo 16
- support postgis/postgresql 18 into docker
- change version erplibre 1.6.0
- support private environment and support local git repo manifest
- support switch odoo version
- support docker for each version
- update os installation
- upgrade python requirement
- separate virtual environment for erplibre and odoo
2025-10-31 01:36:26 -04:00

101 lines
3.1 KiB
Docker

ARG ERPLIBRE_IMAGE_NAME=1.6.0
FROM technolibre/erplibre-base:${ERPLIBRE_IMAGE_NAME}
ARG ERPLIBRE_VERSION=odoo16.0_python3.10.14
ARG ODOO_VERSION=16.0
ARG POETRY_VERSION=1.8.3
ENV REPO_MANIFEST_URL https://github.com/ERPLibre/ERPLibre
ARG WORKING_BRANCH
ARG WORKING_HASH
ENV BRANCH_ERPLIBRE $WORKING_BRANCH
ENV COMMIT_ERPLIBRE $WORKING_HASH
ENV COMMIT_ERPLIBRE $WORKING_HASH
ENV DOCKER_BUILD=true
RUN cat /etc/os-release
USER root
RUN mkdir ~/.ssh/ && \
echo "StrictHostKeyChecking no" >> ~/.ssh/config && \
apt update && \
apt install ssh-client git -y --no-install-recommends && \
rm -rf /var/lib/apt/lists/*
RUN cd ; mkdir -p .bin/ && \
git config --global color.ui false && \
git config --global user.email "foo@bar.io" && \
git config --global user.name "Foo Bar" && \
if [ "$BRANCH_ERPLIBRE" = "HEAD" ]; then git clone $REPO_MANIFEST_URL $ODOO_PREFIX ; else git clone $REPO_MANIFEST_URL -b $BRANCH_ERPLIBRE $ODOO_PREFIX; fi && \
cd $ODOO_PREFIX && \
# fatal: detected dubious ownership in repository at '/ERPLibre'
git config --global --add safe.directory /ERPLibre && \
git checkout $COMMIT_ERPLIBRE
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
python -m venv .venv.$ERPLIBRE_VERSION
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
python -m venv .venv.erplibre && \
source ./.venv.erplibre/bin/activate && \
pip3 install -r requirement/erplibre_require-ments.txt
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
curl https://storage.googleapis.com/git-repo-downloads/repo > .venv.erplibre/bin/repo && \
chmod +x .venv.erplibre/bin/repo
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
echo "${ERPLIBRE_VERSION}" && \
source ./.venv.erplibre/bin/activate && \
./script/version/update_env_version.py --erplibre_version "${ERPLIBRE_VERSION}" --partial_install
RUN cd $ODOO_PREFIX && ls ./manifest -la && \
ls -lha /ERPLibre && \
source ./.venv.erplibre/bin/activate && \
./script/manifest/update_manifest_local_dev.sh
RUN apt update && \
apt install -y libgirepository1.0-dev && \
rm -rf /var/lib/apt/lists/*
# Install Poetry
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
echo "${ERPLIBRE_VERSION}" && \
source ./.venv.$(cat ".erplibre-version" | xargs)/bin/activate && \
pip3 install --upgrade pip && git branch && ls . -lha && \
pip3 install "poetry==${POETRY_VERSION}" && \
poetry --version && \
poetry install --no-root -v
# Install local npm
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
npm install
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
mkdir -p "/ERPLibre/odoo${ODOO_VERSION}/addons/addons"
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
head /etc/odoo/odoo.conf && \
./docker/repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/odoo${ODOO_VERSION}/addons /etc/odoo/odoo.conf /etc/odoo/odoo.conf && \
head /etc/odoo/odoo.conf
RUN cp /etc/odoo/odoo.conf /odoo.conf
#RUN mkdir '/home/odoo/.local'
#RUN chown -R odoo '/home/odoo/.local'
USER odoo
RUN mkdir -p '/home/odoo/.local/share/Odoo/'
ENTRYPOINT ["/entrypoint.sh"]
CMD ["odoo"]