IsraelHikingMap/graphhopper-docker-image-push

There's no way to run the container on data that was generated

HarelM opened this issue · 3 comments

I would like to use the following command line to run the container with pre-processed data:

...
entrypoint: ./graphhopper.sh --host 0.0.0.0 -o /data/default-gh/ -c /data/gh-config.yml
...

This will currently fail with: No file or url were specified.
Basically the test needs to be better defined by checking file and graph settings, and maybe action? IDK...

There's currently a workaround of setting an non-existing input file.

I think this check is unnecessary. The --input flag should be optional, especially since the OSM data file can be defined as datareader.file in the config file. Graphhopper itself will issue an error if it needs to read the OSM data file and its location was not given in either way.

Feel free to send a PR fixing it in the .sh file.
I'm not very good with bash scripts...

I'd like to expand this issue a bit.

As a user I would like to be able to bootstrap a graphhopper using the following commands:

docker run --rm israelhikingmap/graphhopper --import --url https://download.geofabrik.de/europe/andorra-latest.osm.pbf
docker run --detach -p 8989:8989 israelhikingmap/graphhopper

I'm OK with a requirement that if --input was given in the --import run, it will need to be specified in the following non-import run. For example:

docker run --rm israelhikingmap/graphhopper --import --input andorra-latest.osm.pbf
# or even
# docker run --rm israelhikingmap/graphhopper --import --url https://download.geofabrik.de/europe/andorra-latest.osm.pbf \
#    --input andorra-latest.osm.pbf
docker run --detach -p 8989:8989 israelhikingmap/graphhopper --input andorra-latest.osm.pbf

This is needed in order to locate the graph cache, which is traditionally based in the input file name specified to graphhopper.sh.

@HarelM ,
What do you think?