nixos/whale2: Add Minecraft server
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 25m30s
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 25m30s
This commit is contained in:
parent
65917bad5c
commit
7a4372dfe7
@ -169,6 +169,10 @@ rec {
|
|||||||
port = 8448;
|
port = 8448;
|
||||||
dst = aa.middleman.internal.ipv4.address;
|
dst = aa.middleman.internal.ipv4.address;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
port = 25565;
|
||||||
|
dst = aa.simpcraft-oci.internal.ipv4.address;
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
port = 2456;
|
port = 2456;
|
||||||
|
@ -393,7 +393,8 @@ in
|
|||||||
# Safe enough to allow all SSH
|
# Safe enough to allow all SSH
|
||||||
tcp dport ssh accept
|
tcp dport ssh accept
|
||||||
|
|
||||||
${matchInet "tcp dport { http, https, 8448 } accept" "middleman"}
|
ip6 daddr ${aa.middleman.internal.ipv6.address} tcp dport { http, https, 8448 } accept
|
||||||
|
ip6 daddr ${aa.simpcraft-oci.internal.ipv6.address} tcp dport 25565 accept
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
chain routing-udp {
|
chain routing-udp {
|
||||||
|
@ -148,6 +148,8 @@ in
|
|||||||
|
|
||||||
valheim IN A ${assignments.internal.ipv4.address}
|
valheim IN A ${assignments.internal.ipv4.address}
|
||||||
valheim IN AAAA ${allAssignments.valheim-oci.internal.ipv6.address}
|
valheim IN AAAA ${allAssignments.valheim-oci.internal.ipv6.address}
|
||||||
|
simpcraft IN A ${assignments.internal.ipv4.address}
|
||||||
|
simpcraft IN AAAA ${allAssignments.simpcraft-oci.internal.ipv6.address}
|
||||||
|
|
||||||
mail-vm IN A ${net.cidr.host 0 prefixes.mail.v4}
|
mail-vm IN A ${net.cidr.host 0 prefixes.mail.v4}
|
||||||
mail-vm IN AAAA ${net.cidr.host 1 prefixes.mail.v6}
|
mail-vm IN AAAA ${net.cidr.host 1 prefixes.mail.v6}
|
||||||
|
@ -352,6 +352,11 @@ in
|
|||||||
locations."/".proxyPass = "http://git-vm.${domain}:3000";
|
locations."/".proxyPass = "http://git-vm.${domain}:3000";
|
||||||
useACMEHost = pubDomain;
|
useACMEHost = pubDomain;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"mc-map.${pubDomain}" = {
|
||||||
|
locations."/".proxyPass = "http://simpcraft-oci.${domain}:8100";
|
||||||
|
useACMEHost = pubDomain;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
minio =
|
minio =
|
||||||
|
@ -50,6 +50,7 @@ in
|
|||||||
};
|
};
|
||||||
}) {
|
}) {
|
||||||
valheim-oci = 2;
|
valheim-oci = 2;
|
||||||
|
simpcraft-oci = 3;
|
||||||
};
|
};
|
||||||
|
|
||||||
configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }:
|
configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }:
|
||||||
@ -63,6 +64,7 @@ in
|
|||||||
"${modulesPath}/profiles/qemu-guest.nix"
|
"${modulesPath}/profiles/qemu-guest.nix"
|
||||||
|
|
||||||
./valheim.nix
|
./valheim.nix
|
||||||
|
./minecraft
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
51
nixos/boxes/colony/vms/whale2/minecraft/default.nix
Normal file
51
nixos/boxes/colony/vms/whale2/minecraft/default.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ lib, config, allAssignments, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) concatStringsSep;
|
||||||
|
inherit (lib.my) dockerNetAssignment;
|
||||||
|
|
||||||
|
# devplayer0
|
||||||
|
op = "6d7d971b-ce10-435b-85c5-c99c0d8d288c";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
simpcraft = {
|
||||||
|
image = "ghcr.io/itzg/minecraft-server:2023.12.2-java17-alpine";
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
TYPE = "paper";
|
||||||
|
|
||||||
|
EULA = "true";
|
||||||
|
MOTD = "§4§k----- §9S§ai§bm§cp§dc§er§fa§6f§5t §4§k-----";
|
||||||
|
ICON = "/ext/icon.png";
|
||||||
|
DIFFICULTY = "normal";
|
||||||
|
|
||||||
|
WHITELIST = concatStringsSep "," [
|
||||||
|
op
|
||||||
|
"dcd2ecb9-2b5e-49cb-9d4f-f5a76162df56" # Elderlypug
|
||||||
|
"fcb26db2-c3ce-41aa-b588-efec79d37a8a" # Jesthral_
|
||||||
|
"1d366062-12c0-4e29-aba7-6ab5d8c6bb05" # shr3kas0ras
|
||||||
|
"703b378a-09f9-4c1d-9876-1c9305728c49" # OROURKEIRE
|
||||||
|
"f105bbe6-eda6-4a13-a8cf-894e77cab77b" # Adzerq
|
||||||
|
"1fc94979-41fb-497a-81e9-34ae24ca537a" # johnnyscrims
|
||||||
|
];
|
||||||
|
OPS = op;
|
||||||
|
|
||||||
|
MAX_MEMORY = "4G";
|
||||||
|
MODRINTH_PROJECTS = concatStringsSep "," [ ];
|
||||||
|
|
||||||
|
TZ = "Europe/Dublin";
|
||||||
|
};
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"minecraft_data:/data"
|
||||||
|
"${./icon.png}:/ext/icon.png:ro"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
''--network=colony:${dockerNetAssignment allAssignments "simpcraft-oci"}''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
BIN
nixos/boxes/colony/vms/whale2/minecraft/icon.png
Normal file
BIN
nixos/boxes/colony/vms/whale2/minecraft/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
@ -222,7 +222,7 @@ in
|
|||||||
"iifname ${cfg.nat.externalInterface} jump filter-iif-port-forwards"}
|
"iifname ${cfg.nat.externalInterface} jump filter-iif-port-forwards"}
|
||||||
${optionalString
|
${optionalString
|
||||||
dipForward
|
dipForward
|
||||||
(concatMapStringsSep "\n " (ip: "${ipK ip} daddr ${ip} jump ${natFilterChain ip}") (attrNames cfg.nat.forwardPorts))}
|
(concatMapStringsSep "\n " (ip: "jump ${natFilterChain ip}") (attrNames cfg.nat.forwardPorts))}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user