64 lines
2.2 KiB
YAML
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: {}
|