diff --git a/services/irc.nix b/services/irc.nix new file mode 100644 index 0000000..ecdc5ad --- /dev/null +++ b/services/irc.nix @@ -0,0 +1,29 @@ +{ + users = { + groups.irc = {}; + users.irc = { + name = "irc"; + group = "irc"; + isSystemUser = false; + isNormalUser = true; + home = "/var/irc"; + createHome = true; + }; + }; + + services.nginx.virtualHosts."irc.hermitcollective.net" = { + forceSSL = true; + enableACME = true; + locations."/" = { + proxyPass = "http://localhost:6667"; + proxyWebsockets = true; # needed if you need to use WebSocket + extraConfig = + # required when the target is also TLS server with multiple hosts + "proxy_ssl_server_name on;" + + # required when the server wants to use HTTP Authentication + "proxy_pass_header Authorization;" + ; + }; + }; +} + diff --git a/services/nextcloud.nix b/services/nextcloud.nix index 1ee701b..eef9f37 100644 --- a/services/nextcloud.nix +++ b/services/nextcloud.nix @@ -3,7 +3,7 @@ { services.nextcloud = { enable = true; - package = pkgs.nextcloud30; + package = pkgs.nextcloud32; appstoreEnable = true; hostName = "cloud.hermitcollective.net"; config = { diff --git a/services/terraria.nix b/services/terraria.nix new file mode 100644 index 0000000..a5bcb0f --- /dev/null +++ b/services/terraria.nix @@ -0,0 +1,25 @@ +{ + services.terraria = { + enable = true; + port = 7777; + openFirewall = true; + worldPath = "/var/terraria/"; + autoCreatedWorldSize = "large"; + }; + # Homepage + services.nginx.virtualHosts."terraria.hermitcollective.net" = { + forceSSL = true; + enableACME = true; + locations."/" = { + proxyPass = "http://localhost:7777"; + proxyWebsockets = true; # needed if you need to use WebSocket + extraConfig = + # required when the target is also TLS server with multiple hosts + "proxy_ssl_server_name on;" + + # required when the server wants to use HTTP Authentication + "proxy_pass_header Authorization;" + ; + }; + }; +} +