Living Document Notice
Published 2026-09-19. The evolving architecture and revisions for this dispatch live in the Stax Digital Garden.

The Embers Engineering Roadmap - Self-Hosted Media for Trusted Circles

The Embers Engineering Roadmap - Self-Hosted Media for Trusted Circles: Warm sepia-white phosphor P4/P20 vector CRT macro showing central household node projecting roadmap trajectory vectors into private peer mesh rings

Building a self-hosted media platform for families requires prioritizing data durability, simple access controls, and low administrative overhead. This engineering roadmap details the milestones for storage driver expansion, progressive web app client offline caching, and end-to-end encrypted album distribution.

Architectural Priorities

Embers focuses on private household sharing rather than social broadcasting. The core architecture prioritizes four non-negotiable operational invariants:

  1. Zero public bearer links
  2. Pluggable POSIX and S3 storage targets
  3. Zero biometric scanning or machine learning dependencies
  4. Minimal administrative overhead on modest server hardware
[Phase 1: Foundation] ===> [Phase 2: Distribution] ===> [Phase 3: Client Sync]
 - SQLite + WAL              - S3 / MinIO backend         - PWA Offline Cache
 - PIN & Password gates      - WebAuthn Family Accounts   - Background Sync API
 - Sharp thumbnail worker    - Range-request streaming    - Selective Vault Replication

Roadmap Milestones and Deliverables

MilestoneComponentTarget StateInvariant Maintained
M1 (Current)Core Media IngestSharp image workers, SQLite catalog, PIN gatesZero bearer link exposure
M2 (Q4 2026)Video TranscodingHardware-accelerated H.264 remuxingSub-50ms seek latency
M3 (Q1 2027)PWA ClientService worker offline caching for mobile albumsRead-only local storage
M4 (Q2 2027)Federated SyncP2P encrypted replication between trusted home nodesZero cloud intermediary

Service Configuration Invariant

Verify running service parameters against the production specification:

# /etc/systemd/system/embers.service
[Unit]
Description=Embers Self-Hosted Media Server
After=network.target
 
[Service]
Type=simple
User=embers
Group=embers
WorkingDirectory=/var/lib/embers
ExecStart=/usr/bin/node /opt/embers/server/dist/index.js
Restart=always
RestartSec=5s
Environment=NODE_ENV=production
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
# Verify process state and memory footprint
$ systemctl status embers --no-pager
● embers.service - Embers Self-Hosted Media Server
     Loaded: loaded (/etc/systemd/system/embers.service; enabled)
     Active: active (running) since Wed 2026-09-10 08:00:00 UTC
   Main PID: 1204 (node)
     Memory: 42.4M
        CPU: 1.218s

  • Directus Target: embers
  • Garden Source Reference: MOC - The Digital Necropolis and Cold Decadal Storage, MOC - Bosun PKM Tools
  • Garden Source Reference: the-embers-engineering-roadmap-self-hosted-media-for-trusted-circles, embers-roadmap, systemd-configuration, trusted-circles