debug stuff

This commit is contained in:
efim 2023-08-06 14:54:17 +00:00
parent 24b42352b3
commit d5b456b25f
1 changed files with 64 additions and 21 deletions

View File

@ -73,34 +73,34 @@
description = "Whether to use Nginx to proxy requests."; description = "Whether to use Nginx to proxy requests.";
}; };
}; };
config = lib.mkIf cfg.enable { config.users = lib.mkIf cfg.enable {
users.groups."${backendName}-group" = { }; users.groups."${backendName}-group" = { };
users.users."${backendName}-user" = { users.users."${backendName}-user" = {
isSystemUser = true; isSystemUser = true;
group = "${backendName}-group"; group = "${backendName}-group";
}; };
};
systemd.services.${backendName} = config.systemd.services.${backendName} = lib.mkIf cfg.enable {
description = "Exercise app ${backendName}";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
startLimitIntervalSec = 30;
startLimitBurst = 10;
serviceConfig =
let serverHost = if cfg.useNginx then "localhost" else cfg.host; let serverHost = if cfg.useNginx then "localhost" else cfg.host;
in { in {
description = "Exercise app ${backendName}"; ExecStart =
wantedBy = [ "multi-user.target" ]; "${pkgs.jdk}/bin/java -jar ${backendPackage}/bin/${backendName}.jar -p ${
after = [ "network.target" ]; toString cfg.port
startLimitIntervalSec = 30; } --host ${serverHost}";
startLimitBurst = 10; WorkingDirectory = "${backendPackage}/bin";
serviceConfig = { Restart = "on-failure";
ExecStart = User = "${backendName}-user";
"${pkgs.jdk}/bin/java -jar ${backendPackage}/bin/${backendName}.jar -p ${ Group = "${backendName}-group";
toString cfg.port
} --host ${serverHost}";
WorkingDirectory = "${backendPackage}/bin";
Restart = "on-failure";
User = "${backendName}-user";
Group = "${backendName}-group";
};
}; };
# this is only backend. Front end still configured and installed separately. };
services.nginx.virtualHosts.${cfg.host}.locations."/api" = { config.services.nginx.virtualHosts.${cfg.host}.locations."/api" =
lib.mkIf cfg.enable {
proxyPass = "http://127.0.0.1:${toString cfg.port}"; proxyPass = "http://127.0.0.1:${toString cfg.port}";
# this is config for websocket # this is config for websocket
extraConfig = '' extraConfig = ''
@ -116,7 +116,50 @@
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
''; '';
}; };
}; # config = lib.mkIf cfg.enable {
# users.groups."${backendName}-group" = { };
# users.users."${backendName}-user" = {
# isSystemUser = true;
# group = "${backendName}-group";
# };
# systemd.services.${backendName} =
# let serverHost = if cfg.useNginx then "localhost" else cfg.host;
# in {
# description = "Exercise app ${backendName}";
# wantedBy = [ "multi-user.target" ];
# after = [ "network.target" ];
# startLimitIntervalSec = 30;
# startLimitBurst = 10;
# serviceConfig = {
# ExecStart =
# "${pkgs.jdk}/bin/java -jar ${backendPackage}/bin/${backendName}.jar -p ${
# toString cfg.port
# } --host ${serverHost}";
# WorkingDirectory = "${backendPackage}/bin";
# Restart = "on-failure";
# User = "${backendName}-user";
# Group = "${backendName}-group";
# };
# };
# # this is only backend. Front end still configured and installed separately.
# services.nginx.virtualHosts.${cfg.host}.locations."/api" = {
# proxyPass = "http://127.0.0.1:${toString cfg.port}";
# # this is config for websocket
# extraConfig = ''
# rewrite ^/api/(.*)$ /$1 break;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# # Add the following lines for WebSocket support
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# '';
# };
# };
}; };
}); });
# see https://serokell.io/blog/practical-nix-flakes # see https://serokell.io/blog/practical-nix-flakes