Files
app-catalog-felhom.eu/onboarding/dawarich.md
T

73 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
<!--
Evidence root: felhom.eu/documentation/audits/new-apps-2026-10-01/ — bench/dawarich/ (bench 9401, swap 0), box/dawarich/
(scratch guest 9202, drill catalog), S/ (image reads, screenshots' assets), G/ (gates). The smtp_mapping lines were added
after the step proofs (env only, no image); a mail-OFF boot was measured on the final compose (7.1).
-->
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/persistence-sweep-2026-10-02/A/sweep/TABLE.md ; felhom.eu/documentation/audits/persistence-sweep-2026-10-02/A/sweep/evidence/dawarich/probe.json — re-sweep 2026-10-02 with the fixed gate: UNDETERMINED for ONE volume only, `dawarich-redis /data` (Redis writes its snapshot on its own schedule; a job queue, not the household's data — R-807); the app's own data (PostGIS) landed in its volume; nothing written outside a preserved folder (0 BROKEN). The 2026-10-01 CLEAN came from start-time writes alone
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)