Skip to content

See the unseen. This program visualizes radioactive traces, turning invisible pathways into vibrant maps.

License

MIT, CC0-1.0 licenses found

Licenses found

MIT
LICENSE
CC0-1.0
LICENSE.CC0
Notifications You must be signed in to change notification settings

matveynator/chicha-isotope-map

Repository files navigation

Latest stable release build

chicha-isotope-map

☢️ World Radiation Map

We built this map so anyone can quickly understand whether the place they live or work is safe. Many grow food, keep livestock, or drink from springs without knowing if the environment is healthy.

Natural background radiation stays low. Danger appears only where the levels rise well above that — because of human activity or specific local geology. In such places, water, air, and soil can eventually affect health: harming lungs, stomach, and other organs.

If this map protects even one person or animal, building it was worth it. Let it serve as a simple, clear guide for choosing a safer path.

Live demo: https://pelora.org/ — your node will look the same.

👉 Unified download page (all platforms, latest builds)

👉 DeepWiki: Chicha Isotope Map


📸 Example view

Fukushima view in chicha-isotope-map
Safecast realtime radiation sensors in chicha-isotope-map
Air flights radiation in chicha-isotope-map


🧭 What’s inside

  • The map gathers measurements from many instruments; layers are neatly separated by movement speed — on foot, by car, or in flight.
  • You can upload your own tracks: new points immediately appear on the map to clarify the situation.
  • Import archives by URL or file, and save your own data as an archive (handy for backups).
  • Track how radiation changed over time in a chosen place — getting better or worse.
  • Create a short link to any area of the map.
  • Use print mode: mark hazardous spots with QR codes so a person can scan and instantly see the radiation level for that exact point. This helps highlight environmental risks where drinking water, long stays, or farming are undesirable. It is useful for ecologists, monitoring specialists, and teams that must warn people about danger.
  • The Map offers an API for integrating its data into external services under the open CC license.

The project grows thanks to careful support from the Safecast community, the huge work of Rob Oudendijk, and countless people worldwide working in open dosimetry. We thank Safecast, AtomFast, Radiacode, DoseMap, and other initiatives for their contribution and involvement.


🚀 Quick start (beginner friendly)

Fastest path: download the binary. No Docker, no databases, no extra tools — download, run, done.

Option 1. Binary (recommended)

  1. Open the releases page and download the build for your system.
  2. Make it executable and run:
chmod +x ./chicha-isotope-map
./chicha-isotope-map
  1. Open http://localhost:8765 — the map is already live.

Optional knobs:

  • -port 8765 — local port.
  • -domain maps.example.org — HTTPS with Let’s Encrypt (needs 80/443).
  • -default-lat / -default-lon / -default-zoom / -default-layer — opening map view.
  • Storage: -db-type sqlite|duckdb|chai|clickhouse|pgx, -db-path for file databases, -db-conn for network ones.

Option 2. Public node with a domain

  1. Run the binary with your domain:
./chicha-isotope-map -domain example.org
  1. Keep ports 80/443 open for Let’s Encrypt. After issuance, the map is at https://example.org.

Option 3. Docker (all packaged)

  1. Install Docker (Desktop or CLI).
  2. Find matveynator/chicha-isotope-map on Docker Hub and click Run (or execute one command):
docker run -d -p 8765:8765 --name chicha-isotope-map matveynator/chicha-isotope-map:latest
  1. Open http://localhost:8765 — that’s it.

Option 4. Guided Linux service setup

On Linux only, run the short wizard. It starts by asking if HTTPS is needed (then uses 80/443 and asks for a domain); otherwise it asks for the HTTP port, database path/URI, support e-mail, Safecast realtime toggle, archive folder, and whether to fetch an initial .tgz before writing a port-specific systemd unit and enabling it right away:

./chicha-isotope-map -setup

After writing the unit it reloads systemd, starts the service, tails the log for you, and drops a tiny reminder into your ~/.profile so SSH logins show how to restart, stop, edit, or tail logs. User sessions install to ~/.config/systemd/user; running as root targets /etc/systemd/system, and each unit is named chicha-isotope-map-<port>.service so multiple ports can coexist.

The wizard also writes /usr/local/bin/chicha-update, a helper that stops the freshly provisioned service, downloads the latest GitHub release, restarts the service, and tails the log — one command to refresh the node.

Quick refresher for later:

  • edit the unit: sudo nano /etc/systemd/system/chicha-isotope-map-<port>.service (drop sudo for user units)
  • apply changes: systemctl daemon-reload && systemctl restart chicha-isotope-map-<port>.service
  • stop or start: systemctl stop|start chicha-isotope-map-<port>.service
  • watch logs: journalctl -u chicha-isotope-map-<port>.service -f (or tail -f /var/log/chicha-isotope-map-<port>.log)

When it asks for a database:

  • sqlite / chai suggest /var/lib/<db-type>-<port>/database.<ext> and create directories automatically.
  • pgx is PostgreSQL with defaults localhost:5432, user postgres, empty password, and DB name chicha — the wizard builds the URI for you.
  • duckdb only appears if the binary was built with DuckDB enabled.

Other prompts:

  • Safecast realtime: choose whether to load live Safecast devices on startup.
  • Archive path: suggests /backup/chicha-json-<port> and creates missing directories so scheduled exports never fail.
  • Import: opt-in; if enabled you can accept https://pelora.org/api/json/weekly.tgz or enter your own URL.

At review press a number to tweak a field, apply to write, restart to redo with current defaults, or quit to exit without saving.


📥 Import data

  • On the map page, click the green Upload button and drop your tracks (.kml, .kmz, .json, .rctrk, .csv, .gpx, bGeigie Nano/Zen $BNRDD, AtomFast, RadiaCode, Safecast, etc.).
  • Instant mirror of pelora.org: run chicha-isotope-map -import-tgz-url https://pelora.org/api/json/weekly.tgz once — it fetches the weekly archive, fills your database, and quits so the next launch starts fully populated.
  • Want the archive saved locally first? Download https://pelora.org/api/json/weekly.tgz, point -import-tgz-path /path/to/weekly.tgz, and start with your own copy.

🗺️ One-command first run with live data

For a completely fresh install, this single command both preloads real-world tracks and serves the map right away:

chicha-isotope-map -import-tgz-url https://pelora.org/api/json/weekly.tgz

After it imports, rerun normally (or keep the same command in a systemd service) — the map opens with real measurements visible at http://localhost:8765.

🛢️ Database options for import and regular use

  • PostgreSQL (pgx) — the fastest and most convenient with several users. Example: chicha-isotope-map -db-type pgx -db-conn postgres://USER:PASS@HOST:PORT/DATABASE?sslmode=allow -import-tgz-url https://pelora.org/api/json/weekly.tgz
  • DuckDB / SQLite / Chai — simple file databases for a single user. Concurrent writes can conflict, so keep them for personal maps. Example: chicha-isotope-map -db-type duckdb -import-tgz-url https://pelora.org/api/json/weekly.tgz

📤 Export

  • Single track: /api/track/{trackID}.json (legacy .cim also works).
  • Scheduled archive: /api/json/weekly.tgz (or /daily.tgz, /monthly.tgz, /yearly.tgz). Inside: one JSON per track.

🧠 Advanced options

  • Databases: built-in SQLite by default; you can switch to DuckDB, Chai, ClickHouse, or PostgreSQL (pgx).
  • Import: by URL or file; you can feed an archive directly.
  • Export: JSON archives, a single track, legacy .cim files supported.
  • Appearance: starting coordinates and layer (-default-*).
  • DuckDB startup slow? See the performance notes for checkpoint/Parquet guidance.

🤝 Why your own node & a bit of history

  • We wanted anyone, without training, to see if radiation threatens where they live, grow food, or collect water.
  • The more nodes exist, the harder it is to miss contamination.

Chicha-Isotope-Map was inspired by Dmitry Ignatenko and his forward steps in field research, and is deeply influenced by Rob Oudendijk and Safecast. Open data from the AtomFast and Radiacode communities keeps it useful. If the map spares even one life, it was not in vain.