Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Artificial Intelligence
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

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

Subscribe

Get notified when there's activity on this post

This question has been flagged
odoogithubdocker
1 Reply
9116 Views
Avatar
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
Avatar
Discard
Subin S R
Author

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!

Avatar
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
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

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

Sign up
Related Posts Replies Views Activity
[Odoo:19] odoo:latest on docker is not up to date with source code on github Solved
odoo github docker
Avatar
Avatar
Avatar
2
Jan 26
2401
How to clear cache after change data_dir path
odoo docker
Avatar
Avatar
1
Jun 25
14114
Unable to update app list in dockerized odoo
odoo docker
Avatar
Avatar
1
Nov 22
6451
How to install addon modules using Odoo doodba
odoo docker
Avatar
Avatar
1
Nov 20
8809
ERROR: couldn't create the logfile directory. Logging to the standard output.
odoo docker
Avatar
Avatar
6
Jun 20
25941
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

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