Changed
- The shipped application is now the Phoenix app (
app-phoenix/), replacing the Rails app.ghcr.io/dawarich-app/atlas/appis now built fromapp-phoenix/andcompose.ymlruns it (Phoenix on port 4000; Caddy proxiesapp:4000). - The Go
atlas-controlsidecar is absorbed into the Phoenix app. It is removed fromcompose.yml; the app now execsdocker compose/docker runagainst the host daemon directly (requires the docker socket mount +group_addalready wired incompose.yml). Thebuild-controlandtest-sidecarCI jobs are retired. - API responses are byte-for-byte equal to the Rails app, enforced by the
mix test --include paritygolden gate in CI.
Added
- Auto-generated
SECRET_KEY_BASEon first boot (persisted to/data/.secret_key_base, mode600) sodocker compose up -dstays zero-config — matching the legacy Rails behavior. Atlas.Release.migrate_from_rails/1— one-shot importer for upgrades from a Rails install:bin/atlas eval 'Atlas.Release.migrate_from_rails("/data/app.sqlite3")'copiesservices,region_selections, andsettingsinto the Phoenix DB (idempotent; backs the source up first).
Migration notes (upgrading from 0.1.x / Rails)
- The Phoenix app uses a different SQLite file (
/data/atlas.sqlite3) and schema. Settings/region selection/service state do not carry over automatically — runAtlas.Release.migrate_from_rails/1once against the old/data/app.sqlite3to preserve them. (User GPS data lives in Dawarich, not Atlas, and is unaffected.) - Schema migrations run automatically on boot.