version: '3'

services:
  db:
    image: 'postgres'
    container_name: questionForm_db
    expose:
      - 5432
    env_file:
      - .env
    networks:
      - internal

    volumes:
      - db_data:/var/lib/postgresql/data

  frontend:
    container_name: questionForm_frontend
    build: frontend/
    env_file: .env
    volumes:
      - frontend-build-folder:/frontend/build

  backend:
    container_name: questionForm_backend
    restart: unless-stopped
    build: backend/
    env_file: .env
    expose:
      - $BACKEND_PORT
    ports:
      - 4000:4000
    networks:
      - internal
      - web
    depends_on:
      - db

volumes:
  db_data:
  frontend-build-folder:

networks:
  internal:
    external: false
  web:
    external: true