I’m trying to run ORS via docker. Using v8.1.1
However, I can’t seem to get past the sanity checks.
I have changed permissions of ors-docker to 0:0 to 777
#################
# Container ENV #
#################
✓ CONTAINER_LOG_LEVEL: INFO. Set CONTAINER_LOG_LEVEL=DEBUG for more details.
ⓘ Any config file settings can be overwritten by environment variables.
ⓘ Use 'CONTAINER_LOG_LEVEL=DEBUG' to see the full list of active environment variables for this container.
###########################
# Container sanity checks #
###########################
ⓘ Running container as user root with id 0 and group 0
✗ ORS_HOME: /home/ors is not writable.
✗ Make sure the file permission of /home/ors in your volume mount are set to 0:0.
✗ Under linux the command for a volume would be: sudo chown -R 0:0 /path/to/ors/volume
Exiting.
Here’s the docker-compose.yml
services:
# ----------------- ORS application configuration ------------------- #
openrouteservice:
# Activate the following lines to build the container from the repository
# You have to add --build to the docker compose command to do so
build:
context: ./
container_name: openrouteservice
ports:`Preformatted text`
- "9000:8082" # Expose the ORS API on port 9000
- "9001:9001" # Expose additional port for monitoring (optional)
image: openrouteservice/openrouteservice:v8.1.1
# image: local/openrouteservice:latest
# Advanced option! If you different ids to 0:0 and 1000:1000, you have to rebuild the container with the build args UID,GID.
# The user command is useful if you want easier bind mount access or better security.
#user: "1000:1000" # Run "mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/files ors-docker/graphs ors-docker/logs && sudo chown -R 1000:1000 ors" before starting the container!
volumes: # Mount relative directories. ONLY for local container runtime. To switch to docker managed volumes see 'Docker Volumes configuration' section below.
- ./ors-docker:/home/ors # Mount the ORS application directory (for logs, graphs, elevation_cache, etc.) into its own directory
environment:
REBUILD_GRAPHS: False # Set to True to rebuild graphs on container start.
CONTAINER_LOG_LEVEL: INFO # Log level for the container. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL
# If you don't want the default ors-config.yml you can specify a custom file name, that should match the file in
# your 'config' volume mount.
#ORS_CONFIG_LOCATION: /home/ors/config/my-ors-config.yml # Location of your ORS configuration file in the docker container
# ------------------ JAVA OPTS ------------------ #
# Configure the memory settings for JAVA or pass additional opts
# Fore more available ENV properties see Prepare CATALINA_OPTS and JAVA_OPTS
# in https://github.com/GIScience/openrouteservice/blob/main/docker-entrypoint.sh
XMS: 4g # start RAM assigned to java
XMX: 12g # max RAM assigned to java. Rule of Thumb: <PBF-size> * <profiles> * 2
# Example: 1.5 GB pbf size, two profiles (car and foot-walking)
# -> 1.5 * 2 * 2 = 6. Set xmx to be AT LEAST `-Xmx6g`
ADDITIONAL_JAVA_OPTS: "" # further options you want to pass to the java command
# ----------------- Properties configuration ------------------- #
ors.engine.source_file: /home/ors/oceania.pbf
ors.engine.graphs_root_path: /home/ors/graphs
ors.engine.elevation.cache_path: /home/ors/elevation_cache
ors.engine.profiles.car.enabled: true
ors.engine.profiles.walking.enabled: true