erplibre/docker/Dockerfile.prod.pkg
Mathieu Benoit d91c3c2e95 [IMP] support change odoo and python version
- Makefile show version, switch version and install different version
- erplibre_version with odoo_version, poetry_version and python_version
- support multiple docker version
- support odoo 12, odoo 14, odoo 16
- bullseye, bookworm debian
- update latest version
- script update_env_version to detect actual version and refactor it
- adapt file path to support multiple version
- poetry with verbose by default, ignore python keyring
- python script to generate image db with parallel for all odoo version
- check_addons_exist before generate all image
- support delay to change queue parallel
- fix odoo 12 product configurator
- can show demo website
- swith odoo
- force create addons if missing
- update manifest, because gen config break with wrong manifest
2024-11-02 02:26:02 -04:00

93 lines
2.7 KiB
Docker

ARG ERPLIBRE_IMAGE_NAME=1.5.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
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
curl https://storage.googleapis.com/git-repo-downloads/repo > ./.venv/repo && \
chmod +x ./.venv/repo
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
echo "${ERPLIBRE_VERSION}" && \
./script/version/update_env_version.py --erplibre_version "${ERPLIBRE_VERSION}"
RUN cd $ODOO_PREFIX && ls ./manifest -la && \
ls -lha /ERPLibre && \
./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}" && \
./.venv/bin/pip install --upgrade pip && git branch && ls . -lha && \
./.venv/bin/pip install "poetry==${POETRY_VERSION}" && \
./.venv/bin/poetry --version && \
./.venv/bin/poetry install
# Install local npm
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
npm install
# Create link to addons
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
ln -s "addons.odoo${ODOO_VERSION}" addons
RUN cd $ODOO_PREFIX && \
ls -lha /ERPLibre && \
head /etc/odoo/odoo.conf && \
./docker/repo_manifest_gen_org_prefix_path.py $ODOO_PREFIX/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"]