chore(minecraft): mounts

This commit is contained in:
arcnmx 2024-09-17 12:42:18 -07:00
parent 33b18bc348
commit 75b123776b
15 changed files with 402 additions and 54 deletions

View file

@ -4,6 +4,8 @@
"/rpool/shared/nix/store nix/store none bind,create=dir",
"/rpool/shared/nix/var nix/var none bind,create=dir",
"/rpool/shared/minecraft/bedrock mnt/shared/minecraft/bedrock none bind,optional,create=dir",
"/rpool/shared/minecraft/katsink mnt/shared/minecraft/katsink none bind,optional,create=dir",
"/mnt/kyuuto-data/minecraft mnt/kyuuto-data/minecraft none bind,optional,create=dir",
"/dev/net/tun dev/net/tun none bind,optional,create=file"
],
"lxc.idmap": [

View file

@ -11,8 +11,8 @@ _: {
];
network.networks = {
tail = {
address4 = "100.70.124.79";
address6 = "fd7a:115c:a1e0::b001:7c4f";
address4 = "100.73.157.122";
address6 = "fd7a:115c:a1e0::1f01:9d7a";
};
};
exports = {

View file

@ -1,8 +1,22 @@
{
"lxc": {
"lxc.mount.entry": [
"/mnt/kyuuto-minecraft mnt/kyuuto-minecraft none bind,optional,create=dir",
"/dev/net/tun dev/net/tun none bind,optional,create=file"
]
"lxc": {
"lxc.mount.entry": [
"/rpool/shared/minecraft/katsink mnt/shared/minecraft/katsink none bind,optional,create=dir",
"/mnt/kyuuto-data/minecraft mnt/kyuuto-data/minecraft none bind,optional,create=dir",
"/mnt/kyuuto-minecraft mnt/kyuuto-minecraft none bind,optional,create=dir",
"/dev/net/tun dev/net/tun none bind,optional,create=file"
],
"lxc.idmap": [
"u 0 100000 8000",
"g 0 100000 8000",
"u 8000 8000 128",
"g 8000 8000 256",
"u 8128 108128 57406",
"g 8256 108256 57278",
"u 65534 65534 1",
"g 65534 65534 1",
"u 65535 165535 1",
"g 65535 165535 1"
]
}
}

View file

@ -1,20 +1,21 @@
{meta, pkgs, ...}:{
{
meta,
config,
...
}: {
imports = let
inherit (meta) nixos;
in [
nixos.sops
nixos.reisen-ct
nixos.tailscale
nixos.minecraft.katsink
];
environment.systemPackages = with pkgs; [
jre
tmux
environment.systemPackages = [
config.services.minecraft-katsink-server.jre.package
];
networking.firewall.interfaces.tailscale0.allowedTCPPorts = [ 25565 ];
networking.firewall.interfaces.local.allowedTCPPorts = [ 25565 ];
sops = {
defaultSopsFile = ./secrets.yaml;
secrets.tailscale-key.key = "tailscale-key";

View file

@ -1,6 +1,6 @@
_: {
proxmox = {
vm.id = 106;
vm.id = 109;
container = {
enable = true;
lxc.configJsonFile = ./lxc.json;
@ -8,11 +8,10 @@ _: {
network.interfaces = {
net0 = {
mdns.enable = true;
macAddress = "BC:24:11:C4:66:AB";
address4 = "dhcp";
macAddress = "BC:24:11:C4:66:AD";
address4 = "10.1.1.51/24";
address6 = "auto";
};
net1.internal.enable = true;
};
};
}

View file

@ -100,31 +100,51 @@ if [[ ! -d /rpool/caches ]]; then
zfs create rpool/caches
fi
mkrpool() {
local SHARED_PATH SHARED_MODE SHARED_OWNER SHARED_GROUP
SHARED_PATH=$1
SHARED_OWNER=$2
SHARED_GROUP=$3
SHARED_MODE=$4
mkzfs() {
local ZFS_PATH ZFS_MODE ZFS_OWNER ZFS_GROUP
ZFS_PATH=$1
ZFS_OWNER=$2
ZFS_GROUP=$3
ZFS_MODE=$4
shift 4
if [[ ! -d "/rpool/$SHARED_PATH" ]]; then
zfs create "rpool/$SHARED_PATH"
ZFS_NAME=${ZFS_PATH#/}
if [[ $# -gt 0 ]]; then
ZFS_NAME=$1
shift
fi
chmod "$SHARED_MODE" "/rpool/$SHARED_PATH"
chown "$SHARED_OWNER:$SHARED_GROUP" "/rpool/$SHARED_PATH"
ZFS_ARGS=("$@")
if [[ $ZFS_NAME != ${ZFS_PATH#/} ]]; then
ZFS_ARGS+=(-o "mountpoint=$ZFS_PATH")
fi
if [[ ! -d "$ZFS_PATH" ]]; then
zfs create "$ZFS_NAME" ${ZFS_ARGS[@]+"${ZFS_ARGS[@]}"}
fi
chmod "$ZFS_MODE" "$ZFS_PATH"
chown "$ZFS_OWNER:$ZFS_GROUP" "$ZFS_PATH"
}
mkshared() {
local SHARED_PATH=$1
shift
mkrpool "shared/$SHARED_PATH" "$@"
mkzfs "/rpool/shared/$SHARED_PATH" "$@"
}
mkcache() {
local SHARED_PATH=$1
local CACHE_PATH=$1
shift
mkrpool "caches/$SHARED_PATH" "$@"
mkzfs "/rpool/caches/$CACHE_PATH" "$@"
}
mkkyuuto() {
local KYUUTO_PATH KYUUTO_ARGS=()
KYUUTO_NAME=$1
KYUUTO_ARGS=("$2" "$3" "$4")
shift 4
mkzfs "/mnt/kyuuto-$KYUUTO_NAME" "${KYUUTO_ARGS[@]}" "kyuuto/$KYUUTO_NAME" "$@"
}
mkshared nix 0 0 0755
@ -163,6 +183,15 @@ mkshared zigbee2mqtt 100317 100317 0700
mkshared vaultwarden 100915 100915 0750
mkshared minecraft 100913 100913 0750
mkshared minecraft/bedrock 100913 100913 0750
mkshared minecraft/katsink 100913 100913 0750
mkkyuuto data 0 0 0755 -o compression=on
mkkyuuto data/minecraft 0 8126 0775
if [[ ! -d /mnt/kyuuto-data/minecraft/simplebackups ]]; then
mkdir -p /mnt/kyuuto-data/minecraft/simplebackups
fi
chown 100913:8126 /mnt/kyuuto-data/minecraft/simplebackups
chmod 0775 /mnt/kyuuto-data/minecraft/simplebackups
ln -sf /lib/systemd/system/auth-rpcgss-module.service /etc/systemd/system/
mkdir -p /etc/systemd/system/auth-rpcgss-module.service.d

View file

@ -151,6 +151,24 @@
}
}
},
"minecraft": {
"hostName": "minecraft",
"network": {
"networks": {
"int": null,
"local": {
"address4": "10.1.1.51",
"address6": "fd0a::be24:11ff:fec4:66ad",
"macAddress": "BC:24:11:C4:66:AD"
},
"tail": {
"address4": "100.73.157.122",
"address6": "fd7a:115c:a1e0::1f01:9d7a",
"macAddress": null
}
}
}
},
"reimu": {
"hostName": "reimu",
"network": {