version: '3'

services:
  postgres:
    image: postgres
    container_name: postgres
    ports:
      - 5432:5432
    env_file: .env
    volumes:
      - ./scripts/database/initialize.sql:/docker-entrypoint-initdb.d/initialize.sql
      - pgdata:/var/lib/postgresql/data

  server:
    # Production
    # image: amruthpillai/reactive-resume:server-latest

    # Development
    build:
      context: .
      dockerfile: server/Dockerfile
    container_name: server
    env_file: .env
    environment:
      - PUBLIC_URL=http://client:3000
      - POSTGRES_HOST=postgres
    ports:
      - 3100:3100
    depends_on:
      - postgres

  client:
    # Production
    # image: amruthpillai/reactive-resume:client-latest

    # Development
    build:
      context: .
      dockerfile: client/Dockerfile
    container_name: client
    env_file: .env
    environment:
      - PUBLIC_SERVER_URL=http://server:3100
    ports:
      - 3000:3000
    depends_on:
      - server

volumes:
  pgdata:
