From 2838be9f7b4d08a4b7555631557d33222fcbbe18 Mon Sep 17 00:00:00 2001 From: Ivan Reshetnikov Date: Thu, 25 Jul 2024 18:48:03 +0500 Subject: [PATCH] feat: minecraft server --- nixos/configuration.nix | 1 + nixos/networking/network.nix | 2 ++ nixos/services/minecraft.nix | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 nixos/services/minecraft.nix diff --git a/nixos/configuration.nix b/nixos/configuration.nix index bf8b3b1..1dbdf2b 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -30,6 +30,7 @@ ./services/maddy.nix ./services/mastodon.nix ./services/microboard.nix + ./services/minecraft.nix ./services/nextcloud.nix ./services/openssh.nix ./services/phoenix.nix diff --git a/nixos/networking/network.nix b/nixos/networking/network.nix index 639ce04..b23d380 100644 --- a/nixos/networking/network.nix +++ b/nixos/networking/network.nix @@ -30,6 +30,8 @@ 6881 # torrents 16001 # yggdrasil tcp 16002 # yggdrasil tls + + 25565 # minecraft ]; allowedUDPPorts = [ 53 # DNS diff --git a/nixos/services/minecraft.nix b/nixos/services/minecraft.nix new file mode 100644 index 0000000..b00963e --- /dev/null +++ b/nixos/services/minecraft.nix @@ -0,0 +1,28 @@ +{ config, ... }: +{ + users.groups = { + minecraft = {}; + }; + users.users.minecraft = { + isNormalUser = true; + group = "minecraft"; + }; + virtualisation.oci-containers.containers.minecraft = { + autoStart = true; + image = "itzg/minecraft-server:stable"; + ports = ["25565:25565"]; + user = "1003:972"; + environment = { + EULA = "TRUE"; + TYPE = "PAPER"; + VERSION = "1.21"; + DIFFICULTY = "hard"; + ONLINE_MODE = "false"; + SERVER_NAME = "Comfycamp"; + TZ = "Asia/Yekaterinburg"; + }; + volumes = [ + "/var/lib/minecraft:/data" + ]; + }; +}