version: '4'

services:
  dl-gateway:
    image: git.humbingo.org/docker/dailyledger-gateway:sandbox
    container_name: dl-gateway
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile
      

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-gateway
    ports:
      - "8001:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30001
    depends_on:
      - dl-db-gateway

  dl-db-gateway:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-gateway
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-gateway:/var/lib/postgresql/data
    ports:
      - "5433:5432"
  

  dl-invoice:
    image: git.humbingo.org/docker/dailyledger-invoiceservice:sandbox
    container_name: dl-invoice
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-invoice
    ports:
      - "8002:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30002
    depends_on:
      - dl-db-invoice

  dl-db-invoice:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-invoice
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-invoice:/var/lib/postgresql/data
    ports:
      - "5434:5432"
  
  dl-generalledger:
    image: git.humbingo.org/docker/dailyledger-generalledger:sandbox
    container_name: dl-generalledger
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-generalledger
    ports:
      - "8003:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30003
    depends_on:
      - dl-db-generalledger

  dl-db-generalledger:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-generalledger
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-generalledger:/var/lib/postgresql/data
    ports:
      - "5435:5432"

  dl-utils:
    image: git.humbingo.org/docker/dailyledger-utils:sandbox
    container_name: dl-utils
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-utils
    ports:
      - "8004:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30004
    depends_on:
      - dl-db-utils

  dl-db-utils:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-utils
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-utils:/var/lib/postgresql/data
    ports:
      - "5436:5432"
  
  dl-subscription:
    image: git.humbingo.org/docker/dailyledger-subscription:sandbox
    container_name: dl-subscription
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-subscription
    ports:
      - "8005:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30005
    depends_on:
      - dl-db-subscription

  dl-db-subscription:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-subscription
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-subscription:/var/lib/postgresql/data
    ports:
      - "5437:5432"

  ddl-salestax:
    image: git.humbingo.org/docker/dailyledger-salestax:sandbox
    container_name: dl-salestax
    restart: always
    build: 
      context: .
      dockerfile: Dockerfile

    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/dl-salestax
    ports:
      - "8006:8000"
    labels:
      - kompose.service.type=NodePort  # Tell kompose to create LoadBalancer
      - kompose.service.expose=true        # Expose service externally
      - kompose.service.nodeport=30006
    depends_on:
      - dl-db-salestax

  dl-db-salestax:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_USER: humbingo
      POSTGRES_DB: dl-db-salestax
      POSTGRES_PASSWORD: Welcome@1
    volumes:
      - ./dl-db-salestax:/var/lib/postgresql/data
    ports:
      - "5438:5432"