version: '3.8' # Version of docker-compose spec
services: # An object that specifies the containers that are used
  # Service #1: Database
  postgres:
    image: postgres
    ports:
      - '5432:5432'
    env_file:
      - ./.env
    volumes:
      - pgdata:/var/lib/postgresql/data
 
  # Service #2: API
  backend:
    build:
      context: ./backend
      dockerfile: be.prod.dockerfile
    ports:
      - '8080:8080'
      - '9090:9090'
    env_file:
      - ./.env
    depends_on: # Describe backend depdendency
      - postgres
 
  frontend:
      # build: ./vite-login-app
    build:
      context: ./frontend
      dockerfile: fe.prod.dockerfile
 
    ports:
      - '3000:80'
    expose:
      - '80'
    depends_on:
      - backend
    stdin_open: true
    tty: true
 
volumes: # Volumes will be shared among services
  pgdata:
  logs: