clinical_laboratory/docker-compose.yml
2025-07-13 17:07:59 -06:00

64 lines
2.2 KiB
YAML

services:
# ────────────────────────────────────────────
# PostgreSQL
# ────────────────────────────────────────────
db:
image: postgres:15
container_name: lims_db
environment:
POSTGRES_DB: postgres # BD catálogo
POSTGRES_USER: odoo # rol que usará Odoo
POSTGRES_PASSWORD: supersegura # contraseña del rol
volumes:
- db_data:/var/lib/postgresql/data
restart: unless-stopped
# ────────────────────────────────────────────
# Job de inicialización (se ejecuta una vez)
# ────────────────────────────────────────────
odoo_init:
image: odoo:18.0
depends_on: [db]
volumes:
- ./lims_management:/mnt/extra-addons/lims_management
- ./odoo.conf:/etc/odoo/odoo.conf
- ./init_odoo.py:/app/init_odoo.py
command: ["/usr/bin/python3", "/app/init_odoo.py"]
environment:
HOST: db
PORT: "5432"
USER: odoo
PASSWORD: supersegura
restart: "no"
# ────────────────────────────────────────────
# Odoo (servicio de larga vida)
# ────────────────────────────────────────────
odoo:
image: odoo:18.0
container_name: lims_odoo
depends_on:
db:
condition: service_started
odoo_init:
condition: service_completed_successfully
environment:
HOST: db
PORT: "5432"
USER: odoo
PASSWORD: supersegura
MASTER_PASSWORD: admin123
command: ["/usr/bin/python3", "/app/wait_and_start_odoo.py"]
ports:
- "8069:8069"
volumes:
- ./lims_management:/mnt/extra-addons/lims_management
- ./odoo.conf:/etc/odoo/odoo.conf
- ./wait_and_start_odoo.py:/app/wait_and_start_odoo.py
restart: unless-stopped
volumes:
db_data: {}