devcontainer for odoo
572
This is an empty dev container for use in PyCharm 2024+.
Install the odoo from sources follow this manual What is https://www.odoo.com/documentation/16.0/administration/install/source.html
{
"name": "Odoo 16.0 & Postgres",
"dockerComposeFile": "docker-compose.yml",
"service": "odoo",
"workspaceFolder": "/opt/odoo/base/odoo-16.0",
"forwardPorts": ["db:5432", "odoo-16:8069", "odoo-16:8071", odoo-16:8072"],
// "postCreateCommand": "pip3 install --user -r requirements.txt",
// Configure tool-specific properties.
"customizations" : {
"jetbrains" : {
"backend" : "PyCharm"
}
},
"remoteUser": "root",
"containerUser": "odoo",
}
version: '3.8'
services:
odoo:
container_name: odoo-16
image: vladimirovrosen/devcontainer-odoo:16.0
volumes:
- /opt/odoo-sa/odoo-16.0:/opt/odoo/ee/odoo-16.0
- /opt/oca/odoo-16.0:/opt/odoo/oca/odoo-16.0
- /opt/odoo/rv/odoo-16.0:/opt/odoo/rv/odoo-16.0:cached
- odoo-data:/var/lib/odoo
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
# network_mode: service:db
# Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
# (Adding the "ports" property to this file will not forward from a Codespace.)
ports:
- "8069:8069"
- "8071:8071"
- "8072:8072"
db:
image: postgres:latest
restart: unless-stopped
container_name: db
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
# Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally.
# (Adding the "ports" property to this file will not forward from a Codespace.)
# ports:
# - "5432:5432"
volumes:
postgres-data:
odoo-data:
FROM mcr.microsoft.com/devcontainers/python:1-3.11-bullseye
ENV PYTHONUNBUFFERED 1
# Odoo configuration envarement
ENV PATH "${PATH}:/opt/odoo/base/odoo-16.0"
ENV ODOO_CONFIGURATION_FILE=/etc/odoo/odoo.conf
ENV ODOO_GROUP="odoo"
ENV ODOO_DATA_DIR=/var/lib/odoo
ENV ODOO_LOG_DIR=/var/log/odoo
ENV ODOO_USER="odoo"
ENV GSFONTS_DIR=/usr/share/fonts/type1/gsfonts
MAINTAINER Rosen Vladimirov <[email protected]>
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
# Generate locale C.UTF-8 for postgres and general locale data
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8
# Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
dirmngr \
fonts-noto-cjk \
gnupg \
libssl-dev \
node-less \
npm \
git \
gsfonts \
fonts-dejavu-core \
fonts-freefont-ttf \
fonts-freefont-otf \
fonts-noto-core \
fonts-inconsolata \
fonts-font-awesome \
fonts-roboto-unhinted \
adduser \
python-dev \
libldap2-dev \
libsasl2-dev \
python3-magic \
python3-odf \
python3-pdfminer \
python3-pip \
python3-phonenumbers \
python3-pyldap \
python3-qrcode \
python3-setuptools \
python3-slugify \
python3-watchdog \
python3-xlwt \
python3-pypdf2 \
python3-babel \
python3-chardet \
python3-dateutil \
python3-decorator \
python3-freezegun \
python3-geoip2 \
python3-pil \
python3-jinja2 \
python3-libsass \
python3-lxml \
python3-num2words \
python3-ofxparse \
python3-passlib \
python3-polib \
python3-psutil \
python3-psycopg2 \
python3-pydot \
python3-openssl \
python3-pypdf2 \
python3-rjsmin \
python3-qrcode \
python3-renderpm \
python3-reportlab \
python3-requests \
python3-stdnum \
python3-tz \
python3-vobject \
python3-werkzeug \
python3-xlsxwriter \
python3-xlrd \
python3-zeep \
xz-utils
RUN curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bullseye_amd64.deb \
&& echo 9df8dd7b1e99782f1cfa19aca665969bbd9cc159 wkhtmltox.deb | sha1sum -c - \
&& apt-get install -y --no-install-recommends ./wkhtmltox.deb \
&& rm -rf /var/lib/apt/lists/* wkhtmltox.deb
# install latest postgresql-client
RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main' > /etc/apt/sources.list.d/pgdg.list \
&& GNUPGHOME="$(mktemp -d)" \
&& export GNUPGHOME \
&& repokey='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8' \
&& gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${repokey}" \
&& gpg --batch --armor --export "${repokey}" > /etc/apt/trusted.gpg.d/pgdg.gpg.asc \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& apt-get update \
&& apt-get install --no-install-recommends -y postgresql-client \
&& rm -f /etc/apt/sources.list.d/pgdg.list \
&& rm -rf /var/lib/apt/lists/*
# Install rtlcss (on Debian buster)
RUN npm install -g rtlcss
RUN adduser --disabled-password --shell /bin/bash odoo \
&& mkdir -p /opt/odoo/base/odoo-16.0 \
&& mkdir -p /opt/odoo/ee/odoo-16.0 \
&& mkdir -p /opt/odoo/oca/odoo-16.0 \
&& mkdir -p /opt/odoo/rv/odoo-16.0 \
&& mkdir -p /mnt/extra-addons \
&& mkdir -p /var/lib/odoo/{addons,filestore,sessions} \
&& mkdir -p /var/log/odoo
# && git clone -b 16.0 --single-branch https://github.com/odoo/odoo.git /opt/odoo/base/odoo-16.0
# Copy entrypoint script and Odoo configuration file
COPY ./etc/odoo.conf /etc/odoo/
COPY ./bin/entrypoint.sh /opt/odoo/base/odoo-16.0/
COPY ./bin/wait-for-psql.py /usr/bin
RUN chmod +x /opt/odoo/base/odoo-16.0/entrypoint.sh \
&& chmod +x /usr/bin/wait-for-psql.py \
&& chown -R odoo:odoo /var/lib/odoo \
&& chown -R odoo:odoo /var/log/odoo \
&& usermod odoo --home /var/lib/odoo
# && pip3 install -r /opt/odoo/base/odoo-16.0/requirements.txt
VOLUME ["/var/lib/odoo"]
# Expose Odoo services
EXPOSE 8069 8071 8072
# Set default user when running the container
USER odoo
WORKDIR /opt/odoo/base/odoo-16.0
#ENTRYPOINT ["entrypoint.sh"]
#CMD ["odoo-bin"]
#ENTRYPOINT ["python3"]
#CMD ["/opt/odoo/base/odoo-16.0/odoo-bin", "-c", "/etc/odoo/odoo.conf"]
Content type
Image
Digest
sha256:65aa89678…
Size
923.3 MB
Last updated
about 1 year ago
docker pull vladimirovrosen/devcontainer-odoo:18.0