services:
  db:
    image: postgres:17.0-alpine3.20
    restart: unless-stopped
    command: >
      -c max_wal_size=4GB
    env_file:
      .env
    ports:
      - 5433:5432
    volumes:
      - /opt/nvme_disk/docker_data/code_server/code_projects_data/odoo18_db_data:/var/lib/postgresql/data/

  odoo:
    image: odoo-dev:18
    restart: unless-stopped
    env_file:
      .env
    ports:
      - 5678:5678
      # - 8069:8069
    volumes:
      - /opt/nvme_disk/docker_data/code_server/config/workspace/odoo18/:/opt/odoo/
      - /opt/nvme_disk/docker_data/code_server/config/workspace/odoo18/customaddons/${CUSTOMADDONS_DIR}/odoo.conf:/etc/odoo.conf
      - /opt/nvme_disk/docker_data/code_server/code_projects_data/odoo18_odoo_filestore:/root/.local/share/Odoo/
    depends_on:
      - db
    labels:
      - logging=promtail
      - logging_jobname=containerlogs

  nginx:
    image: nginx:1.27.0-alpine3.19-slim
    restart: unless-stopped
    env_file:
      .env
    ports:
      - 80:80
    volumes:
      - /opt/nvme_disk/docker_data/code_server/config/workspace/odoo18/customaddons/${CUSTOMADDONS_DIR}/nginx.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - odoo

  # swagger:
  #   image: swaggerapi/swagger-ui:v5.13.0
  #   env_file:
  #     .env
  #   ports:
  #     - 8080:8080
  #   depends_on:
  #     - nginx
  #   #volumes:
  #   #   - ./doc:/usr/share/nginx/html/doc
  #   environment:
  #     API_URL: ${API_URL}
