Update Services/odoo/odoo-oca.Containerfile
此提交包含在:
+154
-35
@@ -2,12 +2,13 @@
|
|||||||
# Build: podman build -t odoo-oca:18 -f odoo-oca.ContainerFile .
|
# Build: podman build -t odoo-oca:18 -f odoo-oca.ContainerFile .
|
||||||
# Export: podman save -o /home/badstorm/odoo-oca-18.tar localhost/odoo-oca:18
|
# Export: podman save -o /home/badstorm/odoo-oca-18.tar localhost/odoo-oca:18
|
||||||
|
|
||||||
|
# syntax=docker/dockerfile:1.9
|
||||||
|
# Build: podman build -t odoo:18-debian13 -f odoo.ContainerFile .
|
||||||
|
|
||||||
FROM debian:13-slim
|
FROM debian:13-slim
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV ODOO_VERSION=18
|
|
||||||
ENV ODOO_BRANCH=18.0
|
ENV ODOO_BRANCH=18.0
|
||||||
ENV ODOO_HOME=/opt/odoo
|
|
||||||
ENV VENV_PATH=/opt/odoo/venv18
|
ENV VENV_PATH=/opt/odoo/venv18
|
||||||
|
|
||||||
ENV DB_HOST=postgres
|
ENV DB_HOST=postgres
|
||||||
@@ -16,8 +17,6 @@ ENV DB_USER=odoo
|
|||||||
ENV DB_PASSWORD=odoo
|
ENV DB_PASSWORD=odoo
|
||||||
ENV ADMIN_PASSWD=my_admin_password
|
ENV ADMIN_PASSWD=my_admin_password
|
||||||
|
|
||||||
ENV ADDONS_PATH=/opt/odoo/18.0/addons,/opt/odoo/18.0/odoo/addons,/opt/odoo/addons18/OCA/l10n-italy,/opt/odoo/addons18/custom/iso_addons
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
git wget curl ca-certificates \
|
git wget curl ca-certificates \
|
||||||
python3 python3.13-dev python3-dev python3-venv python3-pip \
|
python3 python3.13-dev python3-dev python3-venv python3-pip \
|
||||||
@@ -29,13 +28,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
libssl-dev libffi-dev libpq-dev libldap2-dev libsasl2-dev \
|
libssl-dev libffi-dev libpq-dev libldap2-dev libsasl2-dev \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN curl -sSL -o /tmp/wkhtmltox.deb \
|
|
||||||
"https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb" \
|
|
||||||
&& apt-get update \
|
|
||||||
&& apt-get install -y --no-install-recommends /tmp/wkhtmltox.deb \
|
|
||||||
&& cp -p /usr/local/bin/wkhtmlto* /usr/bin/ || true \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* /tmp/wkhtmltox.deb
|
|
||||||
|
|
||||||
RUN useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
|
RUN useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
|
||||||
|
|
||||||
RUN mkdir -p \
|
RUN mkdir -p \
|
||||||
@@ -44,48 +36,175 @@ RUN mkdir -p \
|
|||||||
/opt/odoo/data/filestore \
|
/opt/odoo/data/filestore \
|
||||||
/opt/odoo/log \
|
/opt/odoo/log \
|
||||||
/etc/odoo \
|
/etc/odoo \
|
||||||
&& chown -R odoo:odoo /opt/odoo /etc/odoo \
|
&& chown -R odoo:odoo /opt/odoo /etc/odoo
|
||||||
&& chmod -R 755 /opt/odoo \
|
|
||||||
&& chmod -R 775 /opt/odoo/data /opt/odoo/log
|
|
||||||
|
|
||||||
WORKDIR /opt/odoo
|
WORKDIR /opt/odoo
|
||||||
|
|
||||||
RUN git clone https://github.com/OCA/OCB.git \
|
RUN git clone https://github.com/OCA/OCB.git \
|
||||||
--depth=1 \
|
--depth=1 --branch=${ODOO_BRANCH} --single-branch \
|
||||||
--branch=${ODOO_BRANCH} \
|
|
||||||
--single-branch \
|
|
||||||
/opt/odoo/18.0
|
/opt/odoo/18.0
|
||||||
|
|
||||||
RUN git clone https://github.com/OCA/l10n-italy.git \
|
RUN set -eux; \
|
||||||
|
for repo in \
|
||||||
|
account-analytic \
|
||||||
|
account-budgeting \
|
||||||
|
account-closing \
|
||||||
|
account-financial-reporting \
|
||||||
|
account-financial-tools \
|
||||||
|
account-fiscal-rule \
|
||||||
|
account-invoice-reporting \
|
||||||
|
account-invoicing \
|
||||||
|
account-payment \
|
||||||
|
account-reconcile \
|
||||||
|
agreement \
|
||||||
|
ai \
|
||||||
|
automation \
|
||||||
|
bank-payment \
|
||||||
|
bank-payment-alternative \
|
||||||
|
bank-statement-import \
|
||||||
|
brand \
|
||||||
|
calendar \
|
||||||
|
commission \
|
||||||
|
community-data-files \
|
||||||
|
connector \
|
||||||
|
connector-interfaces \
|
||||||
|
connector-telephony \
|
||||||
|
contract \
|
||||||
|
credit-control \
|
||||||
|
crm \
|
||||||
|
currency \
|
||||||
|
data-protection \
|
||||||
|
ddmrp \
|
||||||
|
delivery-carrier \
|
||||||
|
dms \
|
||||||
|
donation \
|
||||||
|
e-commerce \
|
||||||
|
edi \
|
||||||
|
edi-framework \
|
||||||
|
edi-voxel \
|
||||||
|
event \
|
||||||
|
field-service \
|
||||||
|
fleet \
|
||||||
|
geospatial \
|
||||||
|
helpdesk \
|
||||||
|
hr \
|
||||||
|
hr-attendance \
|
||||||
|
hr-expense \
|
||||||
|
hr-holidays \
|
||||||
|
interface-github \
|
||||||
|
intrastat-extrastat \
|
||||||
|
iot \
|
||||||
|
knowledge \
|
||||||
|
l10n-belgium \
|
||||||
|
l10n-brazil \
|
||||||
|
l10n-colombia \
|
||||||
|
l10n-ecuador \
|
||||||
|
l10n-finland \
|
||||||
|
l10n-france \
|
||||||
|
l10n-germany \
|
||||||
|
l10n-iran \
|
||||||
|
l10n-italy \
|
||||||
|
l10n-japan \
|
||||||
|
l10n-mexico \
|
||||||
|
l10n-netherlands \
|
||||||
|
l10n-portugal \
|
||||||
|
l10n-romania \
|
||||||
|
l10n-spain \
|
||||||
|
l10n-switzerland \
|
||||||
|
l10n-thailand \
|
||||||
|
l10n-usa \
|
||||||
|
mail \
|
||||||
|
maintenance \
|
||||||
|
management-system \
|
||||||
|
manufacture \
|
||||||
|
manufacture-reporting \
|
||||||
|
margin-analysis \
|
||||||
|
mass-mailing \
|
||||||
|
mis-builder \
|
||||||
|
multi-company \
|
||||||
|
operating-unit \
|
||||||
|
partner-contact \
|
||||||
|
payroll \
|
||||||
|
pms \
|
||||||
|
pos \
|
||||||
|
product-attribute \
|
||||||
|
product-configurator \
|
||||||
|
product-pack \
|
||||||
|
product-variant \
|
||||||
|
project \
|
||||||
|
purchase-reporting \
|
||||||
|
purchase-workflow \
|
||||||
|
queue \
|
||||||
|
repair \
|
||||||
|
reporting-engine \
|
||||||
|
report-print-send \
|
||||||
|
rest-framework \
|
||||||
|
rma \
|
||||||
|
sale-blanket \
|
||||||
|
sale-channel \
|
||||||
|
sale-promotion \
|
||||||
|
sale-reporting \
|
||||||
|
sale-workflow \
|
||||||
|
search-engine \
|
||||||
|
server-auth \
|
||||||
|
server-backend \
|
||||||
|
server-brand \
|
||||||
|
server-env \
|
||||||
|
server-tools \
|
||||||
|
server-ux \
|
||||||
|
shopfloor-app \
|
||||||
|
sign \
|
||||||
|
social \
|
||||||
|
spreadsheet \
|
||||||
|
stock-logistics-availability \
|
||||||
|
stock-logistics-barcode \
|
||||||
|
stock-logistics-interfaces \
|
||||||
|
stock-logistics-orderpoint \
|
||||||
|
stock-logistics-putaway \
|
||||||
|
stock-logistics-release-channel \
|
||||||
|
stock-logistics-reporting \
|
||||||
|
stock-logistics-request \
|
||||||
|
stock-logistics-reservation \
|
||||||
|
stock-logistics-shopfloor \
|
||||||
|
stock-logistics-tracking \
|
||||||
|
stock-logistics-transport \
|
||||||
|
stock-logistics-warehouse \
|
||||||
|
stock-logistics-workflow \
|
||||||
|
storage \
|
||||||
|
survey \
|
||||||
|
timesheet \
|
||||||
|
vertical-association \
|
||||||
|
web \
|
||||||
|
web-api \
|
||||||
|
web-api-contrib \
|
||||||
|
website \
|
||||||
|
; do \
|
||||||
|
git clone https://github.com/OCA/${repo}.git \
|
||||||
--depth=1 \
|
--depth=1 \
|
||||||
--branch=${ODOO_BRANCH} \
|
--branch=${ODOO_BRANCH} \
|
||||||
--single-branch \
|
--single-branch \
|
||||||
/opt/odoo/addons18/OCA/l10n-italy
|
/opt/odoo/addons18/OCA/${repo}; \
|
||||||
|
done
|
||||||
|
|
||||||
RUN git clone https://gitlab.com/PNLUG/Odoo/repository/iso_addons.git \
|
RUN git clone https://gitlab.com/PNLUG/Odoo/repository/iso_addons.git \
|
||||||
--depth=1 \
|
--depth=1 --branch=${ODOO_BRANCH} --single-branch \
|
||||||
--branch=${ODOO_BRANCH} \
|
|
||||||
--single-branch \
|
|
||||||
/opt/odoo/addons18/custom/iso_addons
|
/opt/odoo/addons18/custom/iso_addons
|
||||||
|
|
||||||
RUN python3 -m venv ${VENV_PATH}
|
RUN python3 -m venv ${VENV_PATH}
|
||||||
|
|
||||||
RUN ${VENV_PATH}/bin/pip install --upgrade pip setuptools wheel \
|
RUN ${VENV_PATH}/bin/pip install --upgrade pip setuptools wheel \
|
||||||
&& ${VENV_PATH}/bin/pip install \
|
&& ${VENV_PATH}/bin/pip install \
|
||||||
pypdf \
|
pypdf phonenumbers asn1crypto codicefiscale unidecode psycopg2-binary \
|
||||||
phonenumbers \
|
paramiko==3.5.1 pysftp packaging pyPDF2 cryptography \
|
||||||
asn1crypto \
|
|
||||||
codicefiscale \
|
|
||||||
unidecode \
|
|
||||||
paramiko==3.5.1 \
|
|
||||||
pysftp \
|
|
||||||
packaging \
|
|
||||||
pyPDF2 \
|
|
||||||
cryptography \
|
|
||||||
-r /opt/odoo/18.0/requirements.txt \
|
-r /opt/odoo/18.0/requirements.txt \
|
||||||
-r /opt/odoo/addons18/OCA/l10n-italy/requirements.txt
|
-r /opt/odoo/addons18/OCA/l10n-italy/requirements.txt
|
||||||
|
|
||||||
RUN printf "[options]\n\
|
RUN ADDONS_PATH="/opt/odoo/18.0/addons,/opt/odoo/18.0/odoo/addons"; \
|
||||||
|
for d in /opt/odoo/addons18/OCA/*; do \
|
||||||
|
ADDONS_PATH="${ADDONS_PATH},${d}"; \
|
||||||
|
done; \
|
||||||
|
ADDONS_PATH="${ADDONS_PATH},/opt/odoo/addons18/custom/iso_addons"; \
|
||||||
|
printf "[options]\n\
|
||||||
admin_passwd = ${ADMIN_PASSWD}\n\
|
admin_passwd = ${ADMIN_PASSWD}\n\
|
||||||
db_host = ${DB_HOST}\n\
|
db_host = ${DB_HOST}\n\
|
||||||
db_port = ${DB_PORT}\n\
|
db_port = ${DB_PORT}\n\
|
||||||
@@ -96,9 +215,9 @@ logfile = /opt/odoo/log/odoo.log\n\
|
|||||||
data_dir = /opt/odoo/data\n\
|
data_dir = /opt/odoo/data\n\
|
||||||
proxy_mode = True\n\
|
proxy_mode = True\n\
|
||||||
" > /etc/odoo/odoo18.conf \
|
" > /etc/odoo/odoo18.conf \
|
||||||
&& chown odoo:odoo /etc/odoo/odoo18.conf \
|
&& chown -R odoo:odoo /opt/odoo /etc/odoo \
|
||||||
&& chmod 640 /etc/odoo/odoo18.conf \
|
&& chmod 640 /etc/odoo/odoo18.conf \
|
||||||
&& chown -R odoo:odoo /opt/odoo /etc/odoo
|
&& chmod -R 775 /opt/odoo/data /opt/odoo/log
|
||||||
|
|
||||||
EXPOSE 8069 8072
|
EXPOSE 8069 8072
|
||||||
|
|
||||||
|
|||||||
新增問題並參考
封鎖使用者