Odoo 19.0 ready-to-use container
305
Production-ready Docker image for Odoo 19.0 ERP system, built from source with Docker-optimized configurations.
# Using docker-compose (recommended)
curl -O https://raw.githubusercontent.com/Brave-Full-Stack/odoo/Odoo-19.0-containerized/docker-compose.yml
docker-compose up -d
# Or run standalone
docker run -d \
--name odoo \
-p 8069:8069 \
-e HOST=postgres \
-e USER=odoo \
-e PASSWORD=odoo \
bravejongen/odoo:19.0
admin (change in production!)| Variable | Default | Description |
|---|---|---|
HOST | postgres | PostgreSQL hostname |
USER | odoo | Database username |
PASSWORD | odoo | Database password |
ODOO_ADMIN_PASSWORD | admin | Master password |
| Port | Service |
|---|---|
| 8069 | Odoo Web Interface |
| 8071 | Live Chat/Gevent |
| 8072 | Longpolling |
Mount these volumes for data persistence:
volumes:
- odoo-web-data:/var/lib/odoo
- odoo-logs:/var/log/odoo
- ./addons:/opt/odoo/addons # Custom addons (optional)
Complete setup with PostgreSQL and pgAdmin:
version: '3.8'
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
POSTGRES_DB: postgres
volumes:
- db-data:/var/lib/postgresql/data
odoo:
image: bravejongen/odoo:19.0
depends_on:
- postgres
ports:
- "8069:8069"
environment:
- HOST=postgres
- USER=odoo
- PASSWORD=odoo
volumes:
- odoo-data:/var/lib/odoo
volumes:
db-data:
odoo-data:
Built-in health check endpoint:
curl http://localhost:8069/web/health
Container health status:
docker inspect --format='{{.State.Health.Status}}' odoo
ā ļø Important for Production:
Change default passwords:
environment:
- ODOO_ADMIN_PASSWORD=your-secure-password
- PASSWORD=your-db-password
Disable database manager:
odoo.conf with list_db = FalseUse secrets for sensitive data:
secrets:
- db_password
- admin_password
Enable HTTPS with reverse proxy (nginx/traefik)
bravejongen/odoo:19.0 - Version-tagged image (recommended)bravejongen/odoo:latest - Latest build| Environment | CPU | Memory | Disk |
|---|---|---|---|
| Development | 2 cores | 2 GB | 10 GB |
| Production | 4+ cores | 4+ GB | 20+ GB |
Workers: Set based on CPU cores
Memory Limits: Configure per worker
limit_memory_soft = 2147483648 # 2GB
limit_memory_hard = 2684354560 # 2.5GB
Database Connection Pool:
db_maxconn = 64
# Check PostgreSQL is running
docker-compose ps postgres
# Test connection
docker exec odoo pg_isready -h postgres -U odoo
# Check logs
docker-compose logs odoo
# Restart with fresh state
docker-compose down -v
docker-compose up -d
# Fix volume permissions
docker exec odoo chown -R odoo:odoo /var/lib/odoo
docker exec -it odoo odoo-bin -d mydb -i base --stop-after-init
docker exec -it odoo odoo-bin -d mydb -i sale,purchase,crm --stop-after-init
docker exec -it odoo odoo-bin -d mydb -u all --stop-after-init
docker exec -it odoo bash
This Docker image contains Odoo, which is licensed under LGPL v3.
See: https://github.com/odoo/odoo/blob/19.0/LICENSEā
Maintained by: Brave Full Stack
Last Updated: December 2025
Odoo Version: 19.0
Content type
Image
Digest
sha256:9c7070798ā¦
Size
647.1 MB
Last updated
9 months ago
docker pull bravejongen/odoo