version: "3.5"
services:
  db:
    container_name: "d4eriver-db"
    build:
      context: ../
      dockerfile: ./docker/Dockerfile.db
    image: "d4e/river_db"
    networks:
      - d4e_river
  server:
    container_name: "d4eriver-artifacts"
    build:
      context: ../
      dockerfile: ./docker/Dockerfile.artifacts
    image: "d4e/river_artifacts"
    networks:
      - d4e_river
    depends_on:
      - db
    volumes:
      - ../artifacts/doc/conf:/opt/d4e/bin/conf
      - mapfiles:/opt/d4e/bin
  mapserv:
    container_name: "d4eriver-mapserv"
    build:
      context: ./
      dockerfile: ./Dockerfile.mapserv
    image: "d4e/river_mapserv"
    networks:
      - d4e_river
    depends_on:
      - db
      - server
    volumes:
      - mapfiles:/opt/d4e/bin
    ports:
      - 8081:80
  wiki:
    container_name: "d4eriver-wiki"
    build:
      context: ./
      dockerfile: ./Dockerfile.wiki
    image: "d4e/river_wiki"
    networks:
      - d4e_river
    ports:
      - 8082:80
  client:
    container_name: "d4eriver-client"
    build:
      context: ../
      dockerfile: ./docker/Dockerfile.gwt-client
    image: "d4e/river_client"
    networks:
      - d4e_river
    depends_on:
      - server
      - mapserv
      - wiki
    volumes:
      - ../:/opt/d4e/river
    ports:
      - 8080:8080
networks:
  d4e_river:
    name: d4e_river
volumes:
  mapfiles:
