screego: Init module

This commit is contained in:
SebastianStork 2026-01-22 21:34:49 +01:00
parent 3f7b4a894d
commit 8336c3b5ac
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q

View file

@ -0,0 +1,31 @@
{ config, lib, ... }:
let
cfg = config.custom.web-services.screego;
in
{
options.custom.web-services.screego = {
enable = lib.mkEnableOption "";
domain = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "";
};
port = lib.mkOption {
type = lib.types.port;
default = 5050;
};
};
config = lib.mkIf cfg.enable {
services.screego = {
enable = true;
openFirewall = true;
settings = {
SCREEGO_EXTERNAL_IP = config.custom.networking.underlay.address;
SCREEGO_SERVER_ADDRESS = "127.0.0.1:${toString cfg.port}";
SCREEGO_TURN_ADDRESS = "${config.custom.networking.underlay.address}:3478";
};
};
custom.services.caddy.virtualHosts.${cfg.domain}.port = cfg.port;
};
}