diff --git a/public/svgs/martin.png b/public/svgs/martin.png new file mode 100644 index 000000000..d1a99e148 Binary files /dev/null and b/public/svgs/martin.png differ diff --git a/templates/compose/martin.yaml b/templates/compose/martin.yaml new file mode 100644 index 000000000..5d152dbdc --- /dev/null +++ b/templates/compose/martin.yaml @@ -0,0 +1,35 @@ +# documentation: https://maplibre.org/martin/introduction.html/ +# slogan: Martin is a tile server able to generate and serve vector tiles on the fly from large PostGIS databases, PMTiles (local or remote), and MBTiles files, allowing multiple tile sources to be dynamically combined into one. +# tags: postgis, vector, tiles +# logo: svgs/martin.png +# port: 3000 + + +services: + martin: + image: ghcr.io/maplibre/martin:v0.13.0 + environment: + - SERVICE_FQDN_MARTIN_3000 + - HOST=${SERVICE_FQDN_MARTIN} + - DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/${POSTGRES_DB} + depends_on: + postgresql: + condition: service_healthy + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000"] + interval: 5s + timeout: 20s + retries: 10 + postgresql: + image: postgis/postgis:16-3.4-alpine + volumes: + - postgresql-data:/var/lib/postgresql/data + environment: + - POSTGRES_USER=$SERVICE_USER_POSTGRES + - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES + - POSTGRES_DB=${POSTGRES_DB:-martin} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 20s + retries: 10