chore: initial sync — Docker geo stack (PostGIS + Martin + Valhalla)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
|||||||
|
.venv/
|
||||||
|
node_modules/
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
operations.db*
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
|
||||||
|
# Datos generados por el stack (tiles, cache PG)
|
||||||
|
data/
|
||||||
|
postgres-data/
|
||||||
|
valhalla-data/
|
||||||
|
martin-cache/
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
name: footprint_geo_stack
|
||||||
|
lang: bash
|
||||||
|
domain: infra
|
||||||
|
description: "Stack Docker para footprint geo: PostGIS 16-3.4 + Martin tile server + Valhalla. Datos de tiles montados desde DataProyects."
|
||||||
|
tags: [docker, service, geo, valhalla, postgis]
|
||||||
|
uses_functions: []
|
||||||
|
uses_types: []
|
||||||
|
entry_point: "docker-compose.yml"
|
||||||
|
dir_path: "apps/footprint_geo_stack"
|
||||||
|
---
|
||||||
|
|
||||||
|
# footprint_geo_stack
|
||||||
|
|
||||||
|
Stack Docker para servicios geo del proyecto footprint_aurgi:
|
||||||
|
|
||||||
|
- **PostGIS 16-3.4** — base de datos espacial en :5432
|
||||||
|
- **Martin** — tile server MVT en :3000
|
||||||
|
- **Valhalla** — routing engine en :8002
|
||||||
|
|
||||||
|
## Levantar
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/footprint_geo_stack
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Parar
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
## Puertos expuestos
|
||||||
|
|
||||||
|
| Servicio | Puerto | Descripcion |
|
||||||
|
|----------|--------|-------------|
|
||||||
|
| PostGIS | 5432 | postgres://geoserver:geoserver@localhost:5432/gis |
|
||||||
|
| Martin | 3000 | http://localhost:3000 (webUI habilitado) |
|
||||||
|
| Valhalla | 8002 | http://localhost:8002 (route, isochrone, matrix) |
|
||||||
|
|
||||||
|
## Datos
|
||||||
|
|
||||||
|
Los tiles de Valhalla se montan desde:
|
||||||
|
`/home/lucas/DataProyects/footprint_aurgi/better_maps/data` → `/custom_files`
|
||||||
|
|
||||||
|
Contiene `valhalla_tiles.tar`, `admin_data`, `timezone_data` y la PBF de Espana.
|
||||||
|
NO se rebuilden los tiles (`force_rebuild: False`).
|
||||||
|
|
||||||
|
## Health checks
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PostGIS
|
||||||
|
docker exec better_maps_postgis pg_isready -U geoserver -d gis
|
||||||
|
|
||||||
|
# Martin
|
||||||
|
curl -sf http://localhost:3000/health
|
||||||
|
|
||||||
|
# Valhalla
|
||||||
|
curl -s -X POST http://localhost:8002/route \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{"locations":[{"lat":40.4168,"lon":-3.7038},{"lat":41.3874,"lon":2.1686}],"costing":"auto"}'
|
||||||
|
```
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
services:
|
||||||
|
postgis:
|
||||||
|
image: postgis/postgis:16-3.4
|
||||||
|
container_name: better_maps_postgis
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: geoserver
|
||||||
|
POSTGRES_PASSWORD: geoserver
|
||||||
|
POSTGRES_DB: gis
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U geoserver -d gis"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
volumes:
|
||||||
|
- postgis-data:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- geonet
|
||||||
|
|
||||||
|
martin:
|
||||||
|
image: ghcr.io/maplibre/martin:latest
|
||||||
|
container_name: better_maps_martin
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
postgis:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgres://geoserver:geoserver@postgis:5432/gis
|
||||||
|
command:
|
||||||
|
- "--webui"
|
||||||
|
- "enable-for-all"
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/health"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
networks:
|
||||||
|
- geonet
|
||||||
|
|
||||||
|
valhalla:
|
||||||
|
image: ghcr.io/nilsnolde/docker-valhalla/valhalla:latest
|
||||||
|
container_name: better_maps_valhalla
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
postgis:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
tile_urls: ""
|
||||||
|
build_admins: "True"
|
||||||
|
build_time_zones: "True"
|
||||||
|
force_rebuild: "False"
|
||||||
|
serve_tiles: "True"
|
||||||
|
server_threads: "16"
|
||||||
|
volumes:
|
||||||
|
- /home/lucas/DataProyects/footprint_aurgi/better_maps/data:/custom_files
|
||||||
|
ports:
|
||||||
|
- "8002:8002"
|
||||||
|
networks:
|
||||||
|
- geonet
|
||||||
|
cpus: 20
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgis-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
geonet:
|
||||||
|
driver: bridge
|
||||||
Reference in New Issue
Block a user