64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
{ pkgs, config, lib, ... }: {
|
|
systemd = {
|
|
services = {
|
|
"dvb-api" = {
|
|
enable = true;
|
|
wantedBy = [ "multi-user.target" ];
|
|
|
|
script = "exec ${pkgs.dvb-api}/bin/dvb-api &";
|
|
|
|
environment = {
|
|
"GRPC_HOST" = "127.0.0.1:50051";
|
|
"DEFAULT_WEBSOCKET_HOST" = "127.0.0.1:9001";
|
|
"GRAPH_FILE" = "${config.dvb-dump.graphJson}";
|
|
"STOPS_FILE" = "${config.dvb-dump.stopsJson}";
|
|
};
|
|
|
|
serviceConfig = {
|
|
Type = "forking";
|
|
User = "dvb-api";
|
|
Restart = "always";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
services = {
|
|
nginx = {
|
|
enable = true;
|
|
recommendedProxySettings = true;
|
|
virtualHosts = {
|
|
"socket.dvb.solutions" = {
|
|
enableACME = true;
|
|
locations = {
|
|
"/" = {
|
|
proxyPass = "http://127.0.0.1:9001/";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
};
|
|
"api.dvb.solutions" = {
|
|
enableACME = true;
|
|
onlySSL = true;
|
|
locations = {
|
|
"/" = {
|
|
proxyPass = "http://127.0.0.1:9002/";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
# user accounts for systemd units
|
|
users.users = {
|
|
dvb-api = {
|
|
name = "dvb-api";
|
|
description = "public dvb api serive";
|
|
isNormalUser = true;
|
|
extraGroups = [ ];
|
|
};
|
|
};
|
|
}
|