[Add] port options in nix flake

This commit is contained in:
Alois 2026-05-16 17:44:40 +02:00
commit 7e9e834326
2 changed files with 31 additions and 4 deletions

View file

@ -87,6 +87,18 @@
''; '';
}; };
apiPort = lib.mkOption {
type = lib.types.port;
default = 9188;
description = "Port for the web/API server.";
};
transportPort = lib.mkOption {
type = lib.types.port;
default = 9187;
description = "Port for the TTP/QUIC transport server.";
};
openFirewall = lib.mkOption { openFirewall = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = true; default = true;
@ -125,6 +137,11 @@
Restart = "always"; Restart = "always";
RestartSec = "5s"; RestartSec = "5s";
Environment = [
"API_PORT=${toString cfg.apiPort}"
"OMIKRON_PORT=${toString cfg.transportPort}"
];
EnvironmentFile = cfg.environmentFiles; EnvironmentFile = cfg.environmentFiles;
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
@ -161,8 +178,8 @@
}; };
networking.firewall = lib.mkIf cfg.openFirewall { networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ 9187 9188 ]; allowedTCPPorts = [ cfg.transportPort cfg.apiPort ];
allowedUDPPorts = [ 9187 9188 ]; allowedUDPPorts = [ cfg.transportPort cfg.apiPort ];
}; };
}; };
}; };

View file

@ -35,8 +35,13 @@ async fn main() {
log_in!("Incoming messages"); log_in!("Incoming messages");
log_out!("Outgoing messages"); log_out!("Outgoing messages");
let omikron_port: u16 = env::var("OMIKRON_PORT")
.ok()
.and_then(|s| s.parse().ok())
.unwrap_or(9187);
tokio::spawn(async move { tokio::spawn(async move {
match omikron_connection::start(9187).await { match omikron_connection::start(omikron_port).await {
Err(e) => log_err!(0, PrintType::General, "{:?}", e), Err(e) => log_err!(0, PrintType::General, "{:?}", e),
_ => {} _ => {}
} }
@ -59,7 +64,12 @@ async fn main() {
log!(" Users"); log!(" Users");
} }
let _ = server::server::start(9188).await; let api_port: u16 = env::var("API_PORT")
.ok()
.and_then(|s| s.parse().ok())
.unwrap_or(9188);
let _ = server::server::start(api_port).await;
tokio::signal::ctrl_c().await.unwrap(); tokio::signal::ctrl_c().await.unwrap();
} }