nixos-config/hosts/web/webserver.nix

68 lines
1.4 KiB
Nix

{config, pkgs, ...}:
let
caddyDir = "/var/lib/caddy";
in
{
services.caddy = {
enable = true;
email = "lucazeau.alexandre@gmail.com";
extraConfig = ''
storage file_system {
root * ${caddyDir}
}
https://git.atlanticaweb.fr {
encode gzip
reverse_proxy http://localhost:3001
}
https://films.atlanticaweb.fr {
encode gzip
reverse_proxy http://localhost:8096
}
https://pocket.atlanticaweb.fr {
encode gzip
reverse_proxy http://localhost:8080
}
https://search.atlanticaweb.fr {
reverse_proxy http://localhost:5000
}
atlanticaweb.fr {
root * /srv/www/atlanticaweb.fr
encode gzip zstd
file_server
}
atlanticaweb.fr:2021 {
metrics
}
https://sync.atlanticaweb.fr {
reverse_proxy http://localhost:8384 {
header_up Host {upstream_hostport}
}
}
www.atlanticaweb.fr {
redir https://atlanticaweb.fr{uri}
}
pizzajoffre.fr {
root * /srv/www/pizzajoffre.fr
encode gzip zstd
file_server
}
www.pizzajoffre.fr {
redir https://pizzajoffre.fr{uri}
}
'';
};
users.users.caddy = {
group = "caddy";
uid = config.ids.uids.caddy;
home = caddyDir;
createHome = true;
extraGroups = [ "users" ];
};
users.groups.caddy.gid = config.ids.uids.caddy;
services.jellyfin.enable = true;
services.shiori.enable = true;
}