2026-10-29 16:20:36 +01:00
|
|
|
# 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:
|
|
|
|
|
#
|
2026-11-02 22:06:18 +01:00
|
|
|
# COMPOSE_FILE=compose.learn.yaml:compose.train.yaml:compose.search.yaml
|
2026-10-29 16:20:36 +01:00
|
|
|
#
|
|
|
|
|
# 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
|
2026-10-30 12:55:42 +01:00
|
|
|
# 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.
|
2026-10-29 16:20:36 +01:00
|
|
|
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:
|