カテゴリー: サーバ

  • 脱CasaOS計画〜その1:FreshRSSをProxmoxに移行

    CasaOSの開発・更新を大元のIceWhaleが行わないっぽいので、docker ceのアップデートで混乱したりすることになりました。以前の投稿で書いたように、今はdockerのアップデートもできるように設定しましたが、そもそものCasaOS自体が先が見えない状態で、IceWhale社としてはZimaOSに移行してね!というスタンスのようです。

    ただ、移行したところでそのZimaOSがいつまで続くかも分かりませんし、将来的には有料化やサブスク化など、好き勝手に使えなく未来もありえますので、CasaOSにまとめる前のようにProxmoxでそれぞれの機能ごとにVMやLXCで運用することにしました。

    まず手始めに、トラブルが起きても一番損害が少ないRSSリーダーのFreshRSSを移行します。

    ProxmoxのLXCで、
    コンテナイメージ:Debian13
    CPU:1コア
    メモリ:256MB
    スワップ:256MB
    ストレージ:4GB
    とかなり低めにしました。他のVMやLXCもたくさん作る予定ですので。

    LXCでFreshRSSをインストールしてからブラウザでアクセスしてログイン。

    元のCasaOS上のFreshRSSから購読フィードのデータをエクスポートして、それを新しいFreshRSSでインポートして終わりです。超絶簡単。

    失敗してもゼロからやればいいだけですし、Proxmoxのコンテナなんて1分かからず作れますからね。

    ・CasaOSで運用中のセルフホストのサービス
    FreshRSS→移行完了
    Jellyfin
    Nextcloud
    AdGuardHome
    Memos
    Vaultwarden
    PhotoPrism
    Ghost

  • OpenCloudを試してみた→即諦めた。

    自宅ネットワーク内でセルフホストとして、Nextcloudのサービスを愛用しています。まだ数ヶ月ではありますが、デスクトップのファイル同期(自動バックアップ)、カレンダー、ノート(メモ機能)を代替することで、ビッグテックのロックインから逃れられていて自己満足に浸れています。

    さて、そんなNextcloudの大きな難点として、Redditなんかでもボロクソに書かれているのが動作の重さです。PHPで書かれていて、DBも必要としているため遅くて制限もあります。

    そんな悩みの解消に!ということで、Nextcloudがフォークした大元のOwncloudの開発元からフォークされたOpenCloudというものがありますので、ちょっと試してみました。

    ProxmoxのVMとして、
    OS:Ubuntu server 24.04
    ストレージ:32GB
    CPU:2コア
    メモリ:4GB(2GBで作成しましたがすぐにいっぱいになったため増やしました)
    で作成し、Ubuntu server 24.04をインストールします。

    IPアドレスを固定して、apt update & upgrade -y で最新にます。それからUSB接続HDDをつないで、ProxmoxのVMのハードウェアから認識させます。

    ここからは外部ストレージの初期化とマウントで、

    lsblk
    sudo mkfs.ext4 /dev/sdb
    sudo mkdir -p /mnt/usb-storage
    sudo mount /dev/sdb /mnt/usb-storage

    とりあえずUbuntu上から認識させます。

    ここからOpenCloudのインストールです。

    sudo apt install -y docker.io docker-compose-v2
    sudo systemctl enable --now docker
    mkdir ~/opencloud
    cd ~/opencloud
    nano docker-compose.yml
    services:
    ocis:
    image: owncloud/ocis:latest
    container_name: opencloud
    environment:
    - OCIS_URL=https://192.168.XXX.XXX:9200 # 自分の固定IPに変える
    - OCIS_INSECURE=true
    - PROXY_HTTP_ADDR=0.0.0.0:9200
    - OCIS_LOG_LEVEL=info
    - IDM_ADMIN_PASSWORD=admin # 明示的に初期パスワードを指定
    ports:
    - "9200:9200"
    volumes:
    #USBストレージをデータの保存先に指定
    - /mnt/usb-storage:/var/lib/ocis
    - ./config:/etc/ocis
    restart: always
    sudo chown -R 1000:1000 /mnt/usb-storage
    sudo docker compose up -d
    

    これで上手く行くと思いきや、なんか「最近のOpenCloud(oCIS)はセキュリティが強化されており、「JWT Secret」などの秘密鍵を最初に生成(初期化)しないと起動できない仕様になっている」らしいです。

    sudo docker run --rm -it
     -v $(pwd)/config:/etc/ocis
     owncloud/ocis init

    をやってから、再度dockerを落としてもう一度upしたら起動しました。

    検索してみると、どうやらNextcloudに比べてOpenCloudでは、大量のファイルをコピーするときにかなり速く動作するらしいです。

    左上のボタンを押すとメニューが出てきますが少ない・・・。

    テキストエディタは普通のエディタです。画面下部にあるリンクをクリックすると、md-editor-v3のキーボード・ショートカットに飛びました。

    App Storeは特に目を惹くようなものはなかったです。これから増えていくのでしょうか。

    今のところはインストール直後まで。気が向いたら、ファイルコピー速度や、デスクトップアプリ(AppImage)やAndroidアプリの動作を確認してみます。

    <2026年2月18日追記>

    OpenCloudのスマホアプリやデスクトップアプリから何故かログインできず、色々調べましたがAIを使っても解決できなかったため、とりあえず今の私としてはOpenCloudの使用を諦めました。

    Nextcloud万歳、Nextcloud最高、エラー混じりでもちゃんとログインできるのだから遅くてもNextcloudを使い続けます。CasaOSではなくProxmoxのVMに移行しようかなとは思っていますが。

  • CasaOSのDockerを最新版に更新してもOKなように設定変更

    昨年11月25日の投稿で、

    docker ce がバージョン29以上になると、CasaOSが正常に機能しなくなる、と言う問題があり、結局その時はその場しのぎの対策として、dockerのバージョンを古いままに固定する、という対策を取りました。

    3ヶ月近く経ちましたが、やはりCasaOSの未来はもうないみたいですのでどうするかを考えなければなりません。

    今後の選択肢をGeminiに聞いてみたらこんな返答がありました。

    ===============================
    CasaOSの開発が停滞しているため、長期的な運用を考える場合は以下の選択肢を検討してください。
    案A:ZimaOSへ移行する
    IceWhaleが公式に推奨している後継OSです。CasaOSをベースにしていますが、よりNAS向けに洗練されています。現在、CasaOSからZimaOSへの移行ガイドも公開されています。
    
    案B:管理ツールを「Dockge」や「Portainer」へ切り替える
    CasaOSは「見た目の良いランチャー」として使い、実際のDocker管理(更新・作成)はよりメンテナンス頻度の高いDockge(軽量・直感的)やPortainer(多機能)に移行する手法です。これらはCasaOS上のアプリとしてインストール可能です。
    
    案C:APIを修正してこのまま使い続ける←(API修正については後述)
    CasaOS自体はDebian上で動く「単なるWeb UI」に過ぎません。OS(Debian)とDockerさえ自分でセキュリティアップデートしていれば、UIが更新されなくても致命的な問題にはなりにくいです。
    

    まとめ

    まずはAPI修正での対策を行ってください。これにより、Debian側で自由にDockerをアップデートしてもCasaOSが壊れなくなります。その上で、UIの古さが気になるようであればZimaOSやDockgeへの移行を検討するのが最もスムーズです。
    ===============================

    さらに言うと、案DとしてProxmox上のコンテナやVMにCasaOS上のアプリケーションを移行していく方法がありました。

    案Bは結局API修正しないと、CasaOS上のアプリとして起動できないはず。

    案Aがスッキリはしますけれど、CasaOSからZimaOSへの移行が果たしてすんなり問題なく実行できるか不安。

    ということで案CのAPI修正で、ひとまず現行のCasaOSの寿命を延ばすことにします。これも推奨される方法ではないのでしょうけれど。

    1,SSHでCasaOSを入れているDebian13にログイン
    2,Dockerサービスのオーバーライド設定ディレクトリを作成

    sudo mkdir -p /etc/systemd/system/docker.service.d

    3,設定ファイルを作成・編集

    sudo nano /etc/systemd/system/docker.service.d/override.conf

    4,以下の内容を貼り付けて保存して、終了

    [Service]
    Environment=DOCKER_MIN_API_VERSION=1.24

    5,設定を反映してDockerを再起動

    sudo systemctl daemon-reload
    sudo systemctl restart docker

    6,バージョンアップされないようにしていたdockerの設定を解除

    sudo apt-mark unhold docker-ce docker-ce-cli

    7,もう一度Dockerを再起動

    sudo systemctl daemon-reload
    sudo systemctl restart docker

    これで、CasaOSが入っているOSでdockerを最新版にアップデートしても、CasaOSが起動しなくなることがなくなりました。

    いつかはちゃんとした環境を構築しないといけないのでしょうけれど、今のCasaOSに入れている各種サービスが以下これだけあると、なかなか踏ん切りが付きません。

    FreshRSS
    Jellyfin
    Nextcloud
    AdGuardHome
    Memos
    Vaultwarden
    PhotoPrism

    環境構築、移行、正常動作まで持っていくのに土日潰れても駄目だと、平日の仕事終わった後の夜にも作業をしないといけなくなります。どこかの連休で頑張ってみることにします。

    RSSとかJellyfinとかMemosとかは別に1週間でも10日でも止まっていても問題ないですが、AdGuardHome・Nextcloud・Vaultwardenが止まるとマジで不便です。まあそういう不便が嫌ならセルフホストのサービスなんか使っちゃいけないのですけれど。その点、ローカル環境がどうなっていようとネットさえつながれば問題ないクラウドサービスはさすがに便利ですね。

  • CasaOSを入れているDebianやUbuntuをアップデートしたらCasaOSがおかしくなった件(復旧済み)

    現在、自宅ネットワークでCasaOSは2つのPCで稼働させています。1つはDebian13にCasaOSを入れて、AdguardHome、Memos、Vaultwarden、FreshRSS、NextCloud、Jellyfin、PhotoPrismを稼働させています。

    もう一つは、このブログを動かしているGhostだけのCasaOSを、ProxmoxのVMに入れたUbuntu Server24.04に入れています。

    さて、先日これらDebianやUbuntuをアップデートしたのですが、するとCasaOSがおかしくなってしまいました。

    日本語での情報が少なくて困りましたが、Xに書いている人がいて、どうやらdockerをダウングレードしたら直るらしい。dockerバージョンが29以上になると、CasaOSが動かないようです。

    ということで、生成AIに聞いてダウングレードを決行。まずは失敗した時のダメージが少ない、Ghostだけを動かしているCasaOSの方から行います。

    メインマシンから、CasaOSを入れているProxmoxのVMにSSHで入ります。
    以下は、生成AIに聞いた内容そのままを記載しています。

    ========================

    ダウングレードの実行

    1.利用可能なDockerバージョンの確認

    sudo apt update
    sudo apt-cache madison docker-ce

    2.Dockerサービスの完全停止

    まず、DockerとDockerソケットの両方を停止します:

    sudo systemctl stop docker.socket
    sudo systemctl stop docker.service

    3.現在のDockerパッケージの削除

    sudo apt remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    4.特定バージョンのDockerをインストール

    リストから5:28.5.2-1~ubuntu.24.04~nobleを選択してインストールします:

    sudo apt install docker-ce=5:28.5.2-1~ubuntu.24.04~noble docker-ce-cli=5:28.5.2-1~ubuntu.24.04~noble containerd.io docker-buildx-plugin docker-compose-plugin

    5.Dockerの自動更新を防止

    ダウングレード後、Dockerが自動的に最新版に更新されないようにパッケージをホールドします:

    sudo apt-mark hold docker-ce docker-ce-cli

    6.Dockerサービスの起動

    sudo systemctl start docker.socket
    sudo systemctl start docker.service

    7.バージョンの確認

    正しくダウングレードされたことを確認します:

    docker version

    注意事項
    この方法では既存のDockerイメージやコンテナは削除されません
    ダウングレード作業は必ずSSHまたは直接接続したターミナルから実行してください
    作業完了後、CasaOSのWeb UIが正常に動作することを確認してください

    ホールドを解除したい場合は、以下のコマンドを実行します:

    sudo apt-mark unhold docker-ce docker-ce-cli

    ========================

    これで確かにこのブログとCasaOSがちゃんと動くようになりました。

    次は、色々セルフホストしているサーバの多いCasaOSですが、やることは同じです。ダウングレードするdockerのバージョン名が少し変わるだけですね。

    sudo apt install docker-ce=5:28.5.2-1~debian.13~trixie docker-ce-cli=5:28.5.2-1~debian.13~trixie containerd.io docker-buildx-plugin docker-compose-plugin

    これで無事、二つともCasaOSとその上のサーバも復旧できました。ただ、新しいdockerバージョンに対応していないのは厳しいですねえ。

    Redditを読んでると、CasaOSが無くなる!とかZimaOSに吸収される!とか慌てて焦っている人がいます。Zimaspaceが、商売に直結しているZimaOSの方に注力するのはまあ当然なことでもあります。

    将来的にCasaOSが使い物にならなくなった時のこともそうていしておかないといけないでしょうね。

    Proxmox上で、LXCやVMで一つずつサーバを動かせば良いのですし、以前はそうしていたので無理ではないですが、ファイルサーバの取り扱いが面倒ですね。自分一人しか使わないサーバ群なのですから、もっと簡単に扱いたいものです。

    調べていると、UmbrelOSというものがあるらしい。CasaOSに近い機能があるようですが、ビットコインノードを動かすのがメイン機能のようです。どこかでCasaOSを見限る前に試しておきたいですね。

  • WordPressからGhostにブログを移行してみた

    このブログはWordpressを使って運営していますが、自分のブログの方針として、面倒くさいのでゴテゴテした感じにするつもりはないし、テキストと写真・リンク以外のものが存在しないので、Wordpressは結構過剰な仕様なんですよね。

    ということで、もっとシンプルに使えるものとして、同じCMSながらブログ・ニュースレターに特化したGhostというセルフホスト可能なサービスを使うことにしました。

    https://ghost.org/

    ウェブサービスとしても使えますが、セルフホストも可能というのはWordpressとWordpress.orgみたいな感じでしょうか。

    移行にあたっては、まずは既存のWordpressでGhost移行用プラグインをインストールします。プラグイン検索でGhostで検索すると見つかりますので、それを入れたあとに有効化すると、エクスポートできます。json1つだけ出力されるのと、画像込みZipを出力するのとがありますので、一応両方エクスポートしておきます。

    肝心のGhostについては、最初はProxmoxのLXCコンテナで作るつもりでしたが、DBとか面倒くさいなあと思ったので、VMを作ってCasaOSを入れて、CasaOSのアプリとしてGhostを入れました。勝手にDBを入れるところまでやってくれるので楽です。

    まずはプライベートIPアドレスでGhostを起動します。ポートは2368がデフォルトです。

    最初の画面でメールアドレスとパスワードを設定して初回ログイン。先ほどエクスポートしたWordpressの中身をインポートしようとすると、画像込みのZipファイルを読んでくれません。仕方無しにjsonでインポートします。画像入れてる投稿は1つくらいしか無かったので別に良いのですが、画像が多いブログを移行する場合は大変ですね。

    さて、問題なさそうなので独自ドメイン(https://hrsgmb.com)に移行・・・する前にテストとして、
    https://new.hrsgmb.com
    で使えるか試してみます。

    Cloudflareの設定で上記のテスト用サブドメインのDNSレコードを固定IPに設定し、
    AdguardHomeでサブドメインをNginxProxyManagerに向けて設定、
    NginxProxyManagerでCasaOSのIPアドレスに向けるのとSSL設定を行い、
    さあサブドメインでテスト運用!と思っていました。

    しかし、このサブドメインをブラウザで開き、設定画面で初回ログイン時に設定したメールアドレスとパスワードを使うとエラーが出てログインできません。

    訳が分かりませんでしたが、調べてみるとどうやらログイン時に作成したクッキーがないと強制的に2段階認証が発動するようです。そして、メール送信の仕組みを設定していないため、そのメールアドレス宛への2段階認証のコードを送ることすら出来ないという状況になっていました。

    先達の方々のブログも読んで、configファイルにCasaOSのアプリのターミナルから普段使わないviで書いたりしましたが、それでも2段階認証のメール送信が出来ません。

    結局、困ったときはいつもの通り生成AIです。聞いてみると、configを編集するよりも、dockerなら環境変数で設定したほうが良いとのこと。こういうことはやっぱり知識がないと駄目ですね。

    言われたとおり、CasaOSのGhostの設定画面で環境変数に追加してみました。ちなみに使用するメールはGmailで、送信システムもGmailのSMTPを使用します。

    この時に、Gmailのアプリパスワードという仕組みを使いましたが、セキュリティのことを考えるといずれこの仕組みはGoogleが廃止しそうな気がします。その時までに、自宅ネットワーク内でのメールサーバを立ち上げておかないといけないのでしょうか。

    それはともかく、生成AIのおかげで2段階認証のメールがちゃんと届き、ログインできました。

    まだテスト用のサブドメイン運用ですので、
    https://new.hrsgmb.com
    となっているものを全て、
    https://hrsgmb.com
    に変更していきまして、Ghostの設定画面にも再び2段階認証でログインできました。これで移行完了です。あ、上記のテスト用サイトは

    大してビュー数も無く、画像もあまり貼っておらず、ポスト数もまだまだ少ないブログですので、WordpressでもGhostでも表示速度に差は無いと思いますが、とにかくシンプルなのは良いですね。

    設定画面が全部英語で、日本語ローカライズも無いようですが、難しい英語が書かれているわけではないですし、ブラウザの翻訳機能を使えば誰でも使えるでしょう。

    結構良いなと思ったのですが、少なくとも日本での知名度も利用度もWordpressと比ぶべくもないくらい隔絶しています。まあ、シンプルなブログを書きたいなら、GoogleのBloggerとか、私も書いているnoteとかありますしね・・・。

  • 独自ドメインをCloudflareに移管してみた

    このブログの独自ドメイン[hrsgmb.com]は、バリュードメインで取得しました。どこのプロバイダが良いとか悪いとかはあまり知らなかったのですが、だいぶ前にお名前ドットコムでやったときには、その後の怒涛の広告メールがクッソうざかったので、お名前ドットコムは絶対なしと思って、結局適当にバリュードメインを選んだ気がします。

    しかし、ここ最近色々調べてきて、Cloudflareでドメインを管理したら色々便利じゃないかね? と思って、バリュードメインからCloudflareに独自ドメインを移管することにしました。

    ということで、いつものごとく生成AIに質問しつつ、移行作業開始。

    まず、バリュードメインでWHOIS情報公開代行の解除を行います。
    https://www.value-domain.com/userguide/manual/whoisproxy_off

    これをしないと移行したときのメールが自分宛てに飛んできませんから重要です。

    次に、
    https://www.value-domain.com/userguide/manual/transferother
    この説明を読みつつ進めていきます。

    並行して、Cloudflareのアカウントも作成しておきます。Cloudflareでの設定画面も日本語に変えれば分かりやすいですね。

    設定途中で移行する独自ドメインをCloudflareで入力すると、現在のDNSレコードを勝手に読み込んで設定を入れてくれますが、なかなか全部完璧には入れてくれはしないようですね。足りない分は自分で設定します。

    ブログ公開を途切れる時間(ダウンタイム)を生じさせないためには、途中で出てきたCloudflareのネームサーバーを、いったんバリュードメインにも設定します。

    そしてなんやかんやCloudflareでの設定を進めていき、自分宛てに届いたメールを承認すると、最大5日間かけて移管されますが、私の場合は数時間も経たずに移管出来ました。

    移管したあとでブログが問題なく表示されて、管理画面にも入ることができれば、最後にバリュードメインでのデータを削除して完了。

    本当は、Cloudflareならではの機能を色々使いたいところですが、今回はここまで。また勉強しつつ設定していきます。

  • OPNsenseからpfSenseに移行

    前の記事に書いたように、OPNsenseを導入して、さらにCasaOSにサーバを集約して機器もケーブルもスッキリして、はーやれやれ、と思っていたのもつかの間、突然ある日の朝に、ネットが繋がらなくなりました。メインPCもスマホもです。LAN内のサーバにはつながり、OPNsenseを経由せずに、大元の光回線ルータに直接wifiで繋ぐと、インターネットにアクセスできたので、どう考えてもOPNsenseに問題があります。

    ということで、出勤するまでの数十分間かけて色々やっても駄目、仕事を終えて帰宅してからバックアップデータから復旧しても駄目、ついにはファクトリーリセットをしても駄目、ということで絶望に打ちひしがれていました。

    また完全にゼロからOPNsenseを入れ直せば、多分動作するんだろうけれど、また同じ設定をやったらまた同じように駄目になりそうですし、そもそもまたOPNsenseを入れるのも芸がないので、OPNsenseの派生と言うか正確には派生元から分離したpfSenseの方をインストールしてみます。

    なんかよく知らないですが、netgateという会社のホームページからダウンロードできるようですが、メールアドレスやら住所やらを登録しないといけないようです。色々調べていたらRedditに旧バージョンのftpのURLを貼っている神がいましたけれど、そもそも何か送られてくるわけではないので、メールアドレス以外は嘘を書いておけばいいだけです。メールアドレスもFirefox Relayのマスク機能を使えば、何の個人情報も先方には渡りません。

    さて、なんやかんやで手に入れたisoファイルを、いつものごとくUSBメモリ内のVentoyのフォルダにコピーして、いざインストール。途中の画面は似ていますし、インストール完了直後のコンソール画面での設定はほぼ同じですね。

    GUI画面はまるっきり異なりますが、実際に設定できる内容はやっぱり似ています。インストール直後のデフォルトのIDとパスワードが[admin]と[pfsense]で、[root][opnsense]だったOPNsenseとは違ったのでちょっと焦りましたけれど。

    さて、またAIにも聞きつつ、自分の環境に合わせた設定をしていきます。今回は逐一、バックアップを段階ごとに保存していきます。しかし、[Diagnostics]→[Backup & Restore]→[Config History]に、設定変更ごとに巻き戻したり設定を保存したりする機能があることを知りました。OPNsenseでもあったのかも知れません。

    ともかく、設定をすればちゃんと動きました。LANとOPT1の分離も出来ましたし、Tailscaleプラグインを入れてモバイル回線からもアクセスできました。

    これでなんとかなりそう。これでもなんか知らん間に駄目になったら、OpenWRTを試してみようか。

  • Proxmoxから大半のサーバをCasaOSに移転(というか作り直し)

    先日の投稿では、OPNsenseをルータ兼FWとして導入したと書きましたが、今度はその内側のネットワークとサーバの話です。

    これまでProxmoxを入れたPCを複数台運用して、
    WordPress
    NginxProxyManager
    NextCloud
    Jellyfin
    FreshRSS
    AdguardHome
    などなどのサーバを運用してきまして、クラスタ化やバックアップなど様々なLinuxサーバの勉強とおためしをしてきましたが、勉強のためではなく、自分個人で利用者として使うことになると、各PCでの動作確認や電源・LANケーブルの煩雑さが鬱陶しくなってきました。

    そして、ふと思ったのが、「そもそもPC1台にまとめたら良いんじゃね」ということでした。

    現在のProxmox内でのサーバ運用でも、オーバーヘッドを加味しても十分に余裕がある状態であり、また、一人だけしか使わないのですから同時に複数のサーバを酷使することはありません(例えば、NextCloudで写真同期しながら、Jellyfinで動画を再生しつつ、OMVで大量のファイルコピーをこなったりすることはないです)。

    ということで、現状のProxmoxの各VMやLXCを整理して、1台のPCに集約することにしました。利用するのはCasaOSです。

    Zimaboardに最初にインストールされていたのを少しだけ触っただけでしたが、これを気にガッツリ触れてみましたが、個人利用での複数サーバ運用ならこれが最適解のような気がします。もっと細かく設定したいなら、Dockerで直接全てのパラメータを自分で決めれば良いでしょう。

    さて、使うPCは、現在自宅にあってサーバ運用しているPCの中では最も高性能な、Ryzen5 3550Hを積んだものです。

    https://www.amazon.co.jp/dp/B0DBLGVNXQ

    以前にもこのブログやnoteでも紹介しましたが、今になって型番が「AN2」であることを知りました。というかPCウラ面にも書いていました。

    このPCはメモリ16GB×2での運用も可能で、以前には32GB×2の合計64GBでも動作しました。今回は合計32GBで使います。

    Proxmoxに入れるVMやLXCではいつもUbuntu Server24.04を使ってきましたが、今回はついこないだメジャーバージョンアップがあったDebian13を使ってみることにします。

    isoファイルをVentoyの入ったUSBメモリにコピーしてさっさとインストールします。毎度のことながらVentoyの有能さには感心します。考えた人天才か。

    Debian13自体はGUIでは使わないので最小構成プラスSSHだけでインストール完了させて、続けてCasaOSです。こちらもcurlコマンド一発ですのでありがたいです。

    CasaOSのインストールが完了したら、メインPCのブラウザでDebian13及びCasaOSのプライベートIPアドレスを叩いて表示させます。CasaOSのデフォルトポート番号[80]は運用するサービスによっては競合するので、さっさと変更しましょう。私は[9091]にしましたが、競合しなければ、かつ自分が忘れないようなものなら何でも良いです。八千番台は結構使われがちです。

    お次はApp Storeから使いたいものをどんどんインストールしていき、競合するポートとか、ネットワークとか、ボリュームとかはエラーが出るたびに生成AIに質問して解決していきました。大して知識がなくても、諦めない根性と、データを失っても良い覚悟と、解決にかける時間があればなんとかなるものです。

    ちなみに、ここでOPNsense&NEC PC+LANカードという組み合わせをした一番の理由である、Wordpressサーバの分離を行いました。

    OPNsenseのLANアドレスには、メインPCやCasaOSをつなぎ、OPT1の方にはProxmoxに入れたWordpressとNginxProxyManagerをつなぎました。NginxProxyManagerはOPNsense→AdguardHomeを経由してドメイン解決していて、さらにLet’s EncryptによるSSL認証にも利用しているので、今すぐは無くせないですね。

    取り急ぎ、サーバ・ネットワークの簡素化と分離を行うことが出来ました。

    しかし、このRyzen5搭載のPC「AN2」の問題点は、CPUを低速で動かしていても、発熱→ファン高速回転→温度低下→ファン低速回転→発熱→ファン高速回転→温度低下・・・というループとなってファン音が気になってしゃーないことです。

    ということで、せっかく入れたCasaOSのセットアップをやり直します。低電力で有名なIntel N100を搭載した、UN100Pの方を使うことにしました。メモリはAN2から持ってきた16GBを使います。AN2のCasaOSでは32GBでも十分に余りまくっていましたから、16GBでも多いくらいです。

    Debian13とCasaOSのインストールが短時間で終わることが救いですね。もう一度同じことをやり直して完了。ちなみに、Proxmoxで全て運用していた時にNASとして使っていたOpenMediaVaultは、今回は使用せずにCasaOSそのもののファイル共有機能を使います。個人利用ならこれで十分でした。

    さて、ここまで上手くいって、よしよし・・・と思っていたところ、まさかの状態に陥りましたが、次の記事に続きます。

  • OPNsenseのインストールから設定完了

    先日、NECのジャンク品スリムPCにLANカードを追加したところまで書きましたが、ここからはOPNsenseをインストールしていきます。ちなみに私は生成AIに聞きながらインストール・設定をしていきましたが、参考に出来るサイトとしては、
    さくらのVPSマニュアル
    https://manual.sakura.ad.jp/vps/os-reinstall/iso-install/opnsense.html
    こちらがわかりやすいかも知れません。ただし、これはクラウドサーバでの設定ですので、ローカル環境の実機では設定が一部異なります。

    OPNsenseのサイト
    https://opnsense.org/download/
    からイメージをダウンロードします。私はUSBメモリに入れたVentoyのフォルダに入れるので、「Select the image type」はDVDを選び、isoファイルを落としました。それぞれの違いはここに書いてありました。
    https://docs.opnsense.org/manual/install.html#installation-images

    VentoyのUSBメモリをPCに挿して起動してインストール開始。まずはCUI画面での設定です。WAN interfaceは光回線ルータにつながっている方を選び、LAN interfaceは、従来の内部ネットワーク(メインPCやProxmoxホストなど)につなぎます。

    インストール時にいきなりログインIDとパスワードを求められますが、ここは
    ID installer
    Password opnsense
    と入れればOKです。知らないと焦りますな。もちろん、ドキュメントには書いてあるのですけれど。
    https://docs.opnsense.org/manual/install.html#opnsense-installer

    この後は、大抵のLinuxディストリビューションと同様に、言語、キーマップ、ストレージやパーティションなどを決めて、インストール開始。途中でrootユーザーの設定を行います。

    完了したら再起動しますが、OPNsenseはデフォルトでいきなり、インストールしたPCのプライベートIPアドレスが「192.168.1.1」に設定されてしまいますので注意が必要ですね。

    さて、ここからが最後のCUIでの設定です。0から13までの選択肢が出る中で、まずは2を選び、インターフェイスの設定を行っていきます。ちなみに、1を選ぶと、インストール前のWAN/LANの設定をやり直せます。

    この辺もまあ、Proxmoxとかのインストール時の知識があれば大丈夫ですね。IPv6関係は無視します。設定が完了したらリブートして、またこの画面に戻ってきたら、次はGUIでの設定です。このCUIの画面は実機上で表示されたままですので、もし万が一rootパスワードを忘れた場合はここの「3」からリセットできます。

    次は、GUIでのセットアップです。

    インストール時に設定したLANのゲートウェイアドレスに、
    :8443
    をつけてブラウザで開けば入れます。

    最初にウィザードが出てきますが、これを飛ばしても個別で設定できますし、ウィザードのやり直しも出来ます。

    自分の環境に合わせて設定していきます。キャプチャとか取っていなかったので、最初にどのように設定したかをもはや全く覚えていませんが、この時点ではWordpressサーバの分離は行わず、全てのデバイスをLAN(192.168.100.0/24)の方につなげましたので、まだそこまでややこしくは無かったはずです。それでも難しかったですが。

    システム→設定→全般
    インターフェース→割当/LAN/WAN
    ファイアウォール→NAT→ポートフォワード/外向き
    ファイアウォール→ルール→LAN/WAN
    サービス→ISC DHCPv4→LAN

    なんかを設定したと思います。その後にも色々といじっていますが、それについてはまた後日書きます。

    とりあえず、これでOPNsenseを用いたファイアウォール・ゲートウエイを設定できました。Core i5 8500Tにメモリ16GB、SSD128GBという過剰スペックですけれど、少なくともハードウェア的制約で困ることはないでしょう。

  • NECのジャンク品のスリムPCにLANカードを追加してOPNsenseをインストールした

    前回の記事で、NEC製のスリムPCをジャンク品として購入した話を書きましたが、使いみちとして、LANカードを挿してLANポートを増やして自宅ネットワークを拡張しようと思います。

    具体的には、現在、Proxmoxのホスト内にあるLXCコンテナで運用しているWordpressサーバ(このブログ)を、他のサーバ群と別のネットワークに分離します。他所からアクセスされるサーバは、他のサーバとは分けるべきですね。そもそも、クラウド上で運用すればいい話ですが、それは置いといて。

    さて、そこで必要になるのが、LANポートが2つ以上あるLANカードと、そのカードをスリムPCに挿すためのライザーカードです。どちらもAliExpressで買おうかと思いましたが、Amazonでも対して値段が変わりません。多少の値段差は、送料プラス安心で埋まります。昨今のAmazonは配送トラブル・中身のすり替えなどが問題になっていますけれど、まあこのカード類程度の金額であればダメージは少ないですし、こういうライザーカードなんて売っているネットショップは非常に限られます。

    ちなみに、購入したものは以下の2点です。

    https://www.amazon.co.jp/dp/B0DQQ94D1D

    https://www.amazon.co.jp/dp/B085WPC19Q

    ライザーカードはLenovo m720qでも使えるもので、同構成のNECのこれでも動くはずと思って買いました。

    LANカードはIntelチップでギガビットポートを2つ積んでいれば良いので、これにしました。シビアなスピード要求があるわけではないですし。

    さて、PC本体を開けて、2.5インチSSD用アダプタを外し、ライザーカードを挿す前に、LANカードをライザーカードに挿す必要があります。不可能ではないですが、先にライザーカードを挿すとめんどくさいです。

    出来上がりはこんな感じ。

    PC本体の背面はこちら。若干傾いていますが、固定できないのでしょうがないですね。重いGPUカードならメインボードに干渉するかも知れませんが、LANカード程度なら大した自重はありません。

    次は、OPNsenseのインストールのお話です。

  • 今度はジャンクのスリムPCを購入した話

    購入したのは少し前でしたが、大阪は日本橋にてブラブラしている時にジャンク品のミニPCを購入してしまいました。

    買ったのはショップインバース日本橋一号店さんで、モノはこちらのNEC製のスリムデスクトップパソコン MKM21/C です。

    https://support.nec-lavie.jp/navigate/support/productsearch/old_number/MKM21C4/spec.html

    CPUはCore i5 8500Tです。今流行りのN100(4コア4スレッド)と比べてシングルスレッドでは若干劣りますが、6コア6スレッドのためマルチスレッドでは圧倒します。
    メモリは8GBが1枚刺さっていました。2スロットあるのでもう一枚刺して16GBにしてみます。最大16GBまでだそうですが、多分64GBまでいけるんじゃないですかね。試してないですが。

    HDD・SSDは無し。M.2を1つ、SATAを1つ使えるので結構便利。まずは手持ちの128GBのNVMe接続SSDと、240GBのSATA接続SSDを使います。

    ACアダプタも付いていないものでしたが、じゃんぱら大阪本店にてNECのACアダプタのジャンク品があったことを覚えていたので、あれで良いだろうと思ってこの本体を購入しました。値段は10,000円ポッキリ。ACアダプタは480円でした。

    出力ワット数をチェックしていなかったのですが、じゃんぱらで買ったアダプタは定格45Wで、本体は最大65Wを消費する仕様でした。不安になりながらも起動したら何事もなく動作しましたけれどね。

    基盤の背面にM.2スロットが1つあります。チップがある側には2.5インチHDD/SSDドライブ用のアダプタも付属していました。ジャンク品だとこういうのは無くてもおかしくないですが、ラッキーです。

    さて、購入したは良いものの、特に使いみちが無い状態です。まあジャンク購入あるあるですね。

    このNEC製のスリムPCは、珍しいタイプで内部にPCIeスロットがあるタイプです。ブログやYouTubeではライザーカード経由でGPUカードを刺して、ゲーミングPC化しているネタがいくつもアップされています。同系統のLenovoのスリムPCの方が世界的には有名です。ただ、さすがに筐体の構造的に発熱・騒音が厳しいと思われるので、それは諦めます。人によっては筐体を3Dプリンタで作り直したり、ドリルで穴を開けたり、あるいは完全に筐体を開けたまま使っていたりしていて、そこまでやる気にはなれません。

    ひとまず、Proxmoxを入れてWindows11と、WindowsServerの試用版をそれぞれVMにインストールして、ActiveDirectoryの触りだけ試してみました。CPUやメモリが十分あるので、何の問題もなく使えます。ジャンク品とは言っても、ただ単にストレージとACアダプタが欠品しているだけのものですので、お得でしたね。

    さて、せっかくあるPCIeスロットを使わないのももったいない。ということで、LANカードを購入してルータ代わりにとりあえず使ってみることにします。

  • GooglePhotoからNextCloudへの完全移行で少し焦った話

    先日書いた記事で、WindowsからLinuxに移行したと書きました。また、既に自宅のネットワーク内には、ミニPCやシンクライアントをホームサーバ化して、NextCloudやNASを設置しており、Googleなどの巨大IT企業によるクラウドサービスからも少しずつ離脱しつつあります。

    そんな中で、ブログやnoteの記事のネタや下書き、書いた文章の保管に使っていたGoogle Keepは、NextCloudのノート機能に移行できました。

    GoogleTakeOutのサービスから、Google Keepの中身をダウンロードして、NextCloudのドライブに放り込んで無事に取り込めました。

    ただ、このときに元ネタのKeepの1つ1つのメモファイルの更新日時が、GoogleTakeoutでの出力日時になってしまっていて、NextCloudのノート上では全部同じ日時になってしまい、時系列がわからなくなってしまいました。Keepでのラベルをノートのカテゴリに設定できたので、まるっきりメチャクチャになったわけではないですが、一覧性が落ちてしまったことは残念です。

    そして、Google PhotoからNextCloudに移行するに当たっては、同じ轍を踏まないようにします。GoogleTakeoutからダウンロードした写真・動画はやはりEXIFの更新日時が出力日時に設定されてしまっています。

    ということで、ダウンロード時に同じ名前で同梱されていたJSONファイルを利用して、写真・動画の更新日時を修正するスクリプトをChatGPTに書いてもらい、それを使って一気に変換しました。

    ファイル数や保存先ドライブの読み書き速度にもよりますが、私の場合はGooglePhoto上で13GBほどだったのが、GoogleTakeoutで出してみると60GBあり、それを解凍してから上記のスクリプトで変換するのに1時間位かかりました。ほったらかしにしていたらいつの間にか終わっていたので、実際は数十分だったかもしれません。

    さて、晴れてこのファイルたちをNextCloudに突っ込めば終わりだー!と思っていたのも束の間、突っ込んだら途中で止まってしまい、調べてみると、NextCloudの外部ストレージとしてNASに設定していたフォルダを利用せずに、Proxmoxのノードとして作ったNextCloud本体のストレージにコピーしてしまっていました。

    当然ながらProxmoxのVMとして60GB超の余裕なんか設けておらず、完全に隙間がなくなってしまいました。

    アップロードしたファイルを消したら終わりかと思っていたところ、消しても何故か空き容量が増えず、ずっとルートディスクが満杯のままです。MariaDBもなんかおかしくなり、ChatGPTにエラーメッセージを見せて解決策を指示されるがままに実行しても解決できず。

    こんなんどうすんねーん!と悩んでいましたが、ふと思い出しました。Proxmox Backup Serverには、NextCloudのノードのバックアップがあることを。そこから、キレイなNextCloudのノードをリストアすればいいだけです。

    今のグチャグチャになったノードを停止して削除してから、PBSのバックアップから復旧させると、当然ですが大量コピーでおかしくなる前のNextCloudが復活しました。

    そして、改めて外部ストレージとして設定しているフォルダに、GooglePhotoの60GBの写真・動画をコピーして終わりです。特に何も問題は起きません。ProxmoxのノードにOpenMediaVaultを使って設定しているNASの保存用ストレージはUSB接続の2.5インチHDDですので、速度的には速くないですが、保存が目的で閲覧はそんなにしないのでこれでも十分です。そのうちImmichに乗り換えるかもしれませんが。

    かくして、GooglePhotoからNextCloudへの乗り換えも完了しました。次はGoogleカレンダーですかね。