Files
bdi_podman_serverconf/Services/odoo/odoo.ContainerFile

95 wiersze
2.6 KiB
Plaintext
Czysty Zwykły widok Historia

2026-02-28 22:28:37 +01:00
# syntax=docker/dockerfile:1.9
# Build: podman build -t odoo:19-amd64 -f odoo.ContainerFile .
# Export: podman save -o /home/badstorm/odoo-19-amd64.tar localhost/odoo:19-amd64
# Podman Containerfile for Odoo 19
# Use Debian Trixie as base
FROM debian:13-slim
# Avoid interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
python3 \
python3-dev \
python3-venv \
libxml2-dev \
libxslt1-dev \
libjpeg-dev \
libpng-dev \
libopenjp2-7-dev \
libtiff-dev \
build-essential \
libssl-dev \
libffi-dev \
libpq-dev \
postgresql-client \
libldap2-dev \
libsasl2-dev \
curl \
&& rm -rf /var/lib/apt/lists/*
# Install wkhtmltopdf
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 /tmp/wkhtmltox.deb \
&& rm -rf /var/lib/apt/lists/* /tmp/wkhtmltox.deb
# Create odoo user
RUN useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
# Create necessary directories
RUN mkdir -p /opt/odoo/custom_addons \
&& mkdir -p /opt/odoo/data \
&& mkdir -p /opt/odoo/data/filestore \
&& mkdir -p /opt/odoo/log \
&& chown -R odoo:odoo /opt/odoo \
&& chown -R odoo:odoo /opt/odoo/log \
&& chmod -R 755 /opt/odoo \
&& chmod -R 775 /opt/odoo/data \
&& chmod -R 775 /opt/odoo/log
# Clone Odoo repository
WORKDIR /opt/odoo
RUN git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 odoo-server
# Create virtual environment
RUN python3 -m venv venv
# Install Python dependencies
RUN /opt/odoo/venv/bin/pip install --upgrade pip \
&& /opt/odoo/venv/bin/pip install -r /opt/odoo/odoo-server/requirements.txt \
&& /opt/odoo/venv/bin/pip install phonenumbers
# Create Odoo config directory in /opt/odoo (writable by odoo user)
RUN mkdir -p /opt/odoo \
&& touch /opt/odoo/odoo.conf \
&& chown odoo:odoo /opt/odoo/odoo.conf \
&& chmod 640 /opt/odoo/odoo.conf
# Environment variables for database configuration
ENV DB_HOST=postgres
ENV DB_PORT=5432
ENV DB_USER=odoo
ENV DB_NAME=mydb
ENV DB_PASSWORD=odoo
ENV ADMIN_PASSWD=my_admin_password
# Expose Odoo ports
EXPOSE 8069 8072
# Volume for custom addons
VOLUME ["/opt/odoo/custom_addons"]
# Set working directory
WORKDIR /opt/odoo/odoo-server
# Copy entrypoint script and admin creation script
COPY odoo-entrypoint.sh /odoo-entrypoint.sh
RUN chmod +x /odoo-entrypoint.sh
# Start Odoo
USER odoo
ENTRYPOINT ["/odoo-entrypoint.sh"]