Merge pull request #647 from joe-akeem/master

A Dockerfile
This commit is contained in:
afischerdev 2024-01-17 16:27:18 +01:00 committed by GitHub
commit d2e183c625
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 36 additions and 0 deletions

14
Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM gradle:jdk17-jammy as build
RUN mkdir /tmp/brouter
WORKDIR /tmp/brouter
COPY . .
RUN ./gradlew clean build
FROM openjdk:17.0.1-jdk-slim
COPY --from=build /tmp/brouter/brouter-server/build/libs/brouter-*-all.jar /brouter.jar
COPY --from=build /tmp/brouter/misc/scripts/standalone/server.sh /bin/
COPY --from=build /tmp/brouter/misc/* /profiles2
CMD /bin/server.sh

View file

@ -137,6 +137,28 @@ The API endpoints exposed by this HTTP server are documented in the
[`brouter-server/src/main/java/btools/server/request/ServerHandler.java`](brouter-server/src/main/java/btools/server/request/ServerHandler.java)
file.
## BRouter with Docker
To build the Docker image run (in the project's top level directory):
```
docker build -t brouter .
```
Download the segment files as described in the previous chapter. The folder containing the
segment files can be mounted into the container. Run BRouter as follows:
```
docker run --rm -v ./misc/scripts/segments4:/segments4 brouter
```
This will start brouter with a set of default routing profiles.
If you want to provide your own routing profiles, you can also mount the folder containing the custom profiles:
```
docker run --rm -v ./misc/scripts/segments4:/segments4 -v /path/to/custom/profiles:/profiles2 brouter
```
## Documentation