version: "3"
services:
  nginx:
    image: hatiolab/operato-nginx:latest
    ports:
      - ${HostPort}:80
    depends_on:
      - app
  app:
    container_name: datalens
    image: esomedev/datalens:latest
    privileged: true
    volumes:
      - ./logs:/app/logs
      - ./config.production.js:/app/config.production.js
    ports:
      - 4000:3000
    depends_on:
      - postgres
      - mosquitto
      - scheduler
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "3"
  postgres:
    image: postgres:13.2
    container_name: db-datalens
    environment:
      POSTGRES_PASSWORD: abcd1234
      POSTGRES_USER: postgres
      PGDATA: /var/lib/postgresql/data/pgdata
    volumes:
      - ./postgres_data:/var/lib/postgresql/data/pgdata
    ports:
      - "55432:5432"
  mosquitto:
    image: eclipse-mosquitto:1.6.12
    ports:
      - 1883:1883
      - 9001:9001
  scheduler:
    image: hatiolab/schevt-mgr:latest
    container_name: scheduler
    volumes:
      - ./config.yaml:/app/config.yaml
    ports:
      - "9902:9902"
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "3"
