Docker setup issue

Beginner here. I got my docker ors instance to successfully query from the default region in Germany, I am following the advanced docker setup guide to change the region where I can get directions in Delaware, USA. However, these instructions make references to a line #- ./your_osm.pbf:/ors-core/data/osm_file.pbf which does not exist in the default docker-compose.yml file.

Below is my current docker-compose.yml file. What can I do to change the region I can query from?

version: '2.4'
services:
  ors-app:
    container_name: ors-app
    ports:
      - "8080:8080"
      - "9001:9001"
    image: openrouteservice/openrouteservice:nightly
    # For versioned images see https://giscience.github.io/openrouteservice/installation/Running-with-Docker.html
    user: "${UID:-0}:${GID:-0}"
    build:
       context: ./
       args:
         OSM_FILE: ./docker/delaware-latest.osm.pbf
    volumes:
      - ./docker/graphs:/home/ors/ors-core/data/graphs
      - ./docker/elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./docker/logs/ors:/home/ors/logs
      - ./docker/logs/tomcat:/home/ors/tomcat/logs
      - ./docker/conf:/home/ors/ors-conf
      - ./docker/data:/home/ors/ors-core/data
    environment:
      - BUILD_GRAPHS=True  # Forces the container to rebuild the graphs, e.g. when PBF is changed
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms1g -Xmx2g"
      - "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
      - ORS_CONFIG=/home/ors/ors-conf/ors-config.json

I believe you should add -./path/to/your/local/file.osm.bf:/home/ors/ors-core/data/osm_file.pbf to volumes.

In your case:

version: '2.4'
services:
  ors-app:
    container_name: ors-app
    ports:
      - "8080:8080"
      - "9001:9001"
    image: openrouteservice/openrouteservice:nightly
    # For versioned images see https://giscience.github.io/openrouteservice/installation/Running-with-Docker.html
    user: "${UID:-0}:${GID:-0}"
    build:
       context: ./
    volumes:
      - ./docker/graphs:/home/ors/ors-core/data/graphs
      - ./docker/elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./docker/logs/ors:/home/ors/logs
      - ./docker/logs/tomcat:/home/ors/tomcat/logs
      - ./docker/conf:/home/ors/ors-conf
      - ./docker/data:/home/ors/ors-core/data
      - ./docker/delaware-latest.osm.pbf:/home/ors/ors-core/data/osm_file.pbf
    environment:
      - BUILD_GRAPHS=True  # Forces the container to rebuild the graphs, e.g. when PBF is changed
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms1g -Xmx2g"
      - "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
      - ORS_CONFIG=/home/ors/ors-conf/ors-config.json

In this case you can remove the args from build. I am not fully sure about this, but here’s the doc:

3 Likes

That worked perfectly. Thanks so much!!

1 Like