version: "3.9"
services:
  web:
    build: 
      context: .
      dockerfile: Dockerfile.Web
    ports:
      - "8080:80"
    depends_on:
      - database
      - redis
    volumes:
      - "./Selector.Web/appsettings.Production.json:/app/appsettings.Production.json"
    environment:
      DOTNET_ENVIRONMENT: Production

  cli:
    build: 
      context: .
      dockerfile: Dockerfile.CLI
    depends_on:
      - database
      - redis
    volumes:
      - "./Selector.CLI/appsettings.Production.json:/app/appsettings.Production.json"
    environment:
      DOTNET_ENVIRONMENT: Production

  redis:
    image: redis:7
    ports:
      - "6379:6379"
  database:
    image: postgres:14
    ports:
      - "5432:5432"
    env_file: .env # set POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
    volumes:
      - database-data:/var/lib/postgresql/data

volumes:
  database-data: