diff --git a/secrets/etna/ngrokEnv.age b/secrets/etna/ngrokEnv.age new file mode 100644 index 0000000..1bb2018 --- /dev/null +++ b/secrets/etna/ngrokEnv.age @@ -0,0 +1,12 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2czErd0owQzc2d3ljMHRT +MzdXSGdwWmFhZy9iZDgzVldobXRFWENhMlY4Cmd1MHZPbUNleFc2WHlWZFZ5SVJG +QXpKS2h5VzN2bmJSYW0vVjZha2pCcmsKLT4gWDI1NTE5IFdOL2M3NjBISFM1dy9J +dnd1UTcxazF3VFRqSmIrVXludG1tVmRjQ0lCRUEKOHdhWWxpZU1MdmQyYWR2Zndn +M2cxWVBXQkR6aVd2NGRZLzUzT0FLcWlnTQotPiBYMjU1MTkgMUxjcUc5Z2F3RFQv +dzBoS1J4dDlOVGpjcWV2dmtZRDdZbEh4U3V3T3dDNAo2SlBXd05tNlQxbmNpaHg4 +bnZsQi9KOUZycTNybXdYR3NxbUlWVTZkYjNnCi0tLSBLalRSQ1JyOERTRlVBMTRu +S1FtV2dkbndkMGYyLzJmRTYzMVYxOXRJQ0p3CmqbWsHvEqvOL0H2fkLfAtdKBQq5 +feZt8GvTBbIfbqtW+2jYNYo3jAYIEEbWF0WTfMCRlBP2dbDE3olJXqsxBqR92Np2 +91kaiiLux/9jtmol1ey7fb7qkbXraFLt +-----END AGE ENCRYPTED FILE----- diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 0fc6d7d..2ac7b29 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -17,4 +17,5 @@ in { "etna/tunnelCreds.age".publicKeys = main ++ [etna]; "etna/apiRsEnv.age".publicKeys = main ++ [etna]; "etna/ukubotRsEnv.age".publicKeys = main ++ [etna]; + "etna/ngrokEnv.age".publicKeys = main ++ [etna]; } diff --git a/systems/etna/default.nix b/systems/etna/default.nix index 60fb580..eef549c 100644 --- a/systems/etna/default.nix +++ b/systems/etna/default.nix @@ -10,10 +10,13 @@ apiRsEnv.file = "${path}/apiRsEnv.age"; ukubotRsEnv.file = "${path}/ukubotRsEnv.age"; + ngrokEnv.file = "${path}/ngrokEnv.age"; }; boot.loader.systemd-boot.enable = true; + networking.firewall.allowedTCPPorts = [4040]; + services = { api-rs = { enable = true; @@ -55,4 +58,26 @@ }; }; }; + + virtualisation.oci-containers.containers = { + "ngrok" = { + image = "ngrok/ngrok"; + ports = ["4040:4040"]; + cmd = ["tcp" "25565"]; + extraOptions = ["--net=host"]; + environmentFiles = [config.age.secrets.ngrokEnv.path]; + }; + + "minecraft" = { + image = "itzg/minecraft-server"; + ports = ["25565:25565"]; + volumes = ["/data/minecraft:/data"]; + environment = { + EULA = "true"; + MODRINTH_MODPACK = "adrenaserver"; + MODRINTH_VERSION = "1.5.0+1.20.4.fabric"; + MODRINTH_LOADER = "fabric"; + }; + }; + }; }