42 lines
1.0 KiB
Nix
42 lines
1.0 KiB
Nix
{ 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"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
} |