version: "3.8"

services:
  database-init:
    volumes:
      - ../api/src:/app/src
      - ../api/migrations:/app/migrations
      # - ../api/node_modules:/app/node_modules

  api:
    ports:
      - ${API_PORT}:3000
      - 9229:9229 # vscode debug port
    volumes:
      - ../api/src:/app/src
      - ../api/migrations:/app/migrations
      #- ../api/node_modules:/app/node_modules
    command: ["npm", "run", "start:debug"]

  smtp4dev:
    image: rnwood/smtp4dev:v3
    restart: always
    ports:
      - ${APP_SMTP_4_DEV_PORT}:80
      - "25:25"
      - "143:143"
    volumes:
      - smtp4dev-data:/smtp4dev
    environment:
      - ServerOptions__HostName=smtp4dev
      - ServerOptions__LockSettings=true
    networks:
      - db-network

  mongo-express:
    container_name: mongoUi
    image: mongo-express:1-20
    restart: always
    ports:
      - ${APP_MONGO_EXPRESS_PORT}:8081
    networks:
      - db-network
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGO_USER}
      ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_PASSWORD}
      ME_CONFIG_MONGODB_URL: ${MONGO_URI}

  widget:
    build:
      target: development
    volumes:
      - ../widget/src:/app/src
    ports:
      - ${APP_WIDGET_PORT}:5173

volumes:
  smtp4dev-data: