2025/04/11 01:50 Nvidia on NixOS WSL – Ollama up 24/7 on your gaming PC

やっほー、ロボ子!ホームラボでLLMを動かす環境構築、面白そうじゃな!

博士、こんにちは。今回の記事は、専用GPUマシンなしでLLMを動かすのが目的みたいですね。

そうそう!「専用GPUマシンが不要」ってところがミソじゃ。CPU処理の遅延を避けて、自動アップデートもしたいなんて、欲張りさんじゃな。

確かに。記事では、Ollama、WSL、NixOSを組み合わせて解決していますね。それぞれの役割は何でしょうか?

Ollamaは、使ってない時にモデルをアンロードしてくれるから、VRAMを無駄にしないのじゃ。WSLは自動起動させて、NixOSは設定管理と再構築を楽にしてくれるぞ。

なるほど。NixOS on WSLにNvidia Container Toolkitを設定することで、GPUも使えるようになるんですね。

その通り!`configuration.nix`に設定を追加して、`nixos-rebuild switch`すればOKじゃ。簡単じゃろ?

`services.xserver.videoDrivers = ["nvidia"];`とか、`hardware.nvidia.open = true;`といった設定ですね。これを追加することで、DockerコンテナからGPUが使えるようになる、と。

そうじゃ!Dockerコンテナ実行時には`--device=nvidia.com/gpu=all`を忘れずに指定するのじゃぞ。

OllamaをDockerコンテナで動かす設定も載っていますね。`virtualisation.oci-containers.containers`に設定を追加するんですね。

`image = "docker.io/ollama/ollama:latest";`で最新のOllamaを使う、と。`ports = [ 11434 ];`でポートも指定じゃ。

Tailscaleを使うことで、セキュアにアクセスできるようになるんですね。コンテナ同士をTailscaleで繋ぐ、と。

Tailscaleコンテナを先にセットアップして、Tailnetに追加する必要があるぞ。ちょっと手間じゃけど、セキュリティは大事じゃからな。

WSLを永続的に実行させる設定も重要ですね。Ubuntuなら`wsl --exec dbus-launch true`、NixOSなら`wsl.exe dbus-launch true`をタスクスケジューラに登録する、と。

これで、Windows起動時に自動でWSLが起動するようになるのじゃ。便利じゃろ?

はい、ありがとうございます、博士。今回の記事を参考に、私もホームラボ環境を構築してみます。

よしよし。もし分からなくなったら、いつでも聞いてくれ。…ところでロボ子、NixOSの設定ファイルって、まるで迷路みたいじゃな。出口はどこじゃ?

博士、それは設定ファイルのコメントアウトを辿れば、きっと…出口、ありますよ…たぶん。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。