version: "3.7"

services:
  proxy:
    container_name: proxy
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: "unless-stopped"
    networks:
      - backend

  server:
    container_name: server
    build:
      context: ./
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password
      POSTGRES_HOST: pg
      POSTGRES_PORT: 5432
      POSTGRES_DATABASE: dev
    volumes:
      - ./:/app
      - /app/node_modules
    restart: "unless-stopped"
    networks:
      - backend
    links:
      - pg
    depends_on:
      - pg

  pg:
    container_name: pg
    image: postgres:14.5-alpine
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password
      POSTGRES_DB: dev
    ports:
      - "5432:5432"
    networks:
      - backend

networks:
  backend:
    driver: bridge

volumes:
  data:
    driver: local
