Skip to content

Template the NetBird hostname instead of hardcoding netbird.stoganet.com #4

Description

@koinsaari

Summary

netbird.stoganet.com is hardcoded in several places where the other hostnames use \${DOMAIN} or environment variables. This makes the repo less portable and harder to reuse.

Context

Most service hostnames in compose/Caddyfile are derived from \${DOMAIN} (e.g. jellyfin.\${DOMAIN}, seerr.\${DOMAIN}). The NetBird hostname is the exception — it appears as a literal in:

  • compose/Caddyfile (site block)
  • compose/netbird/config.yaml.example (exposedAddress, auth.issuer, dashboardRedirectURIs)
  • compose/netbird/dashboard.env (NETBIRD_MGMT_API_ENDPOINT, AUTH_AUTHORITY)
  • compose/setup.sh (--management-url)

Scope

  • Introduce NETBIRD_HOSTNAME (or reuse \${DOMAIN} + a netbird subdomain) consistently across all four files
  • Update the .example files to use the placeholder
  • Keep the live config working through the migration

Out of scope: any change to NetBird's runtime behavior. This is purely templating.

Acceptance criteria

  • No literal netbird.stoganet.com remains in tracked files (except possibly in docs/ prose)
  • Fresh-host bootstrap with a different domain works end to end
  • Existing deployment continues to work after pulling the change

Notes

Care needed with dashboard.env because the NetBird dashboard reads those values at container start — needs a restart of the dashboard container after the change, not just Caddy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions