feat: add gtnh server
This commit is contained in:
parent
d9b7ebf95c
commit
cd1e2bd49a
3 changed files with 58 additions and 0 deletions
|
|
@ -4,6 +4,14 @@ rec {
|
||||||
domain = "git.nudelerde.de";
|
domain = "git.nudelerde.de";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gtnh = {
|
||||||
|
port = 25565;
|
||||||
|
serverPackUrl = "https://downloads.gtnewhorizons.com/ServerPacks/GT_New_Horizons_2.8.4_Server_Java_17-25.zip";
|
||||||
|
version = "1.7.10";
|
||||||
|
memory = "12G";
|
||||||
|
timezone = "Europe/Berlin";
|
||||||
|
};
|
||||||
|
|
||||||
"metric-exporter" = {
|
"metric-exporter" = {
|
||||||
port = 9100;
|
port = 9100;
|
||||||
collectors = [
|
collectors = [
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,6 @@
|
||||||
./forgejo.nix
|
./forgejo.nix
|
||||||
./node-exporter.nix
|
./node-exporter.nix
|
||||||
./prometheus.nix
|
./prometheus.nix
|
||||||
|
./minecraft.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
services/minecraft.nix
Normal file
49
services/minecraft.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
serv = import ../config/services.nix;
|
||||||
|
gtnh = serv.gtnh;
|
||||||
|
minecraftUid = 2000;
|
||||||
|
minecraftGid = 2000;
|
||||||
|
gtnhEnvironment = {
|
||||||
|
EULA = "TRUE";
|
||||||
|
TYPE = "FORGE";
|
||||||
|
VERSION = gtnh.version;
|
||||||
|
GENERIC_PACK = gtnh.serverPackUrl;
|
||||||
|
LOAD_ENV_FROM_GENERIC_PACK = "true";
|
||||||
|
REMOVE_OLD_MODS = "TRUE";
|
||||||
|
MEMORY = gtnh.memory;
|
||||||
|
USE_AIKAR_FLAGS = "true";
|
||||||
|
TZ = gtnh.timezone;
|
||||||
|
UID = toString minecraftUid;
|
||||||
|
GID = toString minecraftGid;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
users.groups.minecraft.gid = minecraftGid;
|
||||||
|
|
||||||
|
users.users.minecraft = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "minecraft";
|
||||||
|
home = "/var/lib/minecraft";
|
||||||
|
createHome = true;
|
||||||
|
uid = minecraftUid;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ gtnh.port ];
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.gtnh = {
|
||||||
|
image = "itzg/minecraft-server:java21";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
ports = [
|
||||||
|
"${toString gtnh.port}:${toString gtnh.port}"
|
||||||
|
];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"/var/lib/minecraft:/data"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = gtnhEnvironment;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue