version: "3"
services:
  app:
    build:
      context: .
      dockerfile: ./docker/App.Dockerfile
    container_name: app
    volumes:
      - ./:/var/www/app:cached
      - /var/www/app/node_modules # anonymous volume for node_modules only
    restart: always
    ports:
      - 3000:3000
    depends_on:
      - postgres
      - redis
    links:
      - postgres
      - redis

  postgres:
    container_name: postgres
    image: postgres:latest
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5432:5432"
    volumes:
      - /data/postgres:/data/postgres

  redis:
    image: redis:6
    restart: always
    ports:
      - "6379:6379"
