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
      - artifacts-data:/opt/d4e/bin/artifacts-data
    # Uncomment to enable remote debugging from anywhere (caution: security risk!)
    # environment:
    #   - JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8787
    # ports:
    #   - 8787:8787
  mapserv:
    container_name: "d4eriver-mapserv"
    build:
      context: ./
      dockerfile: ./Dockerfile.mapserv
    image: "d4e/river_mapserv"
    networks:
      - d4e_river
    depends_on:
      - db
      - server
    volumes:
      - ./mapserver/cgi-bin:/var/www/cgi-bin
      - ../artifacts/doc/conf/mapserver:/opt/d4e/bin/conf/mapserver
      - artifacts-data:/opt/d4e/bin/artifacts-data
  client:
    container_name: "d4eriver-client"
    build:
      context: ../
      dockerfile: ./docker/Dockerfile.gwt-client
    image: "d4e/river_client"
    networks:
      - d4e_river
    depends_on:
      - server
      - mapserv
    volumes:
      - ../gwt-client/config:/opt/d4e/river/gwt-client/config
  wiki:
    container_name: "d4eriver-wiki"
    build:
      context: ./
      dockerfile: ./Dockerfile.wiki
    image: "d4e/river_wiki"
    networks:
      - d4e_river
    depends_on:
      - client
    volumes:
      - wiki-data:/opt/wiki/moin-1.9.9/wiki/data
      - ./wikiconfig_local.py:/opt/wiki/moin-1.9.9/wikiconfig_local.py
    ports:
      - 8080:80
networks:
  d4e_river:
    name: d4e_river
volumes:
  artifacts-data:
  wiki-data:
