UGREEN NASyncをやめてProxmoxとUbuntuで始める(Dockhandデプロイまで)
はじまり
以前 (1年ぐらい前に)、勢いで組み立てたNAS用PCにTrueNASを入れようとして、かなり調べていました。
しかし、ベアメタルなNASを使うのに少しチキった私は、UGREEN NASyncを買って、半年ぐらい運用してみました。そして、その組み立てたPCでNASを運用していく自信が付いたのと、UGREEN NASyncに対して不満を抱いたので、今回ベアメタルなNASを始動していくことにしました。
NASyncへの不満
そんでもって、UGREEN NASyncに対する不満は下記になります。
付属しているOS内でターミナルを使えない。
SSHする時に、いちいちOS内のUIをポチポチしてポートを解放しなければならない。ポート開放の制限時間もある。
意味不明なオレオレ権限設定のせいでSCP(現在非推奨)やRsyncでファイルを送信できなかった。(最後にNASyncの画面を見た時にRsyncが追加されていたのでもしかしたら可能かもしれない。)
不可視ファイルをファイルエクスプローラー上で表示できず削除できないので、フォルダごと消すか、SSHから消さないと消えない。(今は不可視ファイルを表示出来るかも。以前は出来ないことがあったということ。)
2026-01頃のアプデ後に画像の内容をファイルエクスプローラから表示できなくなった・・・。サムネイルも表示できない。(一瞬だけ表示できるんだけど、ボクサー対象になったのかな??)
Dockerで既にdocker-compose.ymlで設定した構成と同じ名前の構成を作ることが出来ない。そして、設定した構成を削除すると、その構成用のディレクトリが一生残り続ける。たぶん、SSHから消さないと消えない。
root権限を使えないので、不要なDockerボリュームとかが消せないんじゃないのか?(no space left 時限爆弾)
root権限を使えないので、システムプロセスとかユーザープロセスが気になっても確認できない。
うーん、こんなに色々と気になってしまって、Dockerコンテナをひたすら立てて使いたい人間には、UGREEN NASyncというお気軽NASは向いていないですね・・・。
UbuntuとProxmoxで始めたい
だったら、日頃WSL 2で使い慣れたUbuntuをベースに、ハイパーバイザとしてProxmoxを使った方が、もっと色々な構成を試せるし、精神衛生的にもベターだと思ったわけです。
というわけで、今回の構成は下記です。
マザーボード: MPG B650I EDGE WIFI
CPU: Ryzen 5 8500G
RAM: 32GB
Storage: 2TB SSD + 2TB HDD
ハイパーバイザOS: Proxmox VE v9.1
NAS用OS: Ubuntu Server v24.04.4
あと、UGREEN NASyncの時は試しがてらRAID 5を組んでみましたが、はっきり言って不要でした。「RAIDはバックアップではない。」また、RAIDの構成で30時間も待つのは御免ですし・・・。なので、今回はRAIDを組まない。これでHDD達にフォーマンセルを組ませる必要もなくなる。
ISOをUSBに入れる
最初の作業はVentoyの仕込みです。
USBをVentoy用にフォーマット
パーティションタイプをGPTに設定
必要なISOをまとめて投入
ここは想定よりスムーズでした。
BIOSを更新・設定する
この後から地獄でした。
「Verification failed: (0x1A) Security Violation」が表示されて、最初から雲行きが怪しかったです。
BIOSが表示されて、まずはブートディスクの優先度を設定しました。そして、設定を適用するように保存して再起動するわけです。

しかし・・・、アレッ・・・??
何回設定し直してもBIOSが立ち上がるんですよね。さっぱりVentoyの画面を表示してくれない。
それもそのはず、その原因はBIOSの「設定変更が出来ない」バグがあったからなのでした・・・。(それってそもそも出荷出来るのか??)
まあ、「BIOSを使う時にアップデートは必須」みたいな話を聞いたこともありますが、以前にPCを組み立てた時のBIOSではそんなこと起きなかったんだけどな・・・。ハァ、しょうがないか・・・。
今回のマザボは `MPG B650I EDGE WIFI` 。公式の製品ページから良さげなBIOSの更新ファイルを探します。ベータ版は避けよう。
https://jp.msi.com/Motherboard/MPG-B650I-EDGE-WIFI/support
BIOSの更新手順も一応見つけました。まあ流石にこれが無いと厳しいな・・・?
https://jp.msi.com/support/technical_details/MB_BIOS_Update
BIOS更新完了・・・。これで設定変更不能っぽい症状はいったん解消しました。
今回の起動準備で触った設定は下記です。
Boot Option #1: `UEFI USB Key` を優先
Boot Option #5: `UEFI Hard Disk` 側へ移動
メモリプロファイル: `Disabled -> EXPO Profile 1` (忘れてた)
ProxmoxをISOでインストールする
この後がもっと地獄でした。
やっとVentoyが起動して「よし行ける」と思ったら、今度はUSBメモリ側で `0x800703EE` エラーが出てISOを書き込めなくなりました・・・。ハッ??
そのよく分からない不具合に関しては、何が原因なのかは訳わからなかったので、とりあえず試したことを書いておきます。
Ventoyの起動オプション
基本は `boot in normal mode` を使いました。下記の2種類の起動モードを選べますが、最終的には `boot in normal mode` でした。
`boot in normal mode`
`boot in grub2 mode`
Windowsのディスクの管理でフォーマット
Windowsキー + X から遷移出来ることでおなじみの「ディスクの管理」で、指定のディスクをフォーマットしてみました。
まあでも、解決しなかったんですけどね。(いや、これで解決しないってどういうレベルなの。)
diskpart でクリーン
Windowsのコマンドプロンプトで `diskpart` を実行して、指定のディスクをフォーマットする。自分は万が一にもWindows自体が入っているディスクがフォーマットされたりしたら大変なことになるので、大事なデータを複製してから打ち込みました。
diskpart
list disk
select disk X
clean
exitまあでも、解決しなかったんですけどね。(なんでこんなに無駄にハラハラしなければならなかったんだ・・・。)
クイックフォーマットじゃないフォーマット
その後、ガシャガシャいじってたら、ふと「ディスクの管理」で「クイックフォーマットなしの通常フォーマット」みたいな文言が気になってそれを実施してみました。その時はまた失敗しました。
しかしながら、「ディスクの管理」ではなく、VentoyをUSBメモリから削除してからUSBメモリをエクスプローラ上で開こうとすると、「ディスクの管理」ではないウィンドウが表示されます。そこで「クイックフォーマットなしの通常フォーマット」みたいな項目を選択してフォーマットしたら、 `0x800703EE` エラーを出さずにISOファイルをUSBメモリ内に書き込むことができました。
ハァ、BIOSの更新とVentoy用のUSBメモリを同じもので賄ってしまったのが良くなかったのか・・・。(だってBIOSがバグってるなんて思わなk )
VentoyでProxmoxのインストール
Ventoyの中にProxmoxのISOファイルが入ったので、Ventoyから起動してインストールしました。

ここまで来るのが本当に長かった・・・。


Proxmoxが無事にインストールできたら、Proxmox の Web UI を開きます。これでNASをモニターに繋ぐ必要は無くなった。
Proxmoxの初期設定
「Proxmox VE Helper-Scripts」というページで掲載されている「PVE Post Install」のヘルパースクリプトを使って初期設定しました。それを実行すると、Proxmoxのサブスクの催促を非表示にできたりします。


「Proxmox VE Helper-Scripts」内には他にも何かに使えそうなスクリプトがありそうですね。
・・・なんか知らんが `apt update` ミスった?? (直し方はあるけど、それはまた今度。)

Ubuntu Server VMを作る
Proxmox上で手動でVMを作成し、Ubuntu Serverを入れました。
VM作成時の構成
ディスク容量: 128GiB(当初32GiBで不足したため拡張)
CPUコア数: 2(こんなん絶対足りないけど、最初はこれで設定した)
メモリ: 16384MiB(とても潤沢)
Ubuntuのインストールの流れ
Proxmox上の操作。
Proxmoxの「ISOイメージ」にUbuntu ISOをアップロード
「VMを作成」してVMを起動

Ubuntu VMのコンソール上の操作。
キーボードレイアウトを `Japanese`、Variantを `Japanese` に設定
OpenSSHをインストール (公開鍵の入力は後回しでも大丈夫)
Featured Snap packages は未選択
インストール後に再起動
VM設定で「ホスト起動時に自動起動」「QEMU Guest Agent有効化」
ディスクスペースもデフォルト設定で問題なかった。しかしやっぱり32GiBは少なすぎた・・・。

これで、Ubuntu Serverが動くようになりました。
Dockerコンテナを立てる
Ubuntu Server内でコンテナを立てて、NAS用途を固めていきます。
Dockhandコンテナのデプロイ
まず、これから立てまくるDockerコンテナを管理するためのツールである「Dockhand」のコンテナを立てます。Web UIでコンテナを管理できるツールで、PortainerとかDockgeみたいな感じだと思います。まあ、その両者とも使ったことがないので使い勝手がよく分からないのですが、とりあえずDockhandは使ってて不満は感じません。NASyncにあったDockerアプリよりも使いやすいです。
適当にDocker Composeをインストールしてから、下記のような`docker-compose.yml`を用意して、`docker compose up -d`で起動します。あと、同じディレクトリ内に`.env`を配置すれば、秘匿情報を注入出来るんですね。知らなかった・・・。
name: dockhand
services:
dockhand:
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
ports:
- 3100:3000
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
read_only: true
- type: bind
source: ${VOLUME_DATA_DIR}/data
target: /app/dataデプロイすれば、`<VMのIPアドレス>:3100` で、DockhandのWeb UIが表示されます。
しかしながらその後、`No environments configured` でハマりました・・・。
Dockhandでは、Web UIではなくCLI上でデプロイしたDocker Compose スタックも、DockhandのWeb UI上で表示できます。しかし、そのメッセージがWeb UI上で表示されている状態だと、いくらCLI上で `docker-compose.yml` でデプロイしてもWeb UIに反映されないのです。
これはDockhandのUI側に接続先Docker環境を登録していないだけ、というオチなのですが、初見だとGeminiとかに聞かないと分からなかった・・・。
`No environments configured` から、新しい環境を設定する流れです。
メニューから Settings または Environments を探します。
Add Environment (または「+」ボタン)をクリック。
接続タイプとして 「Local」 または 「Socket」 を選択。
パスに /var/run/docker.sock を指定して保存。
この設定後は、Web UIから `compose.yml` と `.env` を直接貼ってデプロイできるようになり、どのStackをどの構成で建てたかの管理がかなり楽になりました。

おしまい
UGREEN NASyncをやめて、Proxmox + Ubuntu の構成を構築して、Dockerコンテナを立てるところまで進めました。
BIOSやUSBメモリの不具合で沼りましたが、乗り越えてしまえばこっちのもんですね。データが破損するなどのトラブルが起きても、CLIから原因を追跡することが可能ですし、自分好みに構成を拡張することが出来るようになりました。全能感で脳汁が出てきます。
さて、この直後に、ファイルシステムの崩壊とかファイルの破損のオンパレードで、もっと大変なことになったのですが、それはまた今度にしましょう・・・。
