The targeted /search + /kinds approach is the only POI search now; nothing consumes embeddings. Drop: - poi_vec data + the 'vector' extension (DB) - embed/ (embedpoi), 20-vector.sql, db/ (the pgvector image workaround — compose goes back to plain postgis/postgis:16-3.4) - /semantic endpoint + embed client code from spatiald - EMBED_* env vars and README sections - .gitignore: ignore the spatial/ go build artifact
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
# PostGIS spatial stack for the trip planner.
|
|
#
|
|
# docker-compose up -d postgis # start the DB (schema.sql runs on first boot)
|
|
# ./import.sh ~/trips/osm/nh.osm.pbf nh # import an OSM extract (one-shot osm2pgsql)
|
|
# docker-compose up -d spatiald # start the query service on :5005
|
|
#
|
|
# Composed for docker-compose v1 (3.8) AND v2 (the same file works with
|
|
# `docker compose` once the v2 plugin is available): no healthchecks or
|
|
# `depends_on` conditions — import.sh polls pg_isready itself, and spatiald
|
|
# tolerates a not-yet-ready DB at boot.
|
|
#
|
|
# OSM_DIR (default ~/trips/osm) is where the PBF extracts live — outside the
|
|
# dev tree. Export it to override.
|
|
version: "3.8"
|
|
services:
|
|
postgis:
|
|
image: postgis/postgis:16-3.4
|
|
container_name: trips-postgis
|
|
environment:
|
|
POSTGRES_DB: trips
|
|
POSTGRES_USER: trips
|
|
POSTGRES_PASSWORD: trips
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
# initdb scripts run in lexicographic order, once, on an empty volume
|
|
- ./schema.sql:/docker-entrypoint-initdb.d/10-schema.sql:ro
|
|
restart: unless-stopped
|
|
|
|
# One-shot importer (also usable as: docker-compose run --rm importer
|
|
# -- /data/<file>.osm.pbf ...). import.sh does the same with a bare
|
|
# `docker run`, since the PBF path varies per import.
|
|
importer:
|
|
image: iboates/osm2pgsql:latest
|
|
entrypoint: osm2pgsql
|
|
environment:
|
|
PGPASSWORD: trips # the image build's --password flag forces a prompt
|
|
command: >-
|
|
/data/colombia.osm.pbf --host=postgis --port=5432 --database=trips
|
|
--user=trips -k --slim
|
|
--flat-nodes=/tmp/flat.nodes
|
|
network_mode: "service:postgis"
|
|
volumes:
|
|
- ${OSM_DIR}:/data:ro # OSM_DIR is exported by import.sh (default ~/trips/osm)
|
|
|
|
spatiald:
|
|
build: .
|
|
container_name: trips-spatiald
|
|
environment:
|
|
SPATIAL_DSN: "host=postgis port=5432 user=trips password=trips dbname=trips sslmode=disable"
|
|
ports:
|
|
- "5005:5005"
|
|
depends_on:
|
|
- postgis
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
pgdata:
|