First pass setting up modded minecraft server via container
This commit is contained in:
parent
c4d2982944
commit
a2a871d549
3 changed files with 81 additions and 18 deletions
|
@ -12,6 +12,9 @@
|
||||||
|
|
||||||
ssbm.url = "github:lytedev/ssbm-nix/my-nixpkgs";
|
ssbm.url = "github:lytedev/ssbm-nix/my-nixpkgs";
|
||||||
|
|
||||||
|
# doesn't support the forge mod loader yet
|
||||||
|
# nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
|
||||||
# need to bump ishiiruka upstream I think
|
# need to bump ishiiruka upstream I think
|
||||||
# slippi-desktop.url = "github:project-slippi/slippi-desktop-app";
|
# slippi-desktop.url = "github:project-slippi/slippi-desktop-app";
|
||||||
# slippi-desktop.flake = false;
|
# slippi-desktop.flake = false;
|
||||||
|
|
|
@ -8,6 +8,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x01 0x00
|
||||||
sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
# inputs,
|
||||||
outputs,
|
outputs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
config,
|
config,
|
||||||
|
@ -17,6 +18,11 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
outputs.nixosModules.intel
|
outputs.nixosModules.intel
|
||||||
|
# inputs.nix-minecraft.nixosModules.minecraft-servers
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
# inputs.nix-minecraft.overlay
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ehci_pci" "megaraid_sas" "usbhid" "uas" "sd_mod"];
|
boot.initrd.availableKernelModules = ["ehci_pci" "megaraid_sas" "usbhid" "uas" "sd_mod"];
|
||||||
|
@ -220,6 +226,14 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
||||||
group = "plausible";
|
group = "plausible";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.groups.jland = {};
|
||||||
|
users.users.jland = {
|
||||||
|
# used for running the jland minecraft server
|
||||||
|
isSystemUser = true;
|
||||||
|
createHome = false;
|
||||||
|
group = "jland";
|
||||||
|
};
|
||||||
|
|
||||||
users.users.nextcloud = {
|
users.users.nextcloud = {
|
||||||
# used for anonymous samba access
|
# used for anonymous samba access
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
|
@ -504,25 +518,25 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.lidarr = {
|
# services.lidarr = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
dataDir = "/storage/lidarr";
|
# dataDir = "/storage/lidarr";
|
||||||
};
|
# };
|
||||||
|
|
||||||
services.radarr = {
|
# services.radarr = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
dataDir = "/storage/radarr";
|
# dataDir = "/storage/radarr";
|
||||||
};
|
# };
|
||||||
|
|
||||||
services.sonarr = {
|
# services.sonarr = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
dataDir = "/storage/sonarr";
|
# dataDir = "/storage/sonarr";
|
||||||
};
|
# };
|
||||||
|
|
||||||
services.bazarr = {
|
# services.bazarr = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
listenPort = 6767;
|
# listenPort = 6767;
|
||||||
};
|
# };
|
||||||
|
|
||||||
services.samba-wsdd.enable = true;
|
services.samba-wsdd.enable = true;
|
||||||
|
|
||||||
|
@ -653,6 +667,51 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# services.minecraft-servers.servers.jland = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs.fabricServers.fabric-1_19_2.override {loaderVersion = "0.14.9";};
|
||||||
|
# # Monumental Experience, modpack version 2.2.53, minecraft version 1.19.2
|
||||||
|
# # https://www.curseforge.com/minecraft/modpacks/monumental-experience/files/4826863
|
||||||
|
# # $ nix run nixpkgs#packwiz curseforge import Monumental+Experience-2.2.53.zip
|
||||||
|
# };
|
||||||
|
|
||||||
|
config.virtualisation.backend = "podman";
|
||||||
|
config.virtualisation.oci-containers.containers = {
|
||||||
|
minecraft-jland = {
|
||||||
|
# sending commands: https://docker-minecraft-server.readthedocs.io/en/latest/commands/
|
||||||
|
image = "docker.io/itzg/minecraft-server";
|
||||||
|
user = "jland";
|
||||||
|
extraOptions = [
|
||||||
|
"--tty"
|
||||||
|
"--interactive"
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
EULA = "true";
|
||||||
|
UID = toString config.users.jland.uid;
|
||||||
|
GID = toString config.users.jland.gid;
|
||||||
|
STOP_SERVER_ANNOUNCE_DELAY = "20";
|
||||||
|
TZ = "America/Chicago";
|
||||||
|
TYPE = "AUTO_CURSEFORGE";
|
||||||
|
VERSION = "1.19.2";
|
||||||
|
MAX_MEMORY = "8G";
|
||||||
|
CF_SLUG = "all-the-mods-8"; # monumental-experience
|
||||||
|
CF_FILE_ID = "4826863"; # 2.2.53
|
||||||
|
|
||||||
|
# ENABLE_AUTOPAUSE = "true"; # TODO: must increate or disable max-tick-time
|
||||||
|
# May also have mod/loader incompatibilities?
|
||||||
|
# https://docker-minecraft-server.readthedocs.io/en/latest/misc/autopause-autostop/autopause/
|
||||||
|
};
|
||||||
|
environmentFiles = [
|
||||||
|
config.sops.secrets."jland.env".path
|
||||||
|
];
|
||||||
|
ports = ["127.0.0.1:25565:25565"];
|
||||||
|
volumes = [
|
||||||
|
"/storage/jland/data:/data"
|
||||||
|
"/storage/jland/worlds:/worlds"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
80 # http (caddy)
|
80 # http (caddy)
|
||||||
443 # https (caddy)
|
443 # https (caddy)
|
||||||
|
|
|
@ -12,6 +12,7 @@ plausible-admin-password: ENC[AES256_GCM,data:dC9olypZgMLdPOsmjthOaa/fMLtbGBlF9A
|
||||||
plausible-erlang-cookie: ENC[AES256_GCM,data:zhmC+D6EjIE8Rw91lIrMqY0QIazTX1e1jBzcZJP/76B9VvHWZ5bCkP1+KdfCY0lk3wIEq5vRfb8=,iv:RNNjlV3OFtXn1N0a5fEb/3FWzcHX19wtCLMdaVlKNJ0=,tag:8iU5oFVbzd0eMe5Mo1PiAw==,type:str]
|
plausible-erlang-cookie: ENC[AES256_GCM,data:zhmC+D6EjIE8Rw91lIrMqY0QIazTX1e1jBzcZJP/76B9VvHWZ5bCkP1+KdfCY0lk3wIEq5vRfb8=,iv:RNNjlV3OFtXn1N0a5fEb/3FWzcHX19wtCLMdaVlKNJ0=,tag:8iU5oFVbzd0eMe5Mo1PiAw==,type:str]
|
||||||
plausible-secret-key-base: ENC[AES256_GCM,data:ylakPGzY4S9640krl0fxYgm0Getf0+I7zthyTqTD/IpVhz5xgYBYx3Y2lSNa9Oi9yQ7+f9OdOBC6nc7n6MuUBg==,iv:YLPax/cRjMdIFti26gJd8COKr+3jXNZ7HCA5VvQVyAo=,tag:LHqYi590oEIp1IihLcFTtw==,type:str]
|
plausible-secret-key-base: ENC[AES256_GCM,data:ylakPGzY4S9640krl0fxYgm0Getf0+I7zthyTqTD/IpVhz5xgYBYx3Y2lSNa9Oi9yQ7+f9OdOBC6nc7n6MuUBg==,iv:YLPax/cRjMdIFti26gJd8COKr+3jXNZ7HCA5VvQVyAo=,tag:LHqYi590oEIp1IihLcFTtw==,type:str]
|
||||||
nextcloud-admin-password: ENC[AES256_GCM,data:QaoSZyommeGED3nWNru92UVO2tjk24HE9fWX7ExYT101o4ZL411TmV1TXHSyfwjmE7yLIm1K/j4xpEbIY3zvFg==,iv:xC5EZVPHumVPOob5jiiXMFAmdFQcFSUPtZgioAgGDDs=,tag:Q/kY38XWkGsqcmCkd2lodg==,type:str]
|
nextcloud-admin-password: ENC[AES256_GCM,data:QaoSZyommeGED3nWNru92UVO2tjk24HE9fWX7ExYT101o4ZL411TmV1TXHSyfwjmE7yLIm1K/j4xpEbIY3zvFg==,iv:xC5EZVPHumVPOob5jiiXMFAmdFQcFSUPtZgioAgGDDs=,tag:Q/kY38XWkGsqcmCkd2lodg==,type:str]
|
||||||
|
jland.env: ENC[AES256_GCM,data:4gZX4M5SASJNp/EIrUBP2vNyEOogA9N7X3Th7UuOP9M7zuMG/K83a9epoLCXIoWbGZuRtSIXB8+nfAj1Cd0rxBGnoB+cH7Qdq4h+EbH8MzkUm90fUtNyMepa+026qPSzJaHpNAmvLqsoRA3/jhNYLUcxYJ0=,iv:1FqO7GDwr4d0gKFPstdnEAnq9KyFkbHQs6CrA2FhDYI=,tag:SrkrAtm9No0f93Ob81hVqw==,type:str]
|
||||||
api.lyte.dev: ENC[AES256_GCM,data:14C5GQ41m/g7qHPzxlYoWjKWDOcm7MEDkuSofiuLfRNc/nji61t1eDbKX3d+SQL1UBchJFoBrWrUxnf0mUERhED1196z8vUq2jKEkcqKCAUS3soECInlb8zcxTcxaTFjYSjp1vUBdAn05AqLsF+hh9Bsm4fMQYjnHEZke9EmPZhuTlUdZa4eLv3+L3xAPHk2QIHQhdsjcTjGAZRMZOgTEcCvtGlb5pQuo11XmR2JzwzOXMC51WFDeOIWMAdO80yQBAdILso7rp1Nts/lwF0Bc9t7bNdHyoVTOA==,iv:jWGqUpXOTb/O972qXOqeX0EMFQLDKwaNHBqlpuGrZOk=,tag:uwB/jlAgESkLZ+vJ/OeV0A==,type:str]
|
api.lyte.dev: ENC[AES256_GCM,data:14C5GQ41m/g7qHPzxlYoWjKWDOcm7MEDkuSofiuLfRNc/nji61t1eDbKX3d+SQL1UBchJFoBrWrUxnf0mUERhED1196z8vUq2jKEkcqKCAUS3soECInlb8zcxTcxaTFjYSjp1vUBdAn05AqLsF+hh9Bsm4fMQYjnHEZke9EmPZhuTlUdZa4eLv3+L3xAPHk2QIHQhdsjcTjGAZRMZOgTEcCvtGlb5pQuo11XmR2JzwzOXMC51WFDeOIWMAdO80yQBAdILso7rp1Nts/lwF0Bc9t7bNdHyoVTOA==,iv:jWGqUpXOTb/O972qXOqeX0EMFQLDKwaNHBqlpuGrZOk=,tag:uwB/jlAgESkLZ+vJ/OeV0A==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
|
@ -37,8 +38,8 @@ sops:
|
||||||
b0lTRjVCMU9ELzdvbFBJZ0tHbGtsYkEKLEcXCEikC3T3hfVOYKtWcNSGmfg28y+f
|
b0lTRjVCMU9ELzdvbFBJZ0tHbGtsYkEKLEcXCEikC3T3hfVOYKtWcNSGmfg28y+f
|
||||||
nGC4dQh9EciEbk1ZBbN3i6YSNULDoMSH172KBmRyt1ogr1ZPyCNqtg==
|
nGC4dQh9EciEbk1ZBbN3i6YSNULDoMSH172KBmRyt1ogr1ZPyCNqtg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-10-20T19:05:45Z"
|
lastmodified: "2023-11-02T18:06:19Z"
|
||||||
mac: ENC[AES256_GCM,data:0liRgiLMiy/ISeHzL/rHjchgTDzjVjn1bzSyw7B4EmDu2YYsOhmRNmzbUH4f8I9vDwEkMyJx6VLBfrrnulpmPAlBqWxgYsqrS1eAMNWNeYGMAzZMgBChZbvMXj7cWJr0rNgU+Cnt+7/GXEXKUx1IQPSF9faVYKjBUWG8IuJ22XI=,iv:GoPu7xhQrXksUhE1NH32xFd3ykiBYlZp7RMUmXyDDck=,tag:uRLcc+2sg30SZTLXtIOTWQ==,type:str]
|
mac: ENC[AES256_GCM,data:ewguEKlMJYJI41Ng80dFMNPKn8Lluu81LeSffK1ZUXmH21DJq0vVT/yHG9NAKb2WwWUzVEUMy8k3FLvtsrnxTUpnnFx1bl3PVvySnFiKowJV9TTqEFsJU3FriwuAAdDlfPV88O2vffn/ZGB4hjp7Xfo0E3AhQnMLXuWx9fY3xCw=,iv:UiGYOOIImoSf9eQw92TeI+ofhrvu9w1QMlGeh5g5Cpw=,tag:uC/f20UrH5W1NHt3YzBl2g==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.8.1
|
version: 3.8.1
|
||||||
|
|
Loading…
Reference in a new issue