From b122b4126551335df2ef9fe22b44a0970c8ea1b1 Mon Sep 17 00:00:00 2001 From: kB01 Date: Fri, 31 Jan 2025 12:48:08 +0100 Subject: [PATCH] Updated Minecraf-Server Config --- modules/nixos/services/minecraft/README.md | 10 ++++++++++ modules/nixos/services/minecraft/database.nix | 7 +++++++ modules/nixos/services/minecraft/default.nix | 3 +-- modules/nixos/services/minecraft/velocity.nix | 15 ++------------- 4 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 modules/nixos/services/minecraft/README.md diff --git a/modules/nixos/services/minecraft/README.md b/modules/nixos/services/minecraft/README.md new file mode 100644 index 0000000..ff3215a --- /dev/null +++ b/modules/nixos/services/minecraft/README.md @@ -0,0 +1,10 @@ +# Minecraft Server Configuration + +Details about the Minecraft Module. + +## Installation + +1. Rebuild switch configuration +2. Create Database Structure + 1. New Database `sudo mysql -u root < /run/secrets/rendered/minecraft/database/database-init.sql` + 2. Restore Backup `sudo mysql -u root < path/to/backup.sql` diff --git a/modules/nixos/services/minecraft/database.nix b/modules/nixos/services/minecraft/database.nix index 62add05..f530f8d 100644 --- a/modules/nixos/services/minecraft/database.nix +++ b/modules/nixos/services/minecraft/database.nix @@ -16,5 +16,12 @@ in enable = true; settings.mysqld.port = 3459; }; + sops.secrets."minecraft/database/luckperms_password" = { sopsFile = ./secrets.yaml; }; + sops.templates."minecraft/database/database-init.sql".content = '' + CREATE DATABASE 'luckperms'; + CREATE USER 'luckperms'@'localhost'; + GRANT ALL PRIVILEGES ON luckperms.* TO 'luckperms'@'localhost' IDENTIFIED BY '${config.sops.placeholder."minecraft/database/luckperms_password"}'; + ''; + # services.mysqlBackup.databases = [ "luckperms" ]; # Add Luckperms Database to Backups }; } diff --git a/modules/nixos/services/minecraft/default.nix b/modules/nixos/services/minecraft/default.nix index 828093e..25284c2 100644 --- a/modules/nixos/services/minecraft/default.nix +++ b/modules/nixos/services/minecraft/default.nix @@ -43,8 +43,7 @@ in eula = true; }; - # Create Secrets - sops.secrets."minecraft/database/luckperms_password" = { sopsFile = ./secrets.yaml; }; + }; } diff --git a/modules/nixos/services/minecraft/velocity.nix b/modules/nixos/services/minecraft/velocity.nix index 1f373dc..6b69356 100644 --- a/modules/nixos/services/minecraft/velocity.nix +++ b/modules/nixos/services/minecraft/velocity.nix @@ -64,20 +64,9 @@ in data.address = "localhost:${toString config.services.mysql.settings.mysqld.port}"; data.database = "luckperms"; data.username = "luckperms"; - data.password = builtins.readFile /run/secrets/minecraft/database/luckperms_password; + data.password = builtins.readFile /run/secrets/minecraft/database/luckperms_password; # Secret created in ./database.nix }; - services.mysql = { - ensureDatabases = [ "luckperms" ]; - ensureUsers = [ - { - name = "luckperms"; - ensurePermissions = { - "luckperms.*" = "ALL PRIVILEGES"; - }; - } - ]; - }; - # services.mysqlBackup.databases = [ "luckperms" ]; # Add Luckperms Database to Backups + }; }