Initial commit
This commit is contained in:
commit
1bf8b18af9
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM openjdk:8-jre
|
||||||
|
|
||||||
|
# Install pbzip2 for parallel extraction
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
pbzip2 \
|
||||||
|
wget \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /photon
|
||||||
|
ADD http://photon.komoot.de/data/photon-0.2.7.jar /photon/photon.jar
|
||||||
|
COPY entrypoint.sh ./entrypoint.sh
|
||||||
|
|
||||||
|
VOLUME /photon/photon_data
|
||||||
|
EXPOSE 2322
|
||||||
|
|
||||||
|
ENTRYPOINT /photon/entrypoint.sh
|
48
README.md
Normal file
48
README.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
[](https://github.com/thomasnordquist/photon-docker/issues) [](https://github.com/thomasnordquist/photon-docker/stargazers) [](https://github.com/thomasnordquist/photon-docker/network)
|
||||||
|
|
||||||
|
Have your own geocoder up and running within the hour, you will require about 60GB of disk space.
|
||||||
|
|
||||||
|
Feel free to fork and improve
|
||||||
|
|
||||||
|
# Run
|
||||||
|
|
||||||
|
The image itself is pretty small, the first time the container is executed, a 30GB searchindex will be downloaded.
|
||||||
|
The data volume is exposed as `/photon/photon_data` and can be mounted, this way you'll only have to download the data once.
|
||||||
|
|
||||||
|
## With `docker run`
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -p 2322:2322 -it thomasnordquist/photon-geocoder:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Build and run from git
|
||||||
|
https://github.com/thomasnordquist/photon-docker
|
||||||
|
|
||||||
|
### With docker-compose
|
||||||
|
```
|
||||||
|
docker-compose build
|
||||||
|
docker-compose up
|
||||||
|
```
|
||||||
|
*Note: if you abort the download, you have to remove the volume `photon_data` before restarting the container*
|
||||||
|
|
||||||
|
|
||||||
|
### Without docker-compose
|
||||||
|
```
|
||||||
|
docker build --tag thomasnordquist/photon-geocoder:latest .
|
||||||
|
docker run -p 2322:2322 -it thomasnordquist/photon-geocoder:latest
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
- How do I pass arguments to the `photon.jar` ?
|
||||||
|
|
||||||
|
*The entrypoint accepts arguments for the `photon.jar`, you can invoke it by using `docker exec`*
|
||||||
|
- Do I need to have nominatim ?
|
||||||
|
|
||||||
|
*The container downloads the latest prebuilt search index, there is no immediate need to have nominatim installed.*
|
||||||
|
|
||||||
|
- What is photon ?
|
||||||
|
|
||||||
|
*photon is a geocoder, check out ***[their website](https://photon.komoot.de/)*** and their ***[github repository](https://github.com/komoot/photon)****
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
photon:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
image: thomasnordquist/photon-geocoder:latest
|
||||||
|
volumes:
|
||||||
|
- data:/photon/photon_data
|
||||||
|
ports:
|
||||||
|
- 2322:2322
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data:
|
||||||
|
driver: local
|
15
entrypoint.sh
Executable file
15
entrypoint.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Download elasticsearch index
|
||||||
|
if [ ! -d "/photon/photon_data/elasticsearch" ]; then
|
||||||
|
echo "Downloading search index"
|
||||||
|
wget -O - http://download1.graphhopper.com/public/photon-db-latest.tar.bz2 | bzip2 -cd | tar x
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start photon if elastic index exists
|
||||||
|
if [ -d "/photon/photon_data/elasticsearch" ]; then
|
||||||
|
echo "Start photon"
|
||||||
|
java -jar photon.jar $@
|
||||||
|
else
|
||||||
|
echo "Could not start photon, the search index could not be found"
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user