無人自動インストール (Unattended Installs)
Omarchy のインストール ISO は、キーボード操作を一切必要としない完全自動の無人インストールに対応しています。インストーラーが cidata というボリュームラベルを持つセカンドドライブを検出し、その中の設定ファイルを読み取ると、セットアップウィザードをすべてスキップしてインストールを行い、自動的に再起動します。専用のカスタム ISO をビルドする必要はありません。
これにより、Proxmox や Packer を使った使い捨ての開発用 VM 環境のベースイメージ作成が非常に簡単になります。cidata は cloud-init の NoCloud ラベル仕様に準拠しており、一般的な仮想化ツールから簡単にアタッチできます。
設定ファイル一覧
これらのファイルは通常のセットアップウィザードが出力するものと全く同じです:
| ファイル名 | 必須 | 用途 |
|---|---|---|
user_configuration.json | はい | ディスク、ホスト名、タイムゾーン、キーボード |
user_credentials.json | はい | ユーザー名とパスワードハッシュ |
user_full_name.txt | いいえ | Git の氏名 |
user_email_address.txt | いいえ | Git のメールアドレス |
user_encrypt_installation.txt | いいえ | disk_encryption 設定がある場合は true |
authorized_keys | いいえ | SSH 公開鍵(1行に1つ) |
tailscale_authkey | いいえ | 初回起動時に Tailnet に自動参加するための認証キー |
パスワードハッシュは openssl passwd -6 "yourpassword" で生成できます。
また、user_credentials.json の代わりに defer-provisioning という空ファイルを配置すると、他の所有者向け準備モード でインストールされます。
SSH アクセスと Tailscale
authorized_keys が存在する場合、インストーラーはその鍵をユーザーの ~/.ssh/authorized_keys に配置し、sshd を有効化してファイアウォールを開放します。
tailscale_authkey が存在する場合、マシンは初回起動時に自動的に Tailscale ネットワークに参加します。
cidata ドライブの作成
小さな ISO イメージを作成するのが最も手軽です:
mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/
Proxmox qm コマンドでの作成例:
qm create 101 --name my-omarchy \
--bios ovmf --machine q35 --cpu host --cores 4 --memory 8192 \
--ostype l26 --scsihw virtio-scsi-single \
--efidisk0 local-lvm:0,efitype=4m,pre-enrolled-keys=0 \
--scsi0 local-lvm:40,discard=on,iothread=1 \
--net0 virtio,bridge=vmbr0 --vga virtio --serial0 socket \
--ide2 local:iso/omarchy.iso,media=cdrom \
--ide3 local:iso/cidata.iso,media=cdrom \
--boot order='scsi0;ide2'
qm start 101
ブート順序で仮想ディスク scsi0 を先頭にしておくことで、初回は空ディスクのため ISO から起動し、インストール完了後は自動的にディスクから起動するようになります。
注意事項
暗号化を有効にした無人インストールでは、初回起動時の LUKS パスフレーズ入力のみ手動で行う必要があります。また、user_configuration.json 内にはパスフレーズが平文で含まれるため、作成した cidata ドライブは機密情報として取り扱ってください。