{ config, containerCfg, pkgs, lib, builder, name,... }: let version = "latest"; serverCfg = config.syscfg.server; settings = pkgs.writers.writeYAML "settings.yaml" { title = "My Self-Hosted Dashboard"; base = ""; theme = "dark"; # Nested structures transfer natively to YAML blocks # layout = { # Infrastructure = { # style = "grid"; # columns = 3; # }; # }; }; in { sops = false; db = false; containers = { server = builder.mkContainer { subdomain = containerCfg.subdomain; image = "ghcr.io/gethomepage/homepage:${version}"; port = 3000; extraEnv = { HOMEPAGE_ALLOWED_HOSTS = "${containerCfg.subdomain}.${serverCfg.domain},${builder.host}"; }; extraLabels = { "traefik.http.routers.${containerCfg.subdomain}.service" = "${containerCfg.subdomain}"; }; overrides = { volumes = [ "${settings}:/app/config/settings.yaml:ro" ]; }; }; }; }