3e81ee80154214b9ceaa3c7925eabf38b0d52b22
Adds a gnss-simulator service to docker-compose.yaml, sharing maptool's network namespace (network_mode: "service:maptool") so it's reachable at the 127.0.0.1:2947 GpsdClient hardcodes -- there's no real receiver attached to the server, so without this the "GNSS" control there always shows "no fix". Both services now reference the same image (maptool:latest) explicitly rather than each service with its own `build: .` producing two separately-tagged (if identically-layered) images. Verified for real: built and ran the full compose stack in an isolated project/port on cube (not the live one), confirmed /api/gnss/position reports a moving fix across two polls through the actual sidecar networking, then tore it down completely -- containers, image, network, temp checkout. Production's own stack was untouched throughout and confirmed still healthy afterward.
MapTool
Table of Contents
A mapping application written in Ruby with Sinatra.
The project’s shape is still open — this is the initial scaffold.
Status
Early scaffold. The web application serves a vector map (MapLibre GL JS), with an online style and an optional offline style backed by a local PMTiles file, an animated RainViewer radar overlay, GPX upload/display (points and tracks, organized in folders), and a live position marker from a local GNSS receiver via gpsd.
Requirements
-
Ruby (see
.ruby-version) and Bundler
Getting started
bundle install
bundle exec puma -C config/puma.rb
Then open http://127.0.0.1:4567 in a browser.
Languages
JavaScript
48.7%
Ruby
43.6%
CSS
6%
HTML
1.2%
Dockerfile
0.5%