Skip to main content

Development

This guide covers building, testing, and changing Nixstasis. Production procedures live in the Operations section.

Linux is the supported runtime, release, and packaging-validation platform. Running developer tools on another host does not establish native support for that platform, and native client packaging checks must run on Linux.

Guides​

Local stack​

The local stack mirrors the production deployment so Caddy TLS approval, FRP, managed-device simulation, and browser-launched SSH terminals can be exercised end to end; Local Stack describes how to run it.

  • Laptop mode uses local hostnames and internal Caddy certificates, so no public DNS or certificate issuance is needed.
  • Public-fidelity validation can use DuckDNS or an operator-owned domain when public ACME behavior must be tested.

Standards​

  • User-facing features meet WCAG 2.1 AA: contrast ratios, visible keyboard focus, form labels, error announcements, and modal dialog behavior.
  • Local development keeps the production boundary in which browser traffic reaches Phoenix through Caddy.
  • Terminal testing exercises LiveView, Phoenix Channels, server-side SSH, FRP TCP muxing, and the managed client rather than direct shell shortcuts.
  • Development certificates, local keys, generated Compose overrides, and runtime state stay out of source control.