34 lines
942 B
Nix
34 lines
942 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
{
|
|
vHost =
|
|
if config.services.forgejo.enable
|
|
then {
|
|
root = "${config.services.forgejo.stateDir}/public";
|
|
extraConfig = ''
|
|
location / {
|
|
try_files maintain.html $uri $uri/index.html @node;
|
|
}
|
|
|
|
location @node {
|
|
client_max_body_size 0;
|
|
proxy_pass http://${config.services.forgejo.settings.server.HTTP_ADDR}:${toString config.services.forgejo.settings.server.HTTP_PORT};
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Forwarded-Ssl on;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_max_temp_file_size 0;
|
|
proxy_redirect off;
|
|
proxy_read_timeout 120;
|
|
}
|
|
'';
|
|
}
|
|
else {};
|
|
}
|
|
.vHost
|