自宅で運用しているサーバの作りを、結構大きく見直した。ハードウェアは何も変わっていないけど。
まず、VMWare ESXiをやめた。それの上に色んなサーバ立てるのも楽しかったのだけど、1サーバごとにCPUコアの使用制限がかかっているのがどうも気になっていたので一度外してみることにした。KVMとか代替手段もあるようなので。いったんハイパーバイザ的なことはやめてUbuntuをクリーンに入れてみた。
しかし、それが簡単にはいかなくて、何が厳しいかというとPCIスロットにカード増設してインストールしたNVMe SSDにOSを入れてやろうとしたものの、どうもこの人はUEFIブートの出発点にできないらしく、LinuxをUSBメモリからそのドライブにインストールすることもできるのだが、起動画面でずっと空振りするようなことになってしまう。
Clover EFIという救世主らしきものに出会ったけど、これもダメで結局SATA HDDにインストールした。ここまででどえらい時間が溶けた。
そして、色んなアプリをインストールしていくのだが、すべてDocker ComposeでやってホストOSはできるだけ何もない状態に、というのを目指してみる。Dockerでやると、Composeファイルとかを全部Gitで管理して、設定ファイルも同じところにおいてVolumeとしてマウントしてあげることで環境がまっさらになっても結構楽ちんで同じものが作れる。データの永続化もHDDにしてから多重化しておくと安心。
これはこれで結構苦労しているけど、現状動かせているアプリケーションやサービスは以下。
- 家庭内DNSサーバ (unbound)
- nginxリバプロ
- WordPress
- PhotoprismとNextCloud
- Gitpod (ここでサーバの資材やサービス、Docker関係のファイルを全部管理。簡易シェルにもなって便利)
- Portainer
- Gitlab
- Splunk Free Lisence
- NFS/SMB
- Minecraft Bedrock のワールドサーバ
- Ntfy
この後もうちょっとやりたいのもある。
- 自前のChatGPT利用したRAGアプリをGradioで作る
- Djangoで作る勉強用アプリのホスティングと開発環境
- Mattermost
Mkdocsも手足のように使いこなせるようになっときたいなー。