version: '3.8'

services:
  # Student application
  student:
    build:
      context: .
      dockerfile: apps/student/Dockerfile
    ports:
      - "9000:9000"
    environment:
      - NODE_ENV=production
      - PORT=9000
      - HOSTNAME=0.0.0.0
    # Add your environment variables here
    env_file:
      - docker.env
    restart: unless-stopped
    # healthcheck:
    #   test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9000/api/health"]
    #   interval: 30s
    #   timeout: 10s
    #   retries: 3
    #   start_period: 40s

  # Admin application
  admin:
    build:
      context: .
      dockerfile: apps/admin/Dockerfile
    ports:
      - "9001:9001"
    environment:
      - NODE_ENV=production
      - PORT=9001
      - HOSTNAME=0.0.0.0
    # Add your environment variables here
    env_file:
      - docker.env
    restart: unless-stopped
    # healthcheck:
    #   test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:9001/api/health"]
    #   interval: 30s
    #   timeout: 10s
    #   retries: 3
    #   start_period: 40s

  # Database (if you need one)
  # postgres:
  #   image: postgres:15-alpine
  #   environment:
  #     POSTGRES_DB: nextplacement
  #     POSTGRES_USER: postgres
  #     POSTGRES_PASSWORD: password
  #   volumes:
  #     - postgres_data:/var/lib/postgresql/data
  #   ports:
  #     - "5432:5432"
  #   restart: unless-stopped

# volumes:
#   postgres_data: 