- 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
101 lines
3.1 KiB
Docker
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"]
|