version: "3"
networks:
  node-network:
    driver: bridge
services:
  verdaccio:
    image: verdaccio/verdaccio
    container_name: "verdaccio"
    networks:
      - node-network
    environment:
      - VERDACCIO_PORT=${VERDACCIO_PORT}
    restart: always
    ports:
      - "${VERDACCIO_PORT}:4873"
    # volumes:
      # - "./verdaccio/storage:/verdaccio/storage"
      # - "./verdaccio/config:/verdaccio/conf"
      # - "./verdaccio/plugins:/verdaccio/plugins"
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
    restart: always
    ports:
      - "${DB_MYSQL_PORT}:3306"
    networks:
      - node-network
  postgres:
    image: postgres:10
    restart: always
    ports:
      - "${DB_POSTGRES_PORT}:5432"
    networks:
      - node-network
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: ${DB_USER}
      POSTGRES_DB: ${DB_DATABASE}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
  app:
    build:
      context: .
      dockerfile: Dockerfile
    command: [ "yarn", "start" ]
    ports:
      - "${APP_HTTP_PORT}:${APP_HTTP_PORT}"
      - "${HTTP_PORT}:${HTTP_PORT}"
    networks:
      - node-network