Files
maptool/docker-compose.yaml
T
randy f9ddf860ea
CI / check (push) Successful in 6m49s
CI / deploy (push) Successful in 23s
Add Garmin LiveTrack session tracking
A Gmail-watching Apps Script (documented in docs/deployment.adoc) posts
the session ID from each LiveTrack email to a new webhook, which stores
it in data/livetrack.json; a new sidebar panel lists what's been
received.
2026-09-06 21:05:35 +02:00

29 lines
1.5 KiB
YAML

services:
maptool:
build: .
restart: unless-stopped
ports:
- "4567:4567"
environment:
# "[::]", not "0.0.0.0": binding the IPv6 wildcard also accepts IPv4
# connections (dual-stack is the Linux default), so this covers both
# without a second listener. Puma's bind URL needs the brackets around
# a literal IPv6 address (config/puma.rb interpolates this as-is).
BIND_HOST: "[::]"
RACK_ENV: production
# Read from .env (docker compose loads it automatically) — not
# committed, see docs/deployment.adoc.
SESSION_SECRET: ${SESSION_SECRET:?SESSION_SECRET is required, see docs/deployment.adoc}
GITEA_OAUTH_CLIENT_ID: ${GITEA_OAUTH_CLIENT_ID:?GITEA_OAUTH_CLIENT_ID is required, see docs/deployment.adoc}
GITEA_OAUTH_CLIENT_SECRET: ${GITEA_OAUTH_CLIENT_SECRET:?GITEA_OAUTH_CLIENT_SECRET is required, see docs/deployment.adoc}
MAPTOOL_ALLOWED_GITEA_USER: ${MAPTOOL_ALLOWED_GITEA_USER:?MAPTOOL_ALLOWED_GITEA_USER is required, see docs/deployment.adoc}
# Optional: blank disables the LiveTrack webhook endpoint rather than
# failing to start, since it's not needed for the app's core function.
LIVETRACK_WEBHOOK_SECRET: ${LIVETRACK_WEBHOOK_SECRET:-}
volumes:
# Uploaded GPX files and the offline PMTiles extract — kept outside
# the image so a rebuild/redeploy doesn't wipe them (see
# docs/development.adoc for how the deploy job treats this
# directory).
- ./data:/app/data