etna: add minecraft server

This commit is contained in:
uku 2024-02-17 15:15:15 +01:00
parent 326e975fe3
commit 5ce49a0120
Signed by: uku
SSH key fingerprint: SHA256:4P0aN6M8ajKukNi6aPOaX0LacanGYtlfjmN+m/sHY/o
3 changed files with 38 additions and 0 deletions

12
secrets/etna/ngrokEnv.age Normal file
View file

@ -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-----

View file

@ -17,4 +17,5 @@ in {
"etna/tunnelCreds.age".publicKeys = main ++ [etna]; "etna/tunnelCreds.age".publicKeys = main ++ [etna];
"etna/apiRsEnv.age".publicKeys = main ++ [etna]; "etna/apiRsEnv.age".publicKeys = main ++ [etna];
"etna/ukubotRsEnv.age".publicKeys = main ++ [etna]; "etna/ukubotRsEnv.age".publicKeys = main ++ [etna];
"etna/ngrokEnv.age".publicKeys = main ++ [etna];
} }

View file

@ -10,10 +10,13 @@
apiRsEnv.file = "${path}/apiRsEnv.age"; apiRsEnv.file = "${path}/apiRsEnv.age";
ukubotRsEnv.file = "${path}/ukubotRsEnv.age"; ukubotRsEnv.file = "${path}/ukubotRsEnv.age";
ngrokEnv.file = "${path}/ngrokEnv.age";
}; };
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
networking.firewall.allowedTCPPorts = [4040];
services = { services = {
api-rs = { api-rs = {
enable = true; 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";
};
};
};
} }