Use dashy for services homepage
All checks were successful
Check Flake / check-flake (push) Successful in 5m25s
All checks were successful
Check Flake / check-flake (push) Successful in 5m25s
This commit is contained in:
53
common/server/dashy.nix
Normal file
53
common/server/dashy.nix
Normal file
@@ -0,0 +1,53 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.dashy;
|
||||
in
|
||||
{
|
||||
options.services.dashy = {
|
||||
enable = mkEnableOption "dashy";
|
||||
imageTag = mkOption {
|
||||
type = types.str;
|
||||
default = "latest";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 56815;
|
||||
};
|
||||
configFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = "Path to the YAML configuration file";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.oci-containers.containers = {
|
||||
dashy = {
|
||||
image = "lissy93/dashy:${cfg.imageTag}";
|
||||
environment = {
|
||||
TZ = "${config.time.timeZone}";
|
||||
};
|
||||
ports = [
|
||||
"127.0.0.1:${toString cfg.port}:80"
|
||||
];
|
||||
volumes = [
|
||||
"${cfg.configFile}:/app/public/conf.yml"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts."s0.koi-bebop.ts.net" = {
|
||||
default = true;
|
||||
addSSL = true;
|
||||
serverAliases = [ "s0" ];
|
||||
sslCertificate = "/secret/ssl/s0.koi-bebop.ts.net.crt";
|
||||
sslCertificateKey = "/secret/ssl/s0.koi-bebop.ts.net.key";
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -19,5 +19,6 @@
|
||||
./iodine.nix
|
||||
./searx.nix
|
||||
./gitea-actions-runner.nix
|
||||
./dashy.nix
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user