Location history with PostGIS 17 + Redis + Sidekiq. The seeded known login replaced by after_install behind the install hold; geocoding off; SECRET_KEY_BASE a data_key; smtp_mapping with mail-off boot measured. onboarding/dawarich.md complete. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
11 KiB
Onboarding record — dawarich
app: dawarich opened: 2026-10-01 template_at: the commit that publishes this record (freikin/dawarich 1.15.3 ×2, postgis/postgis:17-3.5-alpine, redis:7.4-alpine)
0.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/A/A1-github-facts.txt — AGPL-3.0; upstream's own image, pulled
0.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/A/A1-github-facts.txt — 1.15.3 on 2026-09-30; 56 releases in 2026 (expect frequent update steps)
0.3 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/FIT.md — plain x.y.z tags; the app is amd64/arm/arm64, postgis/postgis amd64 only
0.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt ; felhom.eu/documentation/audits/new-apps-2026-10-01/shots/dawarich/1.png — reverse geocoding OFF (no geocoder set), telemetry removed upstream, no outbound connection at rest but the internal ones; the browser loads map tiles from Dawarich's tile server (the page says so); an OPT-IN "What's New" widget would load from my.chibichange.com — it asks, off by default
0.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/install.txt — first start needs nothing but the images; the map's tiles need the internet in the BROWSER
0.6 | n/a | Dawarich serves HTTP on port 3000 only; the database and Redis stay internal
0.7 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/install.txt — the phone apps' route (Overland batches with the API key) through traefik after the install hold opened: 201, read back; no key / wrong key 401
0.8 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — tagline + use_cases: instead of Google Timeline
0.9 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich/evidence/MV-dawarich/verdict.json — runs on the bench; APPLICATION_HOSTS names the public name but the app serves any listed host
1.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/G/gates-dawarich.txt — image-pins and image-resolvable exit 0
1.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/A/compose/dawarich.yml — postgis/postgis:17-3.5-alpine and redis:7.4-alpine, as upstream's compose (decision 42's rule)
1.3 | done | app-catalog-felhom.eu/templates/dawarich/docker-compose.yml — PostgreSQL 17: the data mount at /var/lib/postgresql/data is right below 18; engine-major gate exit 0
1.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich/evidence/MV-dawarich/verdict.json ; felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/step.txt — 1.15.2 seeded, stepped INTO 1.15.3; the entrypoints migrate at every start (seen in the log); read back on both venues
1.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — puma (production) and sidekiq; RAILS_ENV production
1.6 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S1-dawarich-reads.txt — SECRET_KEY_BASE and DB_PASSWORD generated (upstream's defaults are CHANGE_ME / password); the admin password replaced by after_install
1.7 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S1-dawarich-reads.txt — the entrypoints (web-entrypoint.sh, sidekiq-entrypoint.sh) migrate and seed at every start; nothing to switch
1.8 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — an unknown page is a plain 404
1.9 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — SECRET_KEY_BASE is data_key: true: Dawarich encrypts columns with keys derived from it; the restore recovered it (data_keys=1, box/dawarich/restore.txt)
2.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/G/cvp-dawarich-tail.txt — volume-persistence gate CLEAN
2.2 | done | app-catalog-felhom.eu/templates/dawarich/docker-compose.yml — named volumes (NVMe): database, public, storage, watched imports, redis
2.3 | n/a | needs_hdd false: no drive path to classify; the tier-1 unit holds the database dump and the volumes
2.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/install.txt — the app migrated, seeded and stored the point on first start
2.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/restore.txt — the update's per-app backup, remove keeping backups, restore: the point read back AND the household's own password signs in (303); the box's regenerated admin value is unused
2.6 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/restore.txt ; felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/remove.txt — both remove choices delete every volume; no drive data exists
2.7 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — 124 MB database + 33 MB public on install (the country shapes); a year of points adds tens of MB
2.8 | n/a | the household uploads location files (imports), not files it opens again; the points read back (2.5)
3.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — class 3, measured
3.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — through traefik with the browser's https Origin: default refused (422), generated signs in (303), wrong refused
3.3 | n/a | no open first-run screen: the seeded account exists from the first start
3.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — registration off for self-hosted: GET /users/sign_up 302, POST /users 422, still one user
3.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/throttle-and-window.txt — the install hold kept strangers out until after_install (16:09:24); the first public answer 2 s later
3.6 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/throttle-and-window.txt — per-minute throttles (5 per email, 20 per address — one address behind the tunnel, R-753) hold everyone out ~1 min; 10 wrong tries LOCK the public name for 1 h (Devise). Kept, as mealie (09 decision 57); the first step tells the household to set its own e-mail; the phone apps' API key works while locked
3.7 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — add_people: the admin creates family accounts (Settings, Users); password and e-mail change in the account settings
3.8 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — bin/rails runner … ARGV[0]: the password is its own argument
3.9 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt ; felhom.eu/documentation/audits/new-apps-2026-10-01/shots/dawarich/1.png — browser sign-in over https through traefik (headless Chrome signed in) and the phone apps' API route
4.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S1-dawarich-reads.txt — wget/curl/pgrep in the app image; pg_isready, redis-cli for the sidecars; 127.0.0.1
4.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/G/gates-dawarich.txt — probe-matches-compose exit 0
4.3 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/install.txt — all four healthy 153 s after the press (pulls + migrations + seed), 0 restarts; start_period 120 s for the app
4.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — the app container stopped: degraded within 10 s, front door 404; back 25 s after start
4.5 | done | app-catalog-felhom.eu/templates/dawarich/docker-compose.yml — container_name: dawarich; sidecars dawarich-sidekiq, dawarich-db, dawarich-redis
5.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich/mem-dawarich.csv — bench, swap 0, from birth: app 460 MiB (45 %), sidekiq 270 (26 %), db 148 (29 %), redis 12; 0 kills
5.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich/evidence/MV-dawarich/verdict.json ; felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/remove.txt — 10-min watch: app 33 %, sidekiq 23 %; on the box with a 60-point track import the app peaked 49 %; 0 kills
5.3 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — mem_limit 2688M = 1024 + 1024 + 512 + 128
5.4 | n/a | Dawarich is Ruby (puma + sidekiq), no self-sizing heap
5.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S1-dawarich-reads.txt — pi_compatible false (postgis/postgis has no arm image); ~2 GB of images
6.1 | done | app-catalog-felhom.eu/scripts/upgrade_fixtures_box.py — Dawarich: a point through the phone apps' route, three negative controls
6.2 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — the first ladder step 1.15.2 -> 1.15.3 (app and sidekiq together), written by upgrade-test.py --write-ladder
6.3 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/undo/box/radicale/step.txt — the box's own undo, proven on a real failed step this session (Radicale); Dawarich's step ran the same guarded Update
6.4 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich/evidence/MV-dawarich/verdict.json — no mark
6.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/FIT.md — plain x.y.z, very frequent (56 in 2026)
7.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/bench/dawarich-mail-off-boot.txt — smtp_mapping (STARTTLS, the shim's certificate accepted, no auth); a fresh install with mail OFF boots and its reset page answers. Mail ON not provable on 9202 (R-774)
8.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/G/gates-dawarich.txt — copy-i18n exit 0 (frozen with --add-app; the first run named a missing English twin, added)
8.2 | done | app-catalog-felhom.eu/templates/dawarich/.felhom.yml — tagline, use_cases, first_steps (incl. the e-mail change and the tile sentence), default_creds, add_people; followed on 9202
8.3 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S3-dawarich-assets.txt — logo + three screenshots answer 200; boxes get them with the next hub release (R-766)
8.4 | done | app-catalog-felhom.eu/README.md — both tables; FIRST-ADMIN row; category travel; catalog_since
8.5 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/S/S3-dawarich-assets.txt — the website's count holds
9.1 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/G/gates-dawarich.txt — every gate exit 0, the runtime volume gate included
9.2 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/install.txt ; felhom.eu/documentation/audits/new-apps-2026-10-01/box/dawarich/checks.txt — a fresh install from the drill catalog, as household and stranger
9.3 | done | felhom.eu/documentation/audits/new-apps-2026-10-01/README.md — every row done or n/a; open questions are rows (R-753 tunnel address, R-774 mail ON)
9.4 | done | app-catalog-felhom.eu/onboarding/dawarich.md — published in one commit with this record (the onboarding gate)