trips/spatial/docker-compose.yml
Greg Pomerantz df5fed691b spatial: remove the pgvector path entirely
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
2026-09-10 15:07:32 -04:00

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: