mirror of
https://github.com/openstreetmap/mod_tile.git
synced 2025-08-01 07:43:30 +00:00
Updates to "full" Docker containers (#404)
* To help with testing rendering with real data and styles
This commit is contained in:
@ -1 +1,5 @@
|
||||
COMPOSE_PROJECT_NAME=mod_tile
|
||||
DOWNLOAD_PBF=https://download.geofabrik.de/europe/germany/nordrhein-westfalen/koeln-regbez-latest.osm.pbf
|
||||
PGDATABASE=gis
|
||||
PGHOST=postgres
|
||||
PGUSER=renderer
|
||||
|
3
docker/.gitignore
vendored
Normal file
3
docker/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
data
|
||||
fonts
|
||||
styles
|
@ -1,3 +1,6 @@
|
||||
# Arguments
|
||||
ARG runner_additional_packages
|
||||
|
||||
# Builder
|
||||
FROM archlinux:latest as builder
|
||||
|
||||
@ -41,10 +44,13 @@ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
|
||||
# Runner
|
||||
FROM archlinux:latest as runner
|
||||
|
||||
## Arguments
|
||||
ARG runner_additional_packages
|
||||
|
||||
## Install runner dependencies
|
||||
RUN --mount=id=archlinux:latest-/var/cache/pacman/pkg,sharing=locked,target=/var/cache/pacman/pkg,type=cache \
|
||||
--mount=id=archlinux:latest-/var/lib/pacman/sync,sharing=locked,target=/var/lib/pacman/sync,type=cache \
|
||||
pacman --sync --refresh --sysupgrade --noconfirm \
|
||||
pacman --sync --refresh --sysupgrade --noconfirm ${runner_additional_packages} \
|
||||
apache \
|
||||
cairo \
|
||||
curl \
|
||||
@ -77,11 +83,11 @@ COPY --from=builder \
|
||||
/etc/httpd/conf/extra/httpd-tile-renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Enable module & site
|
||||
RUN printf '\nInclude conf/extra/httpd-tile.conf\n' >> /etc/httpd/conf/httpd.conf && \
|
||||
|
@ -164,11 +164,11 @@ COPY --from=builder \
|
||||
/etc/httpd/conf.d/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Start services
|
||||
CMD httpd -e debug -k start; \
|
||||
|
@ -185,11 +185,11 @@ COPY --from=builder \
|
||||
/etc/httpd/conf.d/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Start services
|
||||
CMD httpd -e debug -k start; \
|
||||
|
@ -189,11 +189,11 @@ RUN sed \
|
||||
|
||||
## Add configuration
|
||||
RUN printf "LoadModule tile_module $(find /usr -name mod_tile.so)\n" > /etc/httpd/conf.modules.d/11-tile.conf
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Create missing directories
|
||||
RUN mkdir --parents /run/renderd /var/cache/renderd/tiles
|
||||
|
@ -170,11 +170,11 @@ COPY --from=builder \
|
||||
/etc/httpd/conf.d/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Start services
|
||||
CMD httpd -e debug -k start; \
|
||||
|
@ -79,11 +79,11 @@ COPY --from=builder \
|
||||
/etc/apache2/sites-available/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Enable module & site
|
||||
RUN a2enmod tile && \
|
||||
|
@ -79,11 +79,11 @@ RUN sed \
|
||||
|
||||
## Add configuration
|
||||
RUN printf "LoadModule tile_module $(find /usr -name mod_tile.so)\n" > /etc/apache2/mods-available/tile.load
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Create missing directories
|
||||
RUN mkdir --parents /run/renderd /var/cache/renderd/tiles
|
||||
|
@ -30,6 +30,32 @@ services:
|
||||
build:
|
||||
<<: *build_defaults
|
||||
dockerfile: docker/archlinux/Dockerfile
|
||||
archlinux-full:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
<<: *build_defaults
|
||||
args:
|
||||
runner_additional_packages: >-
|
||||
curl
|
||||
gdal
|
||||
git
|
||||
npm
|
||||
osm2pgsql
|
||||
postgresql
|
||||
python-psycopg2
|
||||
python-pyaml
|
||||
unzip
|
||||
dockerfile: docker/archlinux/Dockerfile
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
entrypoint: /entrypoint.sh
|
||||
volumes:
|
||||
- tiles:/var/cache/renderd/tiles
|
||||
- ./archlinux/data:/opt/data
|
||||
- ./archlinux/fonts:/opt/fonts
|
||||
- ./archlinux/styles:/opt/styles
|
||||
- ./full-entrypoint.sh:/entrypoint.sh:ro
|
||||
centos-7:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
@ -241,25 +267,35 @@ services:
|
||||
<<: *build_defaults_ubuntu
|
||||
args:
|
||||
libmapnik_version: "3.1"
|
||||
runner_additional_packages: >-
|
||||
curl
|
||||
gdal-bin
|
||||
git
|
||||
npm
|
||||
osm2pgsql
|
||||
postgresql-client
|
||||
python3-psycopg2
|
||||
python3-yaml
|
||||
unzip
|
||||
ubuntu_version: "devel"
|
||||
depends_on:
|
||||
- postgres
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
entrypoint: /entrypoint.sh
|
||||
environment:
|
||||
DOWNLOAD_PBF: http://download.geofabrik.de/africa/eritrea-latest.osm.pbf
|
||||
PGDATABASE: gis
|
||||
PGHOST: postgres
|
||||
PGUSER: renderer
|
||||
volumes:
|
||||
- data:/data
|
||||
- tile_data:/var/cache/renderd/tiles
|
||||
- ./ubuntu/entrypoint.sh:/entrypoint.sh:ro
|
||||
- tiles:/var/cache/renderd/tiles
|
||||
- ./full-entrypoint.sh:/entrypoint.sh:ro
|
||||
- ./ubuntu/data:/opt/data
|
||||
- ./ubuntu/fonts:/opt/fonts
|
||||
- ./ubuntu/styles:/opt/styles
|
||||
postgres:
|
||||
env_file: .env
|
||||
environment:
|
||||
POSTGRES_DB: gis
|
||||
POSTGRES_DB: ${PGDATABASE}
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
POSTGRES_USER: renderer
|
||||
POSTGRES_USER: ${PGUSER}
|
||||
healthcheck:
|
||||
test: ["CMD", "psql", "--quiet", "--list"]
|
||||
image: postgis/postgis
|
||||
ports:
|
||||
- 65432:5432
|
||||
@ -268,6 +304,5 @@ services:
|
||||
shm_size: 1gb
|
||||
|
||||
volumes:
|
||||
data:
|
||||
pgdata:
|
||||
tile_data:
|
||||
tiles:
|
||||
|
@ -70,11 +70,11 @@ COPY --from=builder \
|
||||
/etc/httpd/conf.d/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Start services
|
||||
CMD httpd -e debug -k start; \
|
||||
|
51
docker/full-entrypoint.sh
Executable file
51
docker/full-entrypoint.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
if [ ! -f /opt/styles/mapnik.xml ]
|
||||
then
|
||||
git clone https://github.com/gravitystorm/openstreetmap-carto.git --depth 1 /opt/openstreetmap-carto
|
||||
|
||||
cp --archive /opt/openstreetmap-carto/patterns /opt/openstreetmap-carto/symbols /opt/styles/
|
||||
|
||||
python3 /opt/openstreetmap-carto/scripts/get-external-data.py --cache --config /opt/openstreetmap-carto/external-data.yml --data /opt/data
|
||||
|
||||
cd /opt && /opt/openstreetmap-carto/scripts/get-fonts.sh && cd -
|
||||
|
||||
psql --command "CREATE EXTENSION postgis;" --dbname "${PGDATABASE}" --host "${PGHOST}" --user "${PGUSER}"
|
||||
psql --command "CREATE EXTENSION hstore;" --dbname "${PGDATABASE}" --host "${PGHOST}" --user "${PGUSER}"
|
||||
psql --command "ALTER TABLE geometry_columns OWNER TO ${PGUSER};" --dbname "${PGDATABASE}" --host "${PGHOST}" --user "${PGUSER}"
|
||||
psql --command "ALTER TABLE spatial_ref_sys OWNER TO ${PGUSER};" --dbname "${PGDATABASE}" --host "${PGHOST}" --user "${PGUSER}"
|
||||
|
||||
if [ ! -f /opt/data/region.osm.pbf ]
|
||||
then
|
||||
curl --location "${DOWNLOAD_PBF:-http://download.geofabrik.de/asia/vietnam-latest.osm.pbf}" --output /opt/data/region.osm.pbf
|
||||
fi
|
||||
|
||||
osm2pgsql \
|
||||
--create \
|
||||
--database "${PGDATABASE}" \
|
||||
--host "${PGHOST}" \
|
||||
--hstore \
|
||||
--number-processes "$(nproc)" \
|
||||
--slim \
|
||||
--tag-transform-script /opt/openstreetmap-carto/openstreetmap-carto.lua \
|
||||
--user "${PGUSER}" \
|
||||
-G \
|
||||
-S /opt/openstreetmap-carto/openstreetmap-carto.style \
|
||||
/opt/data/region.osm.pbf
|
||||
|
||||
psql --dbname "${PGDATABASE}" --file /opt/openstreetmap-carto/indexes.sql --host "${PGHOST}" --user "${PGUSER}"
|
||||
|
||||
npm install --global carto
|
||||
carto /opt/openstreetmap-carto/project.mml > /opt/styles/mapnik.xml
|
||||
|
||||
chmod --recursive 777 /opt/*
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e 's#/usr/share/renderd/example-map/mapnik.xml#/opt/styles/mapnik.xml#g' \
|
||||
-e 's/pid_file=/num_threads=-1\npid_file=/g' \
|
||||
-e 's#font_dir=.*#font_dir=/opt/fonts#g' \
|
||||
/etc/renderd.conf
|
||||
|
||||
apachectl -e debug -k start
|
||||
renderd --foreground
|
@ -165,11 +165,11 @@ COPY --from=builder \
|
||||
/etc/apache2/conf.d/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Enable `mod_access_compat`
|
||||
RUN sed -i 's/^APACHE_MODULES="actions/APACHE_MODULES="access_compat actions/g' /etc/sysconfig/apache2
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Arguments
|
||||
ARG libmapnik_version=3.1
|
||||
ARG runner_additional_packages
|
||||
ARG ubuntu_version=22.04
|
||||
|
||||
# Builder
|
||||
@ -49,6 +50,7 @@ FROM ubuntu:${ubuntu_version} as runner
|
||||
|
||||
## Arguments
|
||||
ARG libmapnik_version
|
||||
ARG runner_additional_packages
|
||||
ARG ubuntu_version
|
||||
|
||||
## Install runner dependencies
|
||||
@ -57,7 +59,7 @@ RUN --mount=id=ubuntu:${ubuntu_version}-/var/cache/apt,sharing=locked,target=/va
|
||||
export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get --yes update && \
|
||||
apt-get --yes upgrade && \
|
||||
apt-get --no-install-recommends --yes install \
|
||||
apt-get --no-install-recommends --yes install ${runner_additional_packages} \
|
||||
apache2 \
|
||||
libcairo2 \
|
||||
libcurl4 \
|
||||
@ -78,11 +80,11 @@ COPY --from=builder \
|
||||
/etc/apache2/sites-available/renderd-example-map.conf
|
||||
|
||||
## Add configuration
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Enable module & site
|
||||
RUN a2enmod tile && \
|
||||
|
@ -79,11 +79,11 @@ RUN sed \
|
||||
|
||||
## Add configuration
|
||||
RUN printf "LoadModule tile_module $(find /usr -name mod_tile.so)\n" > /etc/apache2/mods-available/tile.load
|
||||
RUN printf '\n[example-map]\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map]\nMAXZOOM=20\nMINZOOM=0\nURI=/tiles/renderd-example\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-jpg]\nMAXZOOM=20\nMINZOOM=0\nTYPE=jpg image/jpeg jpeg\nURI=/tiles/renderd-example-jpg\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png256]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png256\nURI=/tiles/renderd-example-png256\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-png32]\nMAXZOOM=20\nMINZOOM=0\nTYPE=png image/png png32\nURI=/tiles/renderd-example-png32\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
RUN printf '\n[example-map-webp]\nMAXZOOM=20\nMINZOOM=0\nTYPE=webp image/webp webp\nURI=/tiles/renderd-example-webp\nXML=/usr/share/renderd/example-map/mapnik.xml\n' >> /etc/renderd.conf
|
||||
|
||||
## Create missing directories
|
||||
RUN mkdir --parents /run/renderd /var/cache/renderd/tiles
|
||||
|
@ -1,61 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
if [ ! -f /data/style/mapnik.xml ]
|
||||
then
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get --yes update
|
||||
|
||||
apt-get --no-install-recommends --yes install \
|
||||
curl \
|
||||
gdal-bin \
|
||||
git \
|
||||
node-carto \
|
||||
osm2pgsql \
|
||||
postgresql-client \
|
||||
python3-yaml \
|
||||
unzip
|
||||
|
||||
git clone https://github.com/gravitystorm/openstreetmap-carto.git --depth 1 /data/style
|
||||
|
||||
cd /data/style
|
||||
|
||||
python3 scripts/get-external-data.py -c /data/style/external-data.yml -D /data/style/data
|
||||
|
||||
scripts/get-fonts.sh
|
||||
|
||||
psql --host "${PGHOST}" --user "${PGUSER}" --dbname "${PGDATABASE}" --command "CREATE EXTENSION postgis;"
|
||||
psql --host "${PGHOST}" --user "${PGUSER}" --dbname "${PGDATABASE}" --command "CREATE EXTENSION hstore;"
|
||||
psql --host "${PGHOST}" --user "${PGUSER}" --dbname "${PGDATABASE}" --command "ALTER TABLE geometry_columns OWNER TO ${PGUSER};"
|
||||
psql --host "${PGHOST}" --user "${PGUSER}" --dbname "${PGDATABASE}" --command "ALTER TABLE spatial_ref_sys OWNER TO ${PGUSER};"
|
||||
|
||||
curl --location "${DOWNLOAD_PBF:-http://download.geofabrik.de/asia/vietnam-latest.osm.pbf}" --output /data/region.osm.pbf
|
||||
|
||||
osm2pgsql \
|
||||
--create \
|
||||
--database "${PGDATABASE}" \
|
||||
--host "${PGHOST}" \
|
||||
--hstore \
|
||||
--number-processes "$(nproc)" \
|
||||
--slim \
|
||||
--tag-transform-script /data/style/openstreetmap-carto.lua \
|
||||
--user "${PGUSER}" \
|
||||
-G \
|
||||
-S /data/style/openstreetmap-carto.style \
|
||||
/data/region.osm.pbf
|
||||
|
||||
psql --host "${PGHOST}" --user "${PGUSER}" --dbname "${PGDATABASE}" --file /data/style/indexes.sql
|
||||
|
||||
carto /data/style/project.mml > /data/style/mapnik.xml
|
||||
sed \
|
||||
-e 's#/usr/share/renderd/example-map/mapnik.xml#/data/style/mapnik.xml#g' \
|
||||
-e 's/URI=/MAXZOOM=20\nMINZOOM=0\nURI=/g' \
|
||||
-e 's#font_dir=/usr/share/fonts#font_dir=/data/style/fonts#g' \
|
||||
/etc/renderd.conf > /data/renderd.conf
|
||||
fi
|
||||
|
||||
sed -i 's#/etc/renderd.conf#/data/renderd.conf#g' /etc/apache2/sites-enabled/renderd-example-map.conf
|
||||
sed -i 's/maxZoom: 12/maxZoom: 20/g' /usr/share/renderd/example-map/index.html
|
||||
|
||||
apachectl -e debug -k start
|
||||
renderd --config /data/renderd.conf --foreground
|
@ -22,8 +22,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "store.h"
|
||||
|
||||
struct storage_backend *init_storage_null();
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -15,13 +15,14 @@
|
||||
* along with this program; If not, see http://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
#include "store_null.h"
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <glib.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "g_logger.h"
|
||||
#include "store.h"
|
||||
#include "store_null.h"
|
||||
|
||||
static int tile_read(struct storage_backend * store,
|
||||
const char *xmlconfig,
|
||||
|
@ -16,7 +16,7 @@
|
||||
var attribution =
|
||||
'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors.';
|
||||
var options = {
|
||||
maxZoom: 12,
|
||||
maxZoom: 20,
|
||||
attribution: attribution,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user