Wire up p4n2gpx as a private plugin
CI / check (push) Successful in 47s
CI / deploy (push) Successful in 1m53s

data/plugins/p4n2gpx/ (outside git, see .gitignore) now holds a
plugin.json + run.rb wrapper around ../p4n2gpx/ruby/p4n2gpx.rb, so it
runs through the same --south/--west/--north/--east-in,
GeoJSON-on-stdout-out contract as the built-in overpass-pois plugin.
run.rb converts the requested bbox to the center+radius p4n2gpx.rb
itself expects, then reuses lib/maptool/gpx.rb to turn its .gpx output
into GeoJSON.

p4n2gpx.rb needs faraday-cookie_jar, which wasn't in the Gemfile yet
(faraday itself already was, transitively via oauth2) — added and
locked. Also wires P4N_USER/P4N_PASSWORD through docker-compose.yaml
and the deploy workflow's "Write .env" step, the same optional-secret
pattern as LIVETRACK_WEBHOOK_SECRET, since the container has no
browser for p4n2gpx.rb's Chrome-cookie auth fallback.
This commit is contained in:
randy committed 2026-09-09 17:38:53 +02:00
1 parent 6e0b67f2a0
commit 92cc0c87ed
6 files changed
+27

No files matched your search

+7
View File
@@ -31,6 +31,13 @@ services:
# 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:-}
# Optional, only read by data/plugins/p4n2gpx/'s own p4n2gpx.rb (not
# part of this repo — see docs/deployment.adoc) if that private
# plugin is present; blank just means it fails with its own "could
# not authenticate" error when run, same non-fatal-to-startup story
# as the other optional secrets here.
P4N_USER: ${P4N_USER:-}
P4N_PASSWORD: ${P4N_PASSWORD:-}
# The kiwix service below, reached by its compose service name (both
# are on the same default compose network) — port matches its own
# --port=8080 in the command below. Not made conditional on the ZIM