services: add znc and some random changes networking: random changes mailserver: add masti@weirdnatto.in and some other misc changes
157 lines
4.5 KiB
Nix
Executable File
157 lines
4.5 KiB
Nix
Executable File
{ config, pkgs, lib, ... }:
|
|
{
|
|
services = {
|
|
openssh = {
|
|
enable = true;
|
|
permitRootLogin = "yes";
|
|
ports = [ 22001 22002 ];
|
|
};
|
|
znc = {
|
|
enable = true;
|
|
mutable = true;
|
|
useLegacyConfig = false;
|
|
};
|
|
nginx = {
|
|
enable = true;
|
|
package = (pkgs.nginx.overrideAttrs (oa: {
|
|
configureFlags = oa.configureFlags ++ [ "--with-mail" "--with-mail_ssl_module" ];
|
|
}));
|
|
virtualHosts = {
|
|
"weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/".proxyPass = "http://10.55.0.2:80";
|
|
serverAliases = [ "www.weirdnatto.in" ];
|
|
};
|
|
"git.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://10.55.0.2:5000";
|
|
extraConfig = ''
|
|
client_max_body_size 64M;
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
"vault.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "https://10.55.0.2:8800";
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
"consul.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://10.55.0.2:8500";
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
"nomad.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://10.55.0.2:4646";
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
proxy_buffering off;
|
|
proxy_read_timeout 310s;
|
|
'';
|
|
};
|
|
};
|
|
"radio.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://10.55.0.3:8000";
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
"ci.weirdnatto.in" = {
|
|
addSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://10.55.0.2:6666";
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
/*streamConfig = ''
|
|
upstream gitea {
|
|
server 10.55.0.2:222;
|
|
}
|
|
server {
|
|
listen 22001;
|
|
proxy_pass gitea;
|
|
}
|
|
'';*/
|
|
};
|
|
vault-agent = {
|
|
enable = true;
|
|
settings = {
|
|
vault = {
|
|
address = "https://10.55.0.2:8800";
|
|
client_cert = "/var/certs/cert.pem";
|
|
client_key = "/var/certs/key.pem";
|
|
};
|
|
auto_auth = {
|
|
method = [
|
|
{
|
|
"cert" = {
|
|
name = "Remilia";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
template = [
|
|
{
|
|
source = pkgs.writeText "wg.tpl" ''
|
|
{{ with secret "kv/systems/Remilia/wg" }}{{ .Data.data.private }}{{ end }}
|
|
'';
|
|
destination = "/var/secrets/wg.key";
|
|
}
|
|
{
|
|
source = pkgs.writeText "natto@weirdnatto.in.tpl" ''
|
|
{{ with secret "kv/systems/Remilia/mail" }}{{ .Data.data.nattomail }}{{ end }}
|
|
'';
|
|
destination = "/var/secrets/natto@weirdnatto.in.key";
|
|
}
|
|
{
|
|
source = pkgs.writeText "masti@weirdnatto.in.tpl" ''
|
|
{{ with secret "kv/systems/Remilia/mail" }}{{ .Data.data.mastimail }}{{ end }}
|
|
'';
|
|
destination = "/var/secrets/masti@weirdnatto.in.key";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHingN2Aho+KGgEvBMjtoez+W1svl9uVoa4vG0d646j"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILCH975XCps+VCzo8Fpp5BkbtiFmj9y3//FBVYlQ7/yo"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK0jyHWuWBKzucnARINqQ/A0AFPghxayh0DDthbpOhaz"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKFyKi0HYfkgvEDvjzmDRGwAq2z2KOkfv7scTVSnonBh"
|
|
];
|
|
security.acme = {
|
|
acceptTerms = true;
|
|
certs = {
|
|
"weirdnatto.in".extraDomainNames = lib.singleton "www.weirdnatto.in";
|
|
} //
|
|
lib.mapAttrs' (n: _: lib.nameValuePair n ({ email = "natto@weirdnatto.in"; })) config.services.nginx.virtualHosts;
|
|
};
|
|
security.pki.certificateFiles = [ ../../cert.pem ];
|
|
}
|