A routable and filterable map of 2m/70cm DMR repeaters provided but neither endorsed by nor affiliated with RadioID. https://dmrmap.kida.io
  • CSS 37.2%
  • JavaScript 30.7%
  • Go 26.8%
  • HTML 4.8%
  • Dockerfile 0.5%
Find a file
2026-02-08 18:47:14 +01:00
static Add filtering by network 2026-02-08 18:42:48 +01:00
.air.toml Add geo coords and maidenhead display, minor improvements 2026-02-08 14:33:09 +01:00
.gitignore Add compose override to gitignore 2026-02-08 15:00:26 +01:00
compose.dev.yml Bind /data/app to tmpfs 2026-02-08 18:47:14 +01:00
compose.yml Bind /data/app to tmpfs 2026-02-08 18:47:14 +01:00
db.go Add filtering by network 2026-02-08 18:42:48 +01:00
Dockerfile Add geo coords and maidenhead display, minor improvements 2026-02-08 14:33:09 +01:00
Dockerfile.dev Initial Commit 2026-02-08 14:09:14 +01:00
go.mod Add geo coords and maidenhead display, minor improvements 2026-02-08 14:33:09 +01:00
go.sum Initial Commit 2026-02-08 14:09:14 +01:00
handlers.go Add filtering by network 2026-02-08 18:42:48 +01:00
LICENSE Add LICENSE and README 2026-02-08 15:32:11 +01:00
main.go Add basic routing 2026-02-08 14:18:27 +01:00
README.md Add LICENSE and README 2026-02-08 15:32:11 +01:00
rptrs.json Initial Commit 2026-02-08 14:09:14 +01:00
seed.go Add filtering by network 2026-02-08 18:42:48 +01:00

DMRmap

A web app that visualizes DMR repeaters on an interactive map. Filter by band, search by address, and find repeaters along a driving route.

Live: https://dmrmap.kida.io

Features

  • Full-screen OpenStreetMap with DMR repeater markers (blue for 2m, red for 70cm)
  • Band filtering (2m / 70cm / both)
  • Address-to-address routing with repeater corridor search (10 km)
  • Address autocomplete via Nominatim
  • Driving routes via OSRM
  • Coordinate display with Maidenhead grid locator
  • Dark mode (follows system preference, manual toggle)
  • No external CDN dependencies — all assets served locally

Requirements

  • Go 1.25+
  • Docker (optional)

Running locally

go run .

Open http://localhost:8080. The SQLite database is seeded automatically from rptrs.json on first startup.

Docker

docker compose up --build

The database is persisted in a named volume across restarts.

Development

Hot-reload with air:

docker compose -f compose.dev.yml up --build

Data

Repeater data provided by RadioID. This project is not affiliated with or endorsed by RadioID.

License

MIT