Skip to Content
Odoo Menu
  • Prisijungti
  • Išbandykite nemokamai
  • Programėlės
    Finansai
    • Apskaita
    • Pateikimas apmokėjimui
    • Sąnaudos
    • Skaičiuoklė (BI)
    • Dokumentai
    • Pasirašymas
    Pardavimai
    • CRM
    • Pardavimai
    • Kasų sistema - Parduotuvė
    • Kasų sistema - Restoranas
    • Prenumeratos
    • Nuoma
    Svetainės
    • Svetainių kūrėjimo įrankis
    • El. Prekyba
    • Internetinis Tinklaraštis
    • Forumas
    • Tiesioginis pokalbis
    • eMokymasis
    Tiekimo grandinė
    • Atsarga
    • Gamyba
    • PLM
    • Įsigijimai
    • Priežiūra
    • Kokybė
    Žmogaus ištekliai
    • Darbuotojai
    • Įdarbinimas
    • Atostogos
    • Įvertinimai
    • Rekomendacijos
    • Transporto priemonės
    Rinkodara
    • Socialinė rinkodara
    • Rinkodara el. paštu
    • SMS rinkodara
    • Renginiai
    • Rinkodaros automatizavimas
    • Apklausos
    Paslaugos
    • Projektas
    • Darbo laiko žiniaraščiai
    • Priežiūros tarnyba
    • Pagalbos tarnyba
    • Planavimas
    • Rezervacijos
    Produktyvumas
    • Diskucija
    • Patvirtinimai
    • IoT
    • VoIP
    • Žinių biblioteka
    • WhatsApp
    Trečiųjų šalių programos Odoo Studija Odoo debesijos platforma
  • Pramonės šakos
    Mažmeninė prekyba
    • Knygynas
    • Drabužių parduotuvė
    • Baldų parduotuvė
    • Maisto prekių parduotuvė
    • Techninės įrangos parduotuvė
    • Žaislų parduotuvė
    Food & Hospitality
    • Barai ir pub'ai
    • Restoranas
    • Greitasis maistas
    • Guest House
    • Gėrimų platintojas
    • Hotel
    Nekilnojamasis turtas
    • Real Estate Agency
    • Architektūros įmonė
    • Konstrukcija
    • Estate Managament
    • Sodininkauti
    • Turto savininkų asociacija
    Konsultavimas
    • Accounting Firm
    • Odoo Partneris
    • Marketing Agency
    • Teisinė firma
    • Talentų paieška
    • Auditai & sertifikavimas
    Gamyba
    • Textile
    • Metal
    • Furnitures
    • Maistas
    • Brewery
    • Įmonių dovanos
    Sveikata & Fitnesas
    • Sporto klubas
    • Akinių parduotuvė
    • Fitneso Centras
    • Sveikatos praktikai
    • Vaistinė
    • Kirpėjas
    Trades
    • Handyman
    • IT įranga ir palaikymas
    • Saulės energijos sistemos
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Kiti
    • Nonprofit Organization
    • Aplinkos agentūra
    • Reklaminių stendų nuoma
    • Fotografavimas
    • Dviračių nuoma
    • Programinės įrangos perpardavėjas
    Browse all Industries
  • Bendrija
    Mokykitės
    • Mokomosios medžiagos
    • Dokumentacija
    • Sertifikatai
    • Mokymai
    • Internetinis Tinklaraštis
    • Tinklalaidės
    Skatinkite švietinimą
    • Švietimo programa
    • Scale Up! Verslo žaidimas
    • Aplankykite Odoo
    Gaukite programinę įrangą
    • Atsisiųsti
    • Palyginkite versijas
    • Leidimai
    Bendradarbiauti
    • Github
    • Forumas
    • Renginiai
    • Vertimai
    • Tapkite partneriu
    • Services for Partners
    • Registruokite jūsų apskaitos įmonę
    Gaukite paslaugas
    • Susiraskite partnerį
    • Susirask buhalterį
    • Susitikti su konsultantu
    • Diegimo paslaugos
    • Klientų rekomendavimas
    • Palaikymas
    • Atnaujinimai
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Gaukite demo
  • Kainodara
  • Pagalba

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Apskaita
  • Atsarga
  • PoS
  • Projektas
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
Pagalba

How to Build a Custom Odoo Docker Image from GitHub (Not Using Official Image)?

Prenumeruoti

Get notified when there's activity on this post

This question has been flagged
odoogithubdocker
1 Atsakyti
6314 Rodiniai
Portretas
Subin S R

I want to containerize Odoo on my server by building a custom Docker image directly from the GitHub repository instead of using the official Odoo Docker image. Has anyone done this before? I need guidance on:

  1. Best practices for creating a Dockerfile that clones and sets up Odoo from source.
  2. Handling dependencies (PostgreSQL, Python packages, etc.) properly.
  3. Managing custom addons and configurations in a self-built image.
  4. Any known issues or optimizations for production use.

If you’ve worked on similar projects or know good reference repos (like Doodba, odoocker, or others), please share your approach. Thanks!

0
Portretas
Atmesti
Subin S R
Autorius

Thank you so much for your guidance! I followed your instructions and was able to successfully deploy my custom Odoo Docker setup on my server. Really appreciate your help, it worked perfectly for me!

Portretas
Sergio Infante
Best Answer

Hi Subin

Yeah, I’ve done this a few times — building a custom Docker image for Odoo from source is totally doable and actually gives you more control, especially if you’re integrating custom modules or want to avoid the limitations of the official image.

Here’s a breakdown of best practices from real-world use:

Base Image and Dockerfile Setup:

Start with a slim base (like python:3.10-slim) to keep the image clean and efficient. Clone directly from the Odoo GitHub repo:

FROM python:3.10-slim


ENV LANG C.UTF-8


# System deps

RUN apt-get update && apt-get install -y \

    git build-essential libpq-dev libxml2-dev libxslt1-dev \

    libldap2-dev libsasl2-dev libjpeg-dev zlib1g-dev \

    libjpeg-dev libpng-dev liblcms2-dev libblas-dev libatlas-base-dev \

    libffi-dev libssl-dev libevent-dev \

    && apt-get clean


# Create odoo user

RUN useradd -ms /bin/bash odoo


# Clone Odoo

RUN git clone --depth 1 --branch 18.0 https://github.com/odoo/odoo.git /opt/odoo


WORKDIR /opt/odoo


# Install Python dependencies

COPY requirements.txt /opt/odoo/

RUN pip install -r requirements.txt


# Set permissions

RUN chown -R odoo:odoo /opt/odoo

USER odoo


CMD ["python3", "odoo-bin", "-c", "/etc/odoo/odoo.conf"]

Handle Dependencies

  • Use requirements.txt from the Odoo repo or generate it from setup/.
  • Keep PostgreSQL outside the container — either use Docker Compose or an external DB server. Make sure it’s tuned for Odoo (see previous PostgreSQL answer).
  • For wkhtmltopdf, use the static build (especially in production). Install it manually into the image.

Custom Addons & Config

Best practice is to mount custom addons via a volume or include them in the build:

COPY ./custom-addons /mnt/custom-addons

And make sure addons_path in odoo.conf includes:

addons_path = /opt/odoo/addons,/mnt/custom-addons

You can also use ARGs or ENV vars to toggle between dev/prod config files.

Known Gotchas & Optimizations

  • Don’t install too much into your image. Use multistage builds if needed.
  • Always pin the Git branch/tag to avoid weird surprises after future pushes.
  • Use healthchecks in Docker Compose to restart on failures.
  • Consider using PIP caching or building wheels for faster builds in CI/CD.
  • For production, run behind a reverse proxy (like Nginx) and isolate PostgreSQL.

Great Repos to Explore

  • Doodba (by Tecnativa) – very advanced, for serious DevOps. Uses Docker + git submodules + Makefiles + pre-commit hooks.
  • Odoocker (by yelizariev) – simple and clean, especially good for learning the build process.
  • OCA’s docker-odoo-project – community-driven, focused on modular development.

0
Portretas
Atmesti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Registracija
Related Posts Replies Rodiniai Veikla
How to clear cache after change data_dir path
odoo docker
Portretas
Portretas
1
birž. 25
12238
Unable to update app list in dockerized odoo
odoo docker
Portretas
Portretas
1
lapkr. 22
5074
How to install addon modules using Odoo doodba
odoo docker
Portretas
Portretas
1
lapkr. 20
7241
ERROR: couldn't create the logfile directory. Logging to the standard output.
odoo docker
Portretas
Portretas
6
birž. 20
24065
Odoo Docker Setup - How To?
ubuntu odoo docker
Portretas
Portretas
2
gruod. 24
18035
Bendrija
  • Mokomosios medžiagos
  • Dokumentacija
  • Forumas
Atvirasis kodas
  • Atsisiųsti
  • Github
  • Runbot
  • Vertimai
Paslaugos
  • Odoo.sh talpinimas
  • Palaikymas
  • Atnaujinti
  • Pritaikytas programavimo kūrimas
  • Švietimas
  • Susirask buhalterį
  • Susiraskite partnerį
  • Tapkite partneriu
Apie mus
  • Mūsų įmonė
  • Prekės ženklo turtas
  • Susisiekite su mumis
  • Darbo pasiūlymai
  • Renginiai
  • Tinklalaidės
  • Internetinis Tinklaraštis
  • Klientai
  • Teisinis • Privatumas
  • Saugumas
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo yra atvirojo kodo verslo programų rinkinys, kuris apima visas įmonės poreikius: CRM, El. Prekybą, Apskaitą, Atsargų, Kasų sistemą, Projektų valdymą ir kt.

Unikali Odoo vertės pasiūla – būti tuo pačiu metu labai lengvai naudojama ir visiškai integruota sistema.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now