From 0ae62c302005ab8e03926641900a814d7f8a7247 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Mon, 13 Jan 2025 21:28:47 -0700 Subject: [PATCH] attempt at nfs docker --- kubernetes/k3s-install.md | 7 +++++++ kubernetes/nfs-server/.gitignore | 1 + kubernetes/nfs-server/Dockerfile | 13 +++++++++++++ kubernetes/nfs-server/entrypoint.sh | 24 ++++++++++++++++++++++++ kubernetes/nfs-server/readme.md | 19 +++++++++++++++++++ kubernetes/rancher-install.md | 6 ------ nix/alex-desktop.nix | 3 ++- 7 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 kubernetes/k3s-install.md create mode 100644 kubernetes/nfs-server/.gitignore create mode 100644 kubernetes/nfs-server/Dockerfile create mode 100644 kubernetes/nfs-server/entrypoint.sh create mode 100644 kubernetes/nfs-server/readme.md delete mode 100644 kubernetes/rancher-install.md diff --git a/kubernetes/k3s-install.md b/kubernetes/k3s-install.md new file mode 100644 index 0000000..afecac2 --- /dev/null +++ b/kubernetes/k3s-install.md @@ -0,0 +1,7 @@ +# sources + + +nix instructions + + + diff --git a/kubernetes/nfs-server/.gitignore b/kubernetes/nfs-server/.gitignore new file mode 100644 index 0000000..b59f7e3 --- /dev/null +++ b/kubernetes/nfs-server/.gitignore @@ -0,0 +1 @@ +test/ \ No newline at end of file diff --git a/kubernetes/nfs-server/Dockerfile b/kubernetes/nfs-server/Dockerfile new file mode 100644 index 0000000..957dc7d --- /dev/null +++ b/kubernetes/nfs-server/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine:latest + +RUN apk add --no-cache nfs-utils bash + +RUN mkdir -p /exports + +COPY entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod +x /usr/local/bin/entrypoint.sh + +EXPOSE 2049 20048 + +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] + diff --git a/kubernetes/nfs-server/entrypoint.sh b/kubernetes/nfs-server/entrypoint.sh new file mode 100644 index 0000000..6865f18 --- /dev/null +++ b/kubernetes/nfs-server/entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +ALLOWED_CLIENTS="${ALLOWED_CLIENTS:-*}" + +echo "/exports $ALLOWED_CLIENTS(rw,sync,no_subtree_check,no_root_squash)" > /etc/exports + +rpcbind || true +rpc.statd || true + +echo "Starting NFS server..." + + + +mount -t nfsd nfsd /proc/fs/nfsd + +rpc.nfsd -N 3 -V 4 --grace-time 10 $nfsd_debug_opt & +rpc.mountd -N 2 -N 3 -V 4 --foreground $mountd_debug_opt & + +wait + +# rpc.mountd -N 2 -N 3 -V 4 --foreground + +# wait diff --git a/kubernetes/nfs-server/readme.md b/kubernetes/nfs-server/readme.md new file mode 100644 index 0000000..f5fcc0d --- /dev/null +++ b/kubernetes/nfs-server/readme.md @@ -0,0 +1,19 @@ + + + + + + +example docker run + +```bash +docker run --rm -it \ + --name nfs-server \ + --cap-add SYS_ADMIN \ + -e ALLOWED_CLIENTS="127.0.0.1.0/24" \ + -v (pwd)/test:/exports \ + --network host \ + nfs-server +``` + +currently not working, i like the idea of running the nfs server in a docker container, but doing it as a nixos module is probably better \ No newline at end of file diff --git a/kubernetes/rancher-install.md b/kubernetes/rancher-install.md deleted file mode 100644 index bb094ab..0000000 --- a/kubernetes/rancher-install.md +++ /dev/null @@ -1,6 +0,0 @@ -# sources - -https://ranchermanager.docs.rancher.com/pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster - -install r3k for manager cluster: https://docs.k3s.io/quick-start - diff --git a/nix/alex-desktop.nix b/nix/alex-desktop.nix index 257d70c..28f076c 100644 --- a/nix/alex-desktop.nix +++ b/nix/alex-desktop.nix @@ -89,6 +89,7 @@ tmux libguestfs-with-appliance iperf + nfs-utils ]; services.tailscale.enable = true; services.openssh.enable = true; @@ -164,7 +165,7 @@ device = "/dev/disk/by-uuid/437358fd-b9e4-46e2-bd45-f6b368acaac1"; fsType = "ext4"; }; - boot.supportedFilesystems = [ "zfs" ]; + boot.supportedFilesystems = [ "zfs" "nfs" ]; boot.zfs.forceImportRoot = false; networking.hostId = "eafe9999"; boot.zfs.extraPools = [ "data" "data2" ];