Compare commits

...

2 commits

Author SHA1 Message Date
root
c42316b4f6 pastila: weechat-relay 2024-06-01 19:52:34 +02:00
root
649f63f08d bleh 2024-06-01 19:19:37 +02:00
4 changed files with 49 additions and 15 deletions

View file

@ -10,7 +10,13 @@
services.openssh.enable = true;
services.openssh.settings.PermitRootLogin = lib.mkDefault "no";
services.fail2ban.enable = true;
services.fail2ban = {
enable = true;
maxretry = 5;
ignoreIP = [
"neptune.site.deuxfleurs.fr"
];
};
# Activate nix flakes.
nix.settings.experimental-features = [ "nix-command" "flakes" ];

View file

@ -13,6 +13,7 @@ in
./gitolite.nix
./letsencrypt.nix
./srv.nix
./weechat-relay.nix
];
# Use the GRUB 2 boot loader.

View file

@ -1,5 +1,8 @@
{ config, lib, pkgs, ... }:
let
up_dir = /srv/up;
in
{
services.nginx.enable = true;
@ -7,25 +10,29 @@
# in /home. So we need to use a different location.
users.users."up" = {
isNormalUser = true;
home = /srv/up;
group = config.services.nginx.group;
createHome = true;
homeMode = "750";
home = up_dir;
# group = config.services.nginx.group;
group = "nginx";
# Unsure why this is broken, but couldn't make things work without
# creating the directory by hand.
# createHome = true;
# homeMode = "750";
};
services.nginx.virtualHosts."srv.isomorphis.me" = {
forceSSL = true;
enableACME = true;
root = config.users.users."up".home;
locations."/" = {
extraConfig = ''
autoindex on;
'';
};
locations."/i/" = {
extraConfig = ''
autoindex off;
'';
root = up_dir;
locations ={
"/" = {
extraConfig = "autoindex on;";
};
"/.ssh" = {
return = "403";
};
"/i/" = {
extraConfig = "autoindex off;";
};
};
};
}

20
pastila/weechat-relay.nix Normal file
View file

@ -0,0 +1,20 @@
{ config, lib, pkgs, ... }:
let
mkProxy = port: {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:" + builtins.toString port + "/weechat";
proxyWebsockets = true;
extraConfig = ''
proxy_read_timeout 604800; # Prevent idle disconnects
proxy_set_header X-Real-IP $remote_addr; # Let WeeChat see the client's IP
'';
};
};
in
{
services.nginx.enable = true;
services.nginx.virtualHosts."relayjq.isomorphis.me" = mkProxy 9001;
}