No fluff. The image ships with the database (PostgreSQL) built in. Copy the command, run it — you’re done.
docker run -d \
--name chicha-isotope-map \
-p 8765:8765 \
-v chicha-data:/var/lib/postgresql/data \
-e DEFAULT_LAT=44.08832 \
-e DEFAULT_LON=42.97577 \
-e DEFAULT_ZOOM=11 \
-e DEFAULT_LAYER="OpenStreetMap" \
--restart unless-stopped \
matveynator/chicha-isotope-map:latestOpen: http://localhost:8765
docker run -d \
--name chicha-isotope-map \
-p 80:80 -p 443:443 \
-v chicha-data:/var/lib/postgresql/data \
-e DOMAIN=example.org \
-e DEFAULT_LAT=44.08832 \
-e DEFAULT_LON=42.97577 \
-e DEFAULT_ZOOM=11 \
-e DEFAULT_LAYER="OpenStreetMap" \
--restart unless-stopped \
matveynator/chicha-isotope-map:latestOnce the certificate is issued, go to: https://example.org
DOMAIN— enables HTTPS on ports 80/443 with automatic Let’s Encrypt certificates (for a public node).DEFAULT_LAT,DEFAULT_LON— initial map coordinates.DEFAULT_ZOOM— initial zoom (11 is a convenient city level).DEFAULT_LAYER—OpenStreetMaporGoogle Satellite.PORT— app’s internal port (defaults to 8765; you usually don’t change this).
Tip: keep your data on the volume
-v chicha-data:/var/lib/postgresql/dataso it survives container updates.
Daily backup (03:00):
0 3 * * * docker exec chicha-isotope-map pg_dump -U chicha_isotope_map chicha_isotope_map | gzip > /backup/chicha_isotope_map_$(date +\%F).sql.gzRestore from archive:
docker exec -it chicha-isotope-map psql -U postgres -c "DROP DATABASE IF EXISTS chicha_isotope_map; CREATE DATABASE chicha_isotope_map OWNER chicha_isotope_map;"
zcat /backup/chicha_isotope_map_2025-07-24.sql.gz | docker exec -i chicha-isotope-map psql -U chicha_isotope_map chicha_isotope_mapGrab the binary for your OS, make it executable, and run.
Linux x64
sudo curl -L https://github.com/matveynator/chicha-isotope-map/releases/download/latest/chicha-isotope-map_linux_amd64 \
-o /usr/local/bin/chicha-isotope-map \
&& sudo chmod +x /usr/local/bin/chicha-isotope-map \
&& chicha-isotope-mapmacOS Intel (x86_64)
sudo curl -L https://github.com/matveynator/chicha-isotope-map/releases/download/latest/chicha-isotope-map_darwin_amd64 \
-o /usr/local/bin/chicha-isotope-map \
&& sudo chmod +x /usr/local/bin/chicha-isotope-map \
&& chicha-isotope-mapmacOS Apple Silicon (arm64)
sudo curl -L https://github.com/matveynator/chicha-isotope-map/releases/download/latest/chicha-isotope-map_darwin_arm64 \
-o /usr/local/bin/chicha-isotope-map \
&& sudo chmod +x /usr/local/bin/chicha-isotope-map \
&& chicha-isotope-mapOther platforms (Windows / ARM / BSD) — see the releases page: https://github.com/matveynator/chicha-isotope-map/releases/tag/latest
If you’re launching the chicha-isotope-map binary directly, here’s what matters. First the essentials; more options below.
-
-domain string— enables HTTPS and binds to ports 80 and 443 with automatic Let’s Encrypt certificates. Your domain must point to your server, and ports 80/443 must be open.- Example:
sudo chicha-isotope-map -domain maps.example.org -default-lat 44.08832 -default-lon 42.97577 -default-zoom 11 -default-layer "OpenStreetMap"
- Example:
-
-port int— HTTP server port (defaults to 8765). Handy for local runs without a domain.- Example:
chicha-isotope-map -port 8765
- Example:
-
-default-lat float&-default-lon float— initial map latitude and longitude.- Example:
-default-lat 44.08832 -default-lon 42.97577
- Example:
-
-default-zoom int— initial zoom level (city is usually 11–13).- Example:
-default-zoom 11
- Example:
-
-default-layer string— base layer:OpenStreetMaporGoogle Satellite.- Example:
-default-layer "Google Satellite"
- Example:
-
-db-type string— DB driver:genji,sqlite,pgx(PostgreSQL). Default isgenji. -
-db-path string— DB file path forgenji/sqlite(defaults to current directory if not set).- Example:
-db-type sqlite -db-path /var/lib/chicha/chicha.sqlite
- Example:
-
-db-host string,-db-port int(default 5432),-db-name string,-db-user string,-db-pass string— PostgreSQL connection params forpgx.- Example:
-db-type pgx -db-host 127.0.0.1 -db-port 5432 -db-name chicha_isotope_map -db-user postgres -db-pass secret
- Example:
-
-pg-ssl-mode string— PostgreSQL SSL mode:disable,allow,prefer(default),require,verify-ca,verify-full.- Example:
-pg-ssl-mode require
- Example:
-version— print version and exit.
-
Local, no HTTPS:
chicha-isotope-map \ -port 8765 \ -default-lat 44.08832 -default-lon 42.97577 \ -default-zoom 11 \ -default-layer "OpenStreetMap" -
Public server with HTTPS on 80/443:
sudo chicha-isotope-map \ -domain maps.example.org \ -default-lat 44.08832 -default-lon 42.97577 \ -default-zoom 11 \ -default-layer "OpenStreetMap" -
Single‑file storage (SQLite):
chicha-isotope-map \ -db-type sqlite -db-path /var/lib/chicha-isotope-map.sqlite \ -port 8765 \ -default-lat 44.08832 -default-lon 42.97577 -default-zoom 11
-
Connect to PostgreSQL:
chicha-isotope-map \ -db-type pgx \ -db-host 127.0.0.1 -db-port 5432 \ -db-name chicha_isotope_map -db-user postgres -db-pass secret \ -pg-ssl-mode require \ -default-lat 44.08832 -default-lon 42.97577 -default-zoom 11
- Simple: your community, your map.
- Useful: a local history of background levels for your city/area/facility — and it’s yours to keep.
- Good for the network: more nodes → more transparency and resilience.
Chicha‑Isotope‑Map isn’t just software — it’s a window into a world of microparticles, invisible to the eye but obvious to an instrument. What used to be guesswork is now drawn as bright dots on a map, from calm greens to alarming reds.
-
What does it read, and from where?
- Files in
.kml,.kmz,.json,.rctrkformats (AtomFast, RadiaCode, and others). - Everything is saved to its own database so that years later you can say, “On March 12, 2008, this spot measured 4.1 µR/h.”
- Files in
-
What’s our baseline?
- Natural background radiation in a “clean” area is about 0.8–4 µR/h.
- Anything above that is anthropogenic contamination. You’ll see how isotopes were scattered by wind, traffic, and people — like footprints on fresh snow.
... Back in the Soviet era, an open‑air pool was being built in Kislovodsk Park. They may have used concrete from a plant in Pyatigorsk that once processed radioactive ore from Mount Beshtau. Trucks drove along the road; dust from their wheels settled on the asphalt, leaving invisible marks. Years have passed, yet those traces still glow — memories of what once was. Dust that blew around the construction site settled in the park; on the map it shows up yellow, like patches of autumn leaves. The rest of the park is clean, calm, and green.
You can see the app running in real time here.
- Bring up a node on a domain with HTTPS (
-e DOMAIN=...+ expose80and443). - Add a screenshot and a brief blurb (city, area, what your measurements cover).
- Leave a note in the project repository’s Issues.
The Chicha Isotope Map was created for the Dmitry Ignatenko Radiation Research Lab and inspired by Safecast, the Japanese community of citizen‑scientists who turned the Fukushima tragedy into scientific knowledge. By searching, measuring, and sharing the truth about radiation, you make the invisible visible and help the world avoid repeating Chernobyl and Fukushima. Your work is the light of science, safety, and hope. Thank you for turning background radiation from a source of fear into a source of understanding — for seeking, measuring, sharing, and having the courage to go first.
