Skip to content

feat(install): daemonless services get the color startup banner on both engines - #195

Open
ahze wants to merge 1 commit into
mainfrom
feat/banner-color-env
Open

ahze wants to merge 1 commit into
mainfrom
feat/banner-color-env

Conversation

@ahze

@ahze ahze commented Nov 1, 2026

Copy link
Copy Markdown
Member

Every daemonless service fjord installs gets DAEMONLESS_BANNER=color in its container environment, on both engines, so the Logs tab shows the full-color startup logo.

Since base-core ea30a34 the banner is mono by default: appjail logs read pipes through less, which takes the color logo for a binary file and stops on a prompt. fjord reads logs without a pager and its log pane renders 24-bit color, so it can ask for color.

  • podman: the variable is passed to each daemonless service's environment (compose.PassEnv) and set to color in the stack's .env.
  • AppJail: each jail built from a daemonless image names it in its oci environment, and directorEnv writes the value, like TZ.
  • A value the stack sets itself stands: in its compose, its bundle, or its .env (the wizard's value wins in the director's .env). Other images are left alone.
  • The comment on streamOutput said the UI renders logs in xterm.js; it is ui/src/ansi.ts.

Checked on netlab with zensical on podman and on AppJail through the new test/ui/banner (14/14): the logo in color with no gap between rows, the variable in podman inspect and in the jail's process environment, and DAEMONLESS_BANNER=plain written on the .env tab kept through Apply.

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