{ domain, ... }:
-{ pkgs, lib, config, ... }:
+{ pkgs, lib, config, hostName, ... }:
let
inherit (config) networking;
inherit (config.security) gnupg;
inherit (config.services) nginx;
- srv = "losurdo";
root = "/var/lib/nginx";
onion = "dfc66yn2fundui5yvq2ndx4nmcmbxpho4ji32tlc4cncrjvs2b5yu4id";
in
{
services.tor = {
- relay.onionServices."nginx/${domain}/${srv}" = {
+ relay.onionServices."nginx/${domain}/${hostName}" = {
secretKey = gnupg.secrets."tor/onion/${onion}/hs_ed25519_secret_key".path;
map = [
80
virtualHosts."${onion}.onion" = {
root = root + "/dl";
extraConfig = ''
- access_log /var/log/nginx/${domain}/${srv}/access.json json buffer=32k;
- error_log /var/log/nginx/${domain}/${srv}/error.log warn;
+ access_log /var/log/nginx/${domain}/${hostName}/access.json json buffer=32k;
+ error_log /var/log/nginx/${domain}/${hostName}/error.log warn;
'';
locations."/".extraConfig = ''
autoindex on;
#open_file_cache_valid 1s;
'';
};
- virtualHosts."${srv}.${domain}" = {
+ virtualHosts."${hostName}.${domain}" = {
serverAliases = [ domain ];
#onlySSL = true;
#addSSL = true;
useACMEHost = domain;
root = root;
extraConfig = ''
- access_log /var/log/nginx/${domain}/${srv}/access.json json buffer=32k;
- error_log /var/log/nginx/${domain}/${srv}/error.log warn;
+ access_log /var/log/nginx/${domain}/${hostName}/access.json json buffer=32k;
+ error_log /var/log/nginx/${domain}/${hostName}/error.log warn;
'';
locations."/".extraConfig = ''
#autoindex on;
open_file_cache off;
#open_file_cache_valid 1s;
'';
- locations."/perso".extraConfig = ''
- auth_basic "authentication required";
- auth_basic_user_file ${gnupg.secrets."nginx/perso/htpasswd".path};
- autoindex on;
- '';
+ locations."/perso" = {
+ basicAuthFile = gnupg.secrets."nginx/perso/htpasswd".path;
+ extraConfig = ''
+ autoindex on;
+ '';
+ };
};
};
systemd.services.nginx = {
serviceConfig = {
- LogsDirectory = lib.mkForce ["nginx/${domain}/${srv}"];
+ LogsDirectory = lib.mkForce [
+ "nginx/${domain}/${hostName}"
+ "nginx/wg-intra/${hostName}"
+ ];
BindReadOnlyPaths = [
"/home/julm/work/sourcephile/web:${root}/julm"
"/home/julm/dl:${root}/dl"