69 строки
2.7 KiB
Docker
69 строки
2.7 KiB
Docker
# syntax=docker/dockerfile:1.9
|
|
# Build: use ./build-container.sh (chiede community/enterprise e passa ODOO_DEB_FILE)
|
|
# Manuale: podman build --build-arg ODOO_DEB_FILE=odoo_19_c.deb -t odoo:19.0-community -f odoo.Containerfile .
|
|
#
|
|
# Installa Odoo dal pacchetto .deb ufficiale (community o enterprise), i pacchetti
|
|
# ufficiali Odoo 19 sono compilati per Ubuntu Noble: da qui la base ubuntu:24.04.
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
# Nome del file .deb (in deb/) da installare, scelto da build-container.sh
|
|
ARG ODOO_DEB_FILE=odoo_19_c.deb
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Durante il build non è attivo alcun init system: impediamo allo script
|
|
# postinst del pacchetto di provare ad avviare il servizio odoo.
|
|
RUN printf '#!/bin/sh\nexit 101\n' > /usr/sbin/policy-rc.d \
|
|
&& chmod +x /usr/sbin/policy-rc.d
|
|
|
|
# Il repository "universe" fornisce molte delle dipendenze python3-* di Odoo
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends software-properties-common \
|
|
&& add-apt-repository -y universe \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# wkhtmltopdf (build Qt patchata) non è incluso nel pacchetto Odoo
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
ca-certificates \
|
|
fontconfig \
|
|
libxrender1 \
|
|
libxext6 \
|
|
xfonts-75dpi \
|
|
xfonts-base \
|
|
&& curl -sSL -o /tmp/wkhtmltox.deb "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb" \
|
|
&& apt-get install -y /tmp/wkhtmltox.deb \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/wkhtmltox.deb
|
|
|
|
# Installazione di Odoo dal pacchetto .deb ufficiale (crea utente/gruppo odoo,
|
|
# /etc/odoo/odoo.conf, /var/lib/odoo, /var/log/odoo e risolve le dipendenze via apt).
|
|
# --no-install-recommends evita di installare un server PostgreSQL locale
|
|
# (il pacchetto lo raccomanda, ma il DB gira in un container separato).
|
|
RUN echo "=== COPIANDO: deb/${ODOO_DEB_FILE} ==="
|
|
|
|
COPY deb/${ODOO_DEB_FILE} /tmp/odoo.deb
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends /tmp/odoo.deb \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/odoo.deb
|
|
|
|
# Directory per gli addons custom (montata come volume)
|
|
RUN mkdir -p /var/lib/odoo/custom_addons \
|
|
&& mkdir -p /var/lib/odoo/.local/share/Odoo/sessions \
|
|
&& mkdir -p /var/lib/odoo/.local/share/Odoo/filestore \
|
|
&& chown -R odoo:odoo /var/lib/odoo \
|
|
&& chmod -R 755 /var/lib/odoo/.local \
|
|
&& chmod 700 /var/lib/odoo/custom_addons \
|
|
&& chmod 700 /var/lib/odoo/.local/share/Odoo/sessions \
|
|
&& chmod 700 /var/lib/odoo/.local/share/Odoo/filestore
|
|
|
|
EXPOSE 8069 8072
|
|
|
|
VOLUME ["/var/lib/odoo/custom_addons"]
|
|
|
|
COPY odoo-entrypoint.sh /odoo-entrypoint.sh
|
|
RUN chmod +x /odoo-entrypoint.sh
|
|
|
|
USER odoo
|
|
ENTRYPOINT ["/odoo-entrypoint.sh"]
|