Skip to content

deploy: Unraid host networking + writable store volume for discovery; release-driven redeploy docs - #3

Merged
tarakanof merged 2 commits into
mainfrom
docs/deploy-host-networking
Jun 10, 2026
Merged

tarakanof merged 2 commits into
mainfrom
docs/deploy-host-networking

Conversation

@tarakanof

@tarakanof tarakanof commented Jun 10, 2026 •

Copy link
Copy Markdown
Owner

Follow-up to #1, hardening the Unraid deploy for the discovery feature + correcting the deploy docs. Reviewed (self-review pass included below).

deploy/unraid/ember.xml

  • Network: bridge → host — clock + server mDNS discovery (and _ember._tcp) need multicast, which doesn't cross the bridge.
  • Added a writable /var/lib/ember volume (the SQLite db_path). The template never persisted it, so Pomodoro stats, Weather/Reminders config, and the new Device-tab clock override reset on every container update. (Found during review — pre-existing gap, made impactful by the new feature.)
  • Dropped the Type="Port" WebUI config (meaningless under host networking; a stray -p conflicts with --network host) and hardcoded the WebUI link to :8080.
  • Exposed EMBER_MDNS_ADVERTISE as an advanced var; awtrix.http_base_url is now noted optional (auto-discovered); install steps note host networking + the free-:8080 requirement.

docs/RUNBOOK.md

  • Made explicit that redeploy is release-driven (publish a vX.Y.Z Release → workflow builds + pushes to Docker Hub → repoint the container; no latest-from-main auto-build).
  • Recreate command uses --network host (drops -p 8080:8080), with an Unraid note; dev section notes the -p form is fine except for discovery; refreshed the stale v0.1.x line.

To ship the discovery feature (#1)

gh release create v0.3.0 --target main → workflow publishes dtarakanov/ember:0.3.0 + :latest → on Unraid, the template now defaults to host networking + a persistent store; recreate the container (switching from bridge → host requires remove + re-add).

XML validated (xmllint). No code change.

…ease-driven redeploy

The discovery feature (clock + _ember._tcp) needs multicast, which doesn't cross
the default Docker bridge. Switch the Unraid template to Network: host, note the
WebUI port is then informational + clock URL becomes optional (auto-discovered),
and update the RUNBOOK: recreate the container with --network host (drop -p), and
spell out that a redeploy is release-driven (no latest-from-main auto-build).
…Port config, expose EMBER_MDNS_ADVERTISE

Self-review of the host-networking change:
- Add a rw '/var/lib/ember' volume — the SQLite store (Pomodoro stats, Weather/
  Reminders config, and the new Device-tab clock override) lives there and was
  NOT persisted by the template, so it reset on every update.
- Drop the Type=Port WebUI config (meaningless under host networking; could
  inject a -p that conflicts) and hardcode the WebUI link to :8080.
- Expose EMBER_MDNS_ADVERTISE as an advanced var; tidy the install steps.
@tarakanof tarakanof changed the title docs(deploy): host networking for mDNS discovery + release-driven redeploy deploy: Unraid host networking + writable store volume for discovery; release-driven redeploy docs Jun 10, 2026
@tarakanof
tarakanof merged commit dfdbdb8 into main Jun 10, 2026
@tarakanof
tarakanof deleted the docs/deploy-host-networking branch June 10, 2026 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant