switch to 14
This commit is contained in:
parent
24406e8a6a
commit
26915fd4dc
@ -11,8 +11,8 @@ before_script:
|
|||||||
script:
|
script:
|
||||||
- docker build --pull --cache-from overv/openstreetmap-tile-server --tag overv/openstreetmap-tile-server .
|
- docker build --pull --cache-from overv/openstreetmap-tile-server --tag overv/openstreetmap-tile-server .
|
||||||
- docker volume create openstreetmap-data
|
- docker volume create openstreetmap-data
|
||||||
- docker run --rm -v openstreetmap-data:/var/lib/postgresql/12/main overv/openstreetmap-tile-server import
|
- docker run --rm -v openstreetmap-data:/var/lib/postgresql/14/main overv/openstreetmap-tile-server import
|
||||||
- docker run --rm -v openstreetmap-data:/var/lib/postgresql/12/main -p 8080:80 -d overv/openstreetmap-tile-server run
|
- docker run --rm -v openstreetmap-data:/var/lib/postgresql/14/main -p 8080:80 -d overv/openstreetmap-tile-server run
|
||||||
- sleep 30
|
- sleep 30
|
||||||
- make DOCKER_IMAGE=overv/openstreetmap-tile-server stop
|
- make DOCKER_IMAGE=overv/openstreetmap-tile-server stop
|
||||||
after_script:
|
after_script:
|
||||||
|
|||||||
18
Dockerfile
18
Dockerfile
@ -6,6 +6,7 @@ RUN apt-get update \
|
|||||||
git-core \
|
git-core \
|
||||||
checkinstall \
|
checkinstall \
|
||||||
g++ \
|
g++ \
|
||||||
|
gnupg2 \
|
||||||
make \
|
make \
|
||||||
tar \
|
tar \
|
||||||
wget \
|
wget \
|
||||||
@ -14,8 +15,11 @@ RUN apt-get update \
|
|||||||
###########################################################################################################
|
###########################################################################################################
|
||||||
|
|
||||||
FROM compiler-common AS compiler-postgis
|
FROM compiler-common AS compiler-postgis
|
||||||
RUN apt-get install -y --no-install-recommends \
|
RUN echo "deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
||||||
postgresql-server-dev-12 \
|
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
postgresql-server-dev-14 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libgeos-dev \
|
libgeos-dev \
|
||||||
libproj-dev
|
libproj-dev
|
||||||
@ -120,7 +124,7 @@ RUN apt-get update \
|
|||||||
mapnik-utils \
|
mapnik-utils \
|
||||||
osmium-tool \
|
osmium-tool \
|
||||||
osmosis \
|
osmosis \
|
||||||
postgresql-12 \
|
postgresql-14 \
|
||||||
python-is-python3 \
|
python-is-python3 \
|
||||||
python3-mapnik \
|
python3-mapnik \
|
||||||
python3-lxml \
|
python3-lxml \
|
||||||
@ -166,11 +170,11 @@ RUN mkdir /nodes \
|
|||||||
&& chown renderer:renderer /nodes
|
&& chown renderer:renderer /nodes
|
||||||
|
|
||||||
# Configure PosgtreSQL
|
# Configure PosgtreSQL
|
||||||
COPY postgresql.custom.conf.tmpl /etc/postgresql/12/main/
|
COPY postgresql.custom.conf.tmpl /etc/postgresql/14/main/
|
||||||
RUN chown -R postgres:postgres /var/lib/postgresql \
|
RUN chown -R postgres:postgres /var/lib/postgresql \
|
||||||
&& chown postgres:postgres /etc/postgresql/12/main/postgresql.custom.conf.tmpl \
|
&& chown postgres:postgres /etc/postgresql/14/main/postgresql.custom.conf.tmpl \
|
||||||
&& echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/12/main/pg_hba.conf \
|
&& echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/14/main/pg_hba.conf \
|
||||||
&& echo "host all all ::/0 md5" >> /etc/postgresql/12/main/pg_hba.conf
|
&& echo "host all all ::/0 md5" >> /etc/postgresql/14/main/pg_hba.conf
|
||||||
|
|
||||||
###########################################################################################################
|
###########################################################################################################
|
||||||
|
|
||||||
|
|||||||
4
Makefile
4
Makefile
@ -10,8 +10,8 @@ push: build
|
|||||||
|
|
||||||
test: build
|
test: build
|
||||||
docker volume create openstreetmap-data
|
docker volume create openstreetmap-data
|
||||||
docker run --rm -v openstreetmap-data:/var/lib/postgresql/12/main ${DOCKER_IMAGE} import
|
docker run --rm -v openstreetmap-data:/var/lib/postgresql/14/main ${DOCKER_IMAGE} import
|
||||||
docker run --rm -v openstreetmap-data:/var/lib/postgresql/12/main -p 8080:80 -d ${DOCKER_IMAGE} run
|
docker run --rm -v openstreetmap-data:/var/lib/postgresql/14/main -p 8080:80 -d ${DOCKER_IMAGE} run
|
||||||
|
|
||||||
stop:
|
stop:
|
||||||
docker rm -f `docker ps | grep '${DOCKER_IMAGE}' | awk '{ print $$1 }'` || true
|
docker rm -f `docker ps | grep '${DOCKER_IMAGE}' | awk '{ print $$1 }'` || true
|
||||||
|
|||||||
28
README.md
28
README.md
@ -15,7 +15,7 @@ Next, download an .osm.pbf extract from geofabrik.de for the region that you're
|
|||||||
```
|
```
|
||||||
docker run \
|
docker run \
|
||||||
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
overv/openstreetmap-tile-server \
|
overv/openstreetmap-tile-server \
|
||||||
import
|
import
|
||||||
```
|
```
|
||||||
@ -31,7 +31,7 @@ docker run \
|
|||||||
-e UPDATES=enabled \
|
-e UPDATES=enabled \
|
||||||
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
||||||
-v /absolute/path/to/luxembourg.poly:/data.poly \
|
-v /absolute/path/to/luxembourg.poly:/data.poly \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
overv/openstreetmap-tile-server \
|
overv/openstreetmap-tile-server \
|
||||||
import
|
import
|
||||||
```
|
```
|
||||||
@ -46,7 +46,7 @@ It is also possible to let the container download files for you rather than moun
|
|||||||
docker run \
|
docker run \
|
||||||
-e DOWNLOAD_PBF=https://download.geofabrik.de/europe/luxembourg-latest.osm.pbf \
|
-e DOWNLOAD_PBF=https://download.geofabrik.de/europe/luxembourg-latest.osm.pbf \
|
||||||
-e DOWNLOAD_POLY=https://download.geofabrik.de/europe/luxembourg.poly \
|
-e DOWNLOAD_POLY=https://download.geofabrik.de/europe/luxembourg.poly \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
overv/openstreetmap-tile-server \
|
overv/openstreetmap-tile-server \
|
||||||
import
|
import
|
||||||
```
|
```
|
||||||
@ -58,7 +58,7 @@ Run the server like this:
|
|||||||
```
|
```
|
||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -77,7 +77,7 @@ Tiles that have already been rendered will be stored in `/var/lib/mod_tile`. To
|
|||||||
docker volume create openstreetmap-rendered-tiles
|
docker volume create openstreetmap-rendered-tiles
|
||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-v openstreetmap-rendered-tiles:/var/lib/mod_tile \
|
-v openstreetmap-rendered-tiles:/var/lib/mod_tile \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
@ -93,7 +93,7 @@ Given that you've set up your import as described in the *Automatic updates* sec
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-e UPDATES=enabled \
|
-e UPDATES=enabled \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-v openstreetmap-rendered-tiles:/var/lib/mod_tile \
|
-v openstreetmap-rendered-tiles:/var/lib/mod_tile \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
@ -108,7 +108,7 @@ To enable the `Access-Control-Allow-Origin` header to be able to retrieve tiles
|
|||||||
```
|
```
|
||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-e ALLOW_CORS=enabled \
|
-e ALLOW_CORS=enabled \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
@ -122,7 +122,7 @@ To connect to the PostgreSQL database inside the container, make sure to expose
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-p 5432:5432 \
|
-p 5432:5432 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -140,7 +140,7 @@ docker run \
|
|||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-p 5432:5432 \
|
-p 5432:5432 \
|
||||||
-e PGPASSWORD=secret \
|
-e PGPASSWORD=secret \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -156,7 +156,7 @@ The import and tile serving processes use 4 threads by default, but this number
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-e THREADS=24 \
|
-e THREADS=24 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -168,7 +168,7 @@ The import and tile serving processes use 800 MB RAM cache by default, but this
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-e "OSM2PGSQL_EXTRA_ARGS=-C 4096" \
|
-e "OSM2PGSQL_EXTRA_ARGS=-C 4096" \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -180,7 +180,7 @@ The database use the autovacuum feature by default. This behavior can be changed
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-e AUTOVACUUM=off \
|
-e AUTOVACUUM=off \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
```
|
```
|
||||||
@ -193,7 +193,7 @@ If you are planning to import the entire planet or you are running into memory e
|
|||||||
docker run \
|
docker run \
|
||||||
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
-v /absolute/path/to/luxembourg.osm.pbf:/data.osm.pbf \
|
||||||
-v openstreetmap-nodes:/nodes \
|
-v openstreetmap-nodes:/nodes \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
-e "OSM2PGSQL_EXTRA_ARGS=--flat-nodes /nodes/flat_nodes.bin" \
|
-e "OSM2PGSQL_EXTRA_ARGS=--flat-nodes /nodes/flat_nodes.bin" \
|
||||||
overv/openstreetmap-tile-server \
|
overv/openstreetmap-tile-server \
|
||||||
import
|
import
|
||||||
@ -218,7 +218,7 @@ To raise it use `--shm-size` parameter. For example:
|
|||||||
```
|
```
|
||||||
docker run \
|
docker run \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-v openstreetmap-data:/var/lib/postgresql/12/main \
|
-v openstreetmap-data:/var/lib/postgresql/14/main \
|
||||||
--shm-size="192m" \
|
--shm-size="192m" \
|
||||||
-d overv/openstreetmap-tile-server \
|
-d overv/openstreetmap-tile-server \
|
||||||
run
|
run
|
||||||
|
|||||||
@ -4,7 +4,7 @@ services:
|
|||||||
map:
|
map:
|
||||||
image: overv/openstreetmap-tile-server
|
image: overv/openstreetmap-tile-server
|
||||||
volumes:
|
volumes:
|
||||||
- openstreetmap-data:/var/lib/postgresql/12/main
|
- openstreetmap-data:/var/lib/postgresql/14/main
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
command: "run"
|
command: "run"
|
||||||
|
|||||||
10
run.sh
10
run.sh
@ -3,9 +3,9 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
function createPostgresConfig() {
|
function createPostgresConfig() {
|
||||||
cp /etc/postgresql/12/main/postgresql.custom.conf.tmpl /etc/postgresql/12/main/conf.d/postgresql.custom.conf
|
cp /etc/postgresql/14/main/postgresql.custom.conf.tmpl /etc/postgresql/14/main/conf.d/postgresql.custom.conf
|
||||||
sudo -u postgres echo "autovacuum = $AUTOVACUUM" >> /etc/postgresql/12/main/conf.d/postgresql.custom.conf
|
sudo -u postgres echo "autovacuum = $AUTOVACUUM" >> /etc/postgresql/14/main/conf.d/postgresql.custom.conf
|
||||||
cat /etc/postgresql/12/main/conf.d/postgresql.custom.conf
|
cat /etc/postgresql/14/main/conf.d/postgresql.custom.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPostgresPassword() {
|
function setPostgresPassword() {
|
||||||
@ -28,8 +28,8 @@ set -x
|
|||||||
if [ "$1" = "import" ]; then
|
if [ "$1" = "import" ]; then
|
||||||
# Ensure that database directory is in right state
|
# Ensure that database directory is in right state
|
||||||
chown postgres:postgres -R /var/lib/postgresql
|
chown postgres:postgres -R /var/lib/postgresql
|
||||||
if [ ! -f /var/lib/postgresql/12/main/PG_VERSION ]; then
|
if [ ! -f /var/lib/postgresql/14/main/PG_VERSION ]; then
|
||||||
sudo -u postgres /usr/lib/postgresql/12/bin/pg_ctl -D /var/lib/postgresql/12/main/ initdb -o "--locale C.UTF-8"
|
sudo -u postgres /usr/lib/postgresql/14/bin/pg_ctl -D /var/lib/postgresql/14/main/ initdb -o "--locale C.UTF-8"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Initialize PostgreSQL
|
# Initialize PostgreSQL
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user