metatron-odoo-erpforschools/docker-compose.yml
metatroncubeswdev 85f2b4b11a O0: Docker/Odoo 19 CE scaffolding
docker-compose.yml (postgres 16 + odoo:19.0), odoo.conf, env template,
and setup/backup/update/demo-data scripts. update.sh always backs up
and records the previous image before upgrading modules, per the
lesson paid for on the Frappe track. .gitattributes pins LF on shell
scripts so they don't break under the container's bash on checkout
from Windows.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 06:45:58 -04:00

41 lines
1.0 KiB
YAML

services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB:-postgres}
POSTGRES_USER: ${POSTGRES_USER:-odoo}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme_db_2026}
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-odoo}"]
interval: 5s
timeout: 5s
retries: 20
odoo:
image: odoo:${ODOO_VERSION:-19.0}
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "${HTTP_PORT:-8069}:8069"
- "${LONGPOLLING_PORT:-8072}:8072"
environment:
HOST: db
PORT: 5432
USER: ${POSTGRES_USER:-odoo}
PASSWORD: ${POSTGRES_PASSWORD:-changeme_db_2026}
volumes:
- odoo-data:/var/lib/odoo
- ./addons:/mnt/extra-addons/mc:ro
- ./third_party:/mnt/extra-addons/oca:ro
- ./odoo.conf:/etc/odoo/odoo.conf:ro
command: ["odoo", "-c", "/etc/odoo/odoo.conf"]
volumes:
db-data:
odoo-data: