Remilia: add more stuff in nginx service
This commit is contained in:
@@ -8,8 +8,9 @@
|
|||||||
./remilia/hardware.nix
|
./remilia/hardware.nix
|
||||||
./remilia/boot.nix
|
./remilia/boot.nix
|
||||||
./remilia/services.nix
|
./remilia/services.nix
|
||||||
|
./remilia/builder.nix
|
||||||
../../configs/nvim.nix
|
../../configs/nvim.nix
|
||||||
];
|
];
|
||||||
programs.gnupg.agent.enable = lib.mkForce false;
|
# programs.gnupg.agent.enable = lib.mkForce false;
|
||||||
system.stateVersion = "21.11";
|
system.stateVersion = "21.11";
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
{config, ...}:
|
{config, ...}:
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
|
kernel.sysctl."net.ipv4.ip_forward" = 1;
|
||||||
initrd.kernelModules = [ "bochs_drm" ];
|
initrd.kernelModules = [ "bochs_drm" ];
|
||||||
initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" ];
|
initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" ];
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
14
hosts/servers/remilia/builder.nix
Normal file
14
hosts/servers/remilia/builder.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{config, ...}:
|
||||||
|
{
|
||||||
|
nix.buildMachines = [ {
|
||||||
|
hostName = "Satori";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
maxJobs = 4;
|
||||||
|
speedFactor = 2;
|
||||||
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||||||
|
}] ;
|
||||||
|
nix.distributedBuilds = true;
|
||||||
|
nix.extraOptions = ''
|
||||||
|
builders-use-substitutes = true
|
||||||
|
'';
|
||||||
|
}
|
@@ -1,13 +1,50 @@
|
|||||||
{config, ...}:
|
{config, pkgs, ...}:
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
hostName = "Remilia";
|
hostName = "Remilia";
|
||||||
firewall.allowedTCPPorts = [ 22 80 ];
|
firewall = {
|
||||||
|
interfaces = {
|
||||||
|
ens3 = {
|
||||||
|
allowedTCPPorts = [ 22 80 443 ];
|
||||||
|
allowedUDPPorts = [ 17840 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
interfaces = {
|
interfaces = {
|
||||||
ens3 = {
|
ens3 = {
|
||||||
useDHCP = true;
|
useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
nat = {
|
||||||
|
enable = true;
|
||||||
|
externalInterface = "ens3";
|
||||||
|
internalInterfaces = [ "wg0" ];
|
||||||
|
};
|
||||||
|
wireguard.interfaces = {
|
||||||
|
wg0 = {
|
||||||
|
ips = [ "10.55.0.1/24" ];
|
||||||
|
listenPort = 17840;
|
||||||
|
postSetup = ''
|
||||||
|
${pkgs.iptables}/bin/iptables -A FORWARD -i wg0 -j ACCEPT
|
||||||
|
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.55.0.0/24 -o ${config.networking.nat.externalInterface} -j MASQUERADE
|
||||||
|
'';
|
||||||
|
postShutdown = ''
|
||||||
|
${pkgs.iptables}/bin/iptables -D FORWARD -i wg0 -j ACCEPT
|
||||||
|
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.55.0.0/24 -o ${config.networking.nat.externalInterface} -j MASQUERADE
|
||||||
|
'';
|
||||||
|
privateKeyFile = "/var/secrets/wg";
|
||||||
|
peers = [
|
||||||
|
{
|
||||||
|
publicKey = "m9SSpkj+r2QY4YEUMEoTkbOI/L7C39Kh6m45QZ5mkw4=";
|
||||||
|
allowedIPs = [ "10.55.0.2/32" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
publicKey = "SqskEH7hz7Gv9ZS+FYLRFgKZyJCFbBFCyuvzBYnbfVU=";
|
||||||
|
allowedIPs = [ "10.55.0.3/32" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,12 +1,47 @@
|
|||||||
{config, ...}:
|
{config, pkgs, ...}:
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
permitRootLogin = "yes";
|
permitRootLogin = "yes";
|
||||||
};
|
};
|
||||||
|
nginx = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.nginx;
|
||||||
|
virtualHosts = {
|
||||||
|
"weirdnatto.in" = {
|
||||||
|
addSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/".proxyPass = "http://10.55.0.2:80";
|
||||||
|
};
|
||||||
|
"git.weirdnatto.in" = {
|
||||||
|
addSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://10.55.0.2:5001";
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"mail.weirdnatto.in" = {
|
||||||
|
addSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/" = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHingN2Aho+KGgEvBMjtoez+W1svl9uVoa4vG0d646j"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHingN2Aho+KGgEvBMjtoez+W1svl9uVoa4vG0d646j"
|
||||||
];
|
];
|
||||||
|
security.acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
certs = {
|
||||||
|
"weirdnatto.in".email = "natto+acme@weirdnatto.in";
|
||||||
|
"git.weirdnatto.in".email = "git+acme@weirdnatto.in";
|
||||||
|
"mail.weirdnatto.in".email = "mail+acme@weirdnatto.in";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user