add mc-router, rlcraft
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
65
systems/palatine-hill/docker/minecraft.nix
Normal file
65
systems/palatine-hill/docker/minecraft.nix
Normal file
@ -0,0 +1,65 @@
|
||||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
servers = {
|
||||
atm6 = "atm6.alicehuston.xyz";
|
||||
stoneblock3 = "sb3.alicehuston.xyz";
|
||||
RAD2 = "rad.alicehuston.xyz";
|
||||
skyfactory = "sf.alicehuston.xyz";
|
||||
divinejourney = "dj.alicehuston.xyz";
|
||||
rlcraft = "rlcraft.alicehuston.xyz";
|
||||
arcanum-institute = "arcanum.alicehuston.xyz";
|
||||
};
|
||||
defaultServer = "RAD2";
|
||||
|
||||
defaultEnv = {
|
||||
EULA = "true";
|
||||
TYPE = "AUTO_CURSEFORGE";
|
||||
STOP_SERVER_ANNOUNCE_DELAY = "120";
|
||||
STOP_DURATION = "600";
|
||||
SYNC_CHUNK_WRITES = "false";
|
||||
USE_AIKAR_FLAGS = "true";
|
||||
MEMORY = "8GB";
|
||||
ALLOW_FLIGHT = "true";
|
||||
MAX_TICK_TIME = -1;
|
||||
};
|
||||
|
||||
defaultOptions = [
|
||||
"--stop-signal=SIGTERM"
|
||||
"--stop-timeout=30m"
|
||||
"--restart=unless-stopped"
|
||||
"--network=minecraft-net"
|
||||
];
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers = {
|
||||
mc-router = {
|
||||
image = "itzg/mc-router:latest";
|
||||
extraOptions = [
|
||||
"--restart=always"
|
||||
"--network=haproxy-net"
|
||||
"--network=minecraft-net"
|
||||
];
|
||||
command =
|
||||
"--mapping=mc.alicehuston.xyz=${defaultServer}:25565"
|
||||
+ (lib.mapAttrs (hostname: url: ",${url}=${hostname}:25565") servers);
|
||||
};
|
||||
rlcraft = {
|
||||
image = "itzg/minecraft-server:java8";
|
||||
volumes = [
|
||||
"/ZFS/ZFS-primary/games/minecraft/rlcraft/modpacks:/modpacks:ro"
|
||||
"/ZFS/ZFS-primary/games/minecraft/rlcraft/data:/data"
|
||||
];
|
||||
hostname = "rlcraft";
|
||||
environment = defaultEnv // {
|
||||
VERSION = "1.12.2";
|
||||
CF_SLUG = "rlcraft";
|
||||
DIFFICULTY = "hard";
|
||||
ENABLE_COMMAND_BLOCK = "true";
|
||||
};
|
||||
extraOptions = defaultOptions;
|
||||
log-driver = "local";
|
||||
environmentFiles = [ config.sops.secrets.minecraft.path ];
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user