halkyon/deploy/compose.search.yaml

69 lines
2.2 KiB
YAML
Raw Permalink Normal View History

# Place search for Halkyon Train (ADR 0030, D50), beside compose.train.yaml, which it
# needs: Photon on GraphHopper's weekly database of Europe, asked by Train's server
# alone. Switched on in .env:
#
# COMPOSE_FILE=compose.learn.yaml:compose.train.yaml:compose.search.yaml
#
# Photon has no site and no sign-in: only Train's server reaches it, on a network of
# their own without a way out, for people signed in, and nothing it is asked is kept
# or logged. Its database (Europe's: a 32.6 GB download on 29 Oct 2026, more
# unpacked, to be measured) is in ./photon/data, renewed monthly, owned by a user ID of
# its own, which no person, no other container and not the CI runner uses. Its memory:
# PHOTON_HEAP (6g) for Java, PHOTON_MEMORY (8g) for the container. Setting it up:
# sidecars/README.md, Train's search.
services:
photon:
build:
context: ..
dockerfile: deploy/photon/Dockerfile
image: halkyon-photon
restart: unless-stopped
user: "61179:61179"
read_only: true
tmpfs:
- /tmp:size=64m,uid=61179,gid=61179
environment:
PHOTON_HEAP: ${PHOTON_HEAP:-6g}
volumes:
- ./photon/data:/data
# Beside Train's server alone: no site, no published port, no way out.
networks:
- search
mem_limit: ${PHOTON_MEMORY:-8g}
# No log: what people search for is where they go.
logging:
driver: none
photon-data:
image: halkyon-photon
restart: unless-stopped
user: "61179:61179"
read_only: true
tmpfs:
- /tmp:size=16m,uid=61179,gid=61179
command: ["/app/data.sh"]
environment:
# A path under GraphHopper's downloads; `europe/germany` for Germany alone.
PHOTON_REGION: ${PHOTON_REGION:-europe}
volumes:
- ./photon/data:/data
# Out to GraphHopper's downloads on `downloads`, an ordinary bridge with a way out
# to anywhere, shared with BRouter's segments and the map's downloads.
networks:
- downloads
mem_limit: 256m
logging:
driver: journald
train-server:
environment:
PHOTON_URL: http://photon:2322/
networks:
- search
networks:
# Train's server and Photon, without a way out.
search:
internal: true
downloads: