カテゴリー: サーバ

  • Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    自宅ネットワークではゲートウェイに、Zimaboard232に入れたOpenWRTを使用しています。

    先程、このOpenWRTにログインしてアップデートの確認をすると、現在の24.10.5から24.10.6へのアップデートが可能と出てきました。

    ということでアップデートしてみようと思いましたが、念の為、AIに
    ・アップデートしたほうが良いのか
    ・アップデートするに当たり注意点はあるか
    ・アップデートによるデメリットはあるか
    ・アップデートした後のすべきこと
    を聞いてみて、色々教えてもらいましたが、その中で、

    OpenWrt公式の24.10.6リリース案内では、OpenWrt 25.12 stable series のリリースに伴い、24.10系は2026年9月以降セキュリティ更新が提供されない予定

    と言われて、知らなかったので驚いた次第です。うかつでした。自宅ネットワークの入り口のサーバについてはもっと注意を払わないといけないですね。

    ということで、改めて最新バージョンである25.12.2へのアップグレードに関して、生成AI(Gemini、Claude、ChatGPT)に

    ・アップグレードするに当たり注意点はあるか
    ・アップグレードによるデメリットはあるか
    ・アップグレードした後のすべきこと

    を確認して、色々教えてもらったので、この5連休に実施しました。

    作業としては、

    1. バックアップ取得
    2. Attended Sysupgradeで25.12.2へアップグレード
    3. 再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    の以上です。丁寧にちゃんとした手順を踏むなら、

    1. 作業前の準備
    2. バックアップ取得
    3. 現在の設定・パッケージ一覧を保存
    4. 復旧手段を準備
    5. Attended Sysupgradeで25.12.2へアップグレード
    6. 再起動後にLAN/WAN/DNS/DHCPを確認
    7. VPN、Cloudflare Tunnel、Proxmox配下サービスを確認
    8. ログ確認

    という感じで進めていくのでしょうけれど、自分1人だけのネットワークで、サーバにしても別に自分だけ(このWordpressは全世界に公開していますが)が使うものなので、もしトラブルが起きてしまっても、最悪、一からまたOpenWRTをZimaboardに入れてしまえば良いわけで、気軽にアップグレードを試してみることにします。

    1.バックアップ取得

    まずは何がなくとも現状のバックアップを作成します。


    System>Backup/Flash Firmware>Backup
    から、「Generate archive」をクリックしてダウンロードします。.tar.gz形式のファイルで保存されます。

    2.Attended Sysupgradeで25.12.2へアップグレード

    お次は、System>Attended Sysupgrade
    から、「Search for firmware upgrade」を押すと、現在のバージョンからアップデート/アップグレード可能なイメージを探してくれます。

    私の環境では、現在、24.10.5ですので、
    24.10.6と25.12.2の2つをプルダウンで選べるようになっています。

    前述の通り、ここは一発ワイルドにいきなり25.12.2にアップグレードします。

    それを選んだ状態で「Request firmware image」を押して、次の画面で

    「Keep settings and retain the current configuration」にチェックを入れた状態で、「Install firmware image」をクリックします。先のチェックが入っていないと、各種設定などが引き継がれないままインストールすることになるので、明らかに後で面倒くさいことになります。

    インストール中は、当たり前ですが待つだけです。ファームウェアを更新している機器やその上流のルータの電源さえ落とさなければ大丈夫なはずですけれど、悲劇が起きてからでは遅いので、静かに待ちます。

    程なくして自動的に再起動がかかります。Zimaboard232はさすがにx86マシンで、一般的なルータとは速度もメモリも違います。あっという間に終わりました。ルータだともっと時間がかかるのかも知れません。

    3.再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    再起動後、ログインするとこんな画面が出てきましたが、

    OpenWrtの管理画面を開いたときに、オンラインで新しいファームウェアがあるか確認してよいですか?

    ということですので、Yesでセーブして適用で問題ないですね。

    OpenWRTへの接続は問題ない。
    一般的なウェブサイトも問題なく閲覧できる。
    Proxmoxに入れているサーバ群にもアクセスできる。
    Cloudflare Tunnel経由のサーバも、Nginx Proxy Manager経由のサーバも大丈夫。
    スマホのモバイル回線でTailscale経由でもアクセスできる。

    ということを確かめて、全て問題ないことを確認できたので、本日のアップグレード作業は完了。

    念の為、改めてOpenWRT(Zimaboard232ごと)を再起動してみて、問題なくネットが繋がっていることを確認も出来ました。

    もっとトラブルが起きるかと思って身構えつつアップグレードしてみましたが、何もなかったですね。ルータ専用機とか、プラグインでややこしいのを入れていたら違ったのかも知れませんが。

    幸か不幸か、OpenWRTでのAdGuardHomeやTailscaleがうまく動作しなかったので、ネットワーク内のProxmoxでAdGuardHomeもTailscaleを動かしている状態になっていて、そのおかげか、OpenWRTがほぼ素の状態に近いため、トラブルなくアップグレード出来たのかも知れません。何でも一つに放り込んだら、使用中の管理は楽ですけれど、いざ何かを変更するときには面倒なことになりがちです。機能ごとにサーバが分散している方が、アップグレードは楽なのかも知れませんね。

    ちなみに、OpenWRTのバージョンアップ頻度が1年〜1年半程度でメジャーバージョンアップすることを、今初めて知りました。無知は危険ですね。ちょくちょくログインして確認することにします。次の26は2027年の中頃ですかね。

  • セルフホストのサーバの大半をSSL化

    昨年10月にこのブログでも使っている独自ドメインをCloudflareに移管したのですが、

    その時にやろうと思っていたことを忘れていました。

    DNSチャレンジを使っての、ローカル環境の各サーバのSSL化です。前にドメイン管理をしていたバリュードメインでは出来なかったのですよね。前にDNSチャレンジという技術を知ってやってみようと思ったら駄目で、それもあってCloudflareに移管したのをすっかり忘れていました。

    当然ですがこのブログを運用しているGhostのサーバと、あとNextcloudとVaultwardenとFreshRSSは既にCloudflareトンネルでSSL化していたので、残りのMemosとJellyfinをDNSチャレンジでSSL化します。

    まず準備として、CloudflareでAPIトークンを作成します。

    Cloudflareの「アカウントの管理」→「アカウントAPIトークン」で「トークンを作成」をクリックし、「ゾーンDNSを編集する テンプレートを使用する」から、
    特定のゾーン : 独自ドメイン
    を選んでから「概要に進む」をクリックして、
    出てきたAPIトークンをコピペしておきます。一回限りしか表示されないそうです。

    次に、Cloudflareでドメインを管理するようになって不要になり、Proxmoxからは削除していたNgnix Proxy Managerを、Proxmox Backup Serverからリストアします。

    リストアしたNPMで、
    「SSL Certificates」から「Add Let’s Encrypt Certificate」を選び、
    ドメインネームはサブドメインをワイルドカードで指定して、「Use a DNS Challenge」でCloudflareを選び、さっきコピペしておいたAPIトークンを貼り付けて保存すると、サブドメイン共通で使い回せるSSL証明書が完成します。

    次に、「Proxy Hosts」で作りたいサブドメインを「Add Proxy Host」から作成します。ドメインネームにサブドメインを入れて、Forward Hostname/IPにプライベートIPアドレスを入れて、必要ならPortも指定して、SSLタブでさっき作ったSSLを選んで完了。

    最後に、OpenWrtで「Network」→「DHCP and DNS」→「DNS Records」タブで、
    必要なサブドメインについてHostnameとIPアドレスを入れます。
    ここで最後に「Save& Apply」を押して適用しないと有効にならないのが落とし穴。今回何度も忘れて、???という状態になってしまいました。

    成功したので気を良くした自分は、ついでにProxmox VEとProxmox Backup ServerもSSL化しようとして、ハマりました。

    他のサーバと同じようにやってもブラウザで開かず、AIに聞いてみると、NPMで
    Websockets Support: ON
    HTTP/2 Support: ON
    にした上で、Advancedタブに

    location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host $host;
    proxy_pass https://192.168.x.x:8006; # ← ここはPVEのIP(PBSの場合は8007ポート)にする
    }

    を書かないといけないらしい。マジでAIに聞かないとわからんわ。

    というか、そもそもProxmoxの場合は、
    「データセンター」→「ACME」
    にある機能で、ここからDNSチャレンジできるやん。まあ、その場合はワイルドカードで作ったSSL証明書の使い回しが出来ないので、それはそれで面倒ですけれど、Proxmox単体でSSL化するならこっちのほうが圧倒的に早いです。

    素人だからこそのアホな悩みでしたけれど、まあこれでProxmox VEもProxmox Backup Serverも、他のローカル環境のサーバもSSL化出来たのでOKです。

    一応、怖くてやっていないですが、
    ・OpenWrt
    ・Pi-hole
    ・Ngnix Proxy Manager
    については、SSL化したらややこしいですよねえ・・・。

  • Zimaboard232にOpenWrtをインストールしてゲートウェイ兼ファイアウォールを入れ替えた

    以前購入して、今は余っている状態だったZimaboard232をなんとか使いたいと思っていましたが、ようやく実行しました。LANポートが2つあるZimaboardを自宅ネットワーク内のゲートウェイ兼ファイアウォールとして使います。

    これまでOpnsense、pfsenseは使っていましたが、Zimaboard232はメモリが2GBであり、ギリギリかも知れないので、もっと低スペックでも動作するOpenWrtを使うことにします。

    ちなみにZimaboard232のスペックは、
    CPU CeleronN3350 1.10GHz
    メモリ 2GB
    eMMC 32GB
    です。メモリとストレージの数字が232の型番の由来ですね。この初代Zimaboardはメモリ4GBや8GBのものもあったのですが、その分値段も高かったです。

    さて、OpenWrtはISOファイルでの提供がされていないため、普段のインストールで使うVentoyに入れられません。ということで、新しくUSBメモリを買ってきて、OpenWrtのイメージファイルをbalenaEtcherで書き込みます。

    このUSBメモリを、Zimaboard232に挿して起動してからddコマンドで本体に書き込みます。

    そしてZimaboard232で起動するとあっさり動きました。元々使っていたpfsenseのIPアドレスと同じように設定して、晴れて全てのデバイスがネット接続できたのですが、なぜかストレージのディスクスペースが20MBくらいの空きしかなく、全体でも100MBくらいしか使っていません。32GBのeMMCなのに。

    ということで、コマンドラインからfdiskでイジったら見事に失敗しました。一からやり直しです。

    再度インストールしてから、今度はUSBメモリにGparted Liveを入れたもので起動して、GUIでディスクスペースを拡張します。ここで気が付きましたが、なんかエラーがあってチェックから修復できました。これでようやく、eMMCの全てをOpenWrtに使うことが出来ます。

    OpenWrtで起動したらあまりすることはありません。一応、AdGuardHomeのプラグインを入れましたが、設定しても広告ブロックが出来ていない・・・。既に立てているPi-holeの方を削除できるかと思いましたが、とりあえずこのままにします。

    OpenWrtでTailscaleのプラグインもあるので、それもやってみましたが、こちらも駄目。

    AdGuardHomeもTailscaleもGeminiに聞きながらアレコレ頑張りましたけど駄目だったので、Proxmoxに頼ることにします。

    広告ブロックはPi-holeのLXCがすでにあるので、後はTailscaleですが、こちらはVMで立てることにします。Ubuntu server 24.04を入れて、Tailscaleも入れて、ブラウザ上でTailscaleの管理画面から設定したら、あっさり動作OK。モバイル回線でのスマホからでもちゃんとセルフホストのサーバにアクセスできました。

    結局、Zimaboard232でOpenWrtを動かしていますが、プラグインを使っていないのでリソースが余りまくっています。まあいいか。

  • ブログを固定IPで公開するのを止めてCloudflare Tunnelに切り替えた

    先日まで3連休を費やして、自宅サーバを入れていたCasaOSから、一つずつProxmoxに移行していった面倒な作業は終了しましたが、ブログを入れているサーバが、他のサーバと同じLAN内に同居することになりました。

    今まではブログのあるネットワークと、他のネットワークは分けていて、pfsenseで振り分けていました。

    今回も分けることは可能ではあるのですが、面倒にもなりましたし、独自ドメインの管理先をCloudflareにもしましたので、Cloudflare Tunnelを利用してブログを安全に公開する設定を行います。

    例によって生成AIに教えてもらいつつではありますが、
    ステップ1:Cloudflare Tunnel用LXCの作成
    ステップ2:Tunnelの作成(Cloudflare側での操作)
    ステップ3:ルーティングの設定(公開設定)
    ステップ4:Nginx Proxy Manager (NPM) との連携
    という順序で設定していきます。

    これで完了!と思いきや、元々固定IPで公開していたので、DNSレコードを削除しないといけなかったり、NginxProxyManagerのSSLを削除してCloudflareのSSLをフルで有効化したり、なんやかんやありました。

    外部ネットワーク(スマホのモバイル通信)からでもちゃんとアクセスできる、すなわち自分以外の人がアクセスできることを確認して、やれやれ終わった、と思ったら、自宅ネットワーク内のパソコンからブログにアクセスできない!

    調べたら、外部ネットワークからCloudflare経由でGhostサーバまで、カッチリ経路をSSLで確保しているのに、自宅ネットワーク内から経路に横入りするようなもので、そりゃエラーになりまっせ、ということらしいです。

    ということで、Pi-holeのDNS設定を削り、自宅からでも一旦Cloudflare経由でアクセスするようにしたら、晴れて
    ・自宅ネットワーク内のTailscale無し
    ・自宅ネットワーク内のTailscale有り
    ・外部ネットワークからTailscale無し
    ・外部ネットワークからTailscale有り
    の4パターンで問題なく、アクセスできるようになりました。

    面倒と言えば面倒、しかし設定してしまえばこれほど楽なこともないでしょう。全部Cloudflare任せですし。

  • 脱CasaOS計画〜その9:ProxmoxBackupServerを設定してProxmoxのバックアップ実行

    前回の「その8」で移行そのものは終わりですので、今回は番外編です。

    CasaOSからの離脱そのものではないですが、これまで移行してきたProxmoxにもバックアップが必要です。

    Proxmoxのバックアップと言えば、ProxmoxBackupServer(PBS)です。インストールするのは以前にヤフオクで買って、一時期PBSとしても使用していた、
    HP t520 Flexible Thin Client
    https://support.hp.com/jp-ja/product/details/hp-t520-flexiblethin-client/6875920
    を使用します。

    スペックは低いですが、PBS専用マシンとしては十分です。メモリは元々DDR3の4GBが入っていましたが、メモリ高騰の波が来る前に、8GBを購入して差し替えていました。

    これに、2TBのUSB接続HDDを接続して、初期化して、ディレクトリ作成でデータストアに追加します。

    後は、LXCやVMを動かしているProxmoxVEの方で、PBSの指紋を使ってつなげて、バックアップジョブを設定して実行です。

    PBSのダッシュボードを見る感じ、バックアップジョブを走らせている状況では、2コアの遅いCPUが100%ほぼ張り付きで動いているのに対し、メモリは8GBの2割も使用しません。4GBのままでも良かったですね。今更DDR3の4GBとか使いようがない・・・。

    今回で、脱CasaOS計画の全てが終わりました。ZimaOSやumbrelOS、あるいはTrueNASなんか使ったほうがもっとモダンでシンプルに移行出来てたかも知れないですが、やはりそれらも今後いつまで無料で開放されているか分からないのですよね。

    もちろん、Proxmoxが今後も無料で今の機能が使える保証も無いのですけれど。

  • 脱CasaOS計画〜その8:JellyfinをProxmoxに移行

    脱CasaOS計画の最後は、こちらも外部ストレージを使っていたJellyfinです。動画ファイルを保存しているSSDは、今のCasaOSが入っている、UN100PというミニPCに内蔵SSD(SATA)の形で入っています。NVMeの方は起動ディスクとして使っていました。

    今回の移行計画でJellyfinを最後にした理由でもあるのですが、この元のCasaOSが入っているミニPCからSATA SSDを取り外さずに、ミニPCにProxmoxを入れてJellyfinを使えるようにして、Proxmox2台でのクラスタを組んで運用しよう、ということです。

    ということで、一旦、CasaOSを全てシャットダウンしてから、USBメモリを挿して起動し、Proxmoxをインストールします。

    インストール後、1台目のProxmoxとクラスタ化して、2台目のProxmoxでJellyfinのLXCを作成します。
    スペックは、
    コンテナイメージ:Debian12(13だとJellyfinのインストールが出来ませんでした)
    CPU:2コア
    メモリ:4GB
    スワップ:4GB
    ストレージ:20GB
    です。

    Jellyfinをインストール後、ブラウザから開きます。元々入っているSATA SSDを認識させ、そのマウントしたパスで、メディアライブラリーを作成すれば完了です。前の設定を持ってくるのは止めて、結局データ以外は一から設定したことになります。

    一応、これでCasaOSにおいて運用していたセルフホストのサービスは、全てProxmox上に移し終えました。

    3連休がガッツリ潰れましたが、それくらい時間がある時でないとやってられないですね。

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

    本当は、ゲートウェイに使っているPCを入れ替えたいのですが、やるとしたらゴールデンウィークかなあ・・・。

  • 脱CasaOS計画〜その7:NextcloudとPhotoPrismをProxmoxのNextcloudに移行(デスクトップ同期、クラウドストレージ、フォト)

    ようやく終わりが見えてきた、この脱CasaOS計画の7回目は、再びNextcloudの設定です。

    まず、Proxmoxが入っているPCに、USB接続HDDを接続し、ProxmoxのVMの設定でUSBパススルーで直接アクセスできるようにします。

    次にそのVMにSSHで入ってから、外部ストレージをマウントします。再起動時にも自動でマウントするように、fstabにも書き込みます。

    Nextcloudで外部ストレージを読み書きするためのアプリを有効化して、マウントしている場所を認識させると、ファイルアプリで見えるようになります。

    後は、メインPCのMXLinuxで同期させたいフォルダと、新しいNextcloud内のフォルダをNextcloudアプリを使って同期させれば、デスクトップ同期の移行は完了です。

    それと、PhotoPrismで管理・保存していたスマホの写真については、NextcloudにMemoriesと言うアプリがあることを初めて知りましたので、これを使うことにします。そんなに頻繁に見ないですし、AIでの分析とかも要らないですし。

    NextcloudのアプリからMemoriesをダウンロードして有効化。そのままだと写真を認識してくれなかったので、管理者設定からMemoriesの設定を開き、片っ端からチェックを入れていき、SSHで入ってSnapで入れたNextcloudの設定を変更してインデックスを作成させれば、読み込んでくれました。

    デフォルトの写真アプリに比べると、Memoriesが異常に速く感じますが、そもそもNextcloudの公式写真アプリが遅すぎるのですよね。

    そもそもCasaOSのときにNextcloudでの写真管理・アップロードがなんか上手くいかなかったので、PhotoPrismを選んだ経緯がありました。他にもImmichとかありましたので試してみましたが、私の環境ではすんなり動かなかったので、結局PhotoPrismを入れていたのですが、今回を機に、写真もファイル同期もテキストデータ管理(noteやブログで書いた文章など含む)も全てまとめることにします。

    さあ、これで残りは一つになりました。

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

  • 脱CasaOS計画〜その6:VaultwardenをProxmoxに移行

    いよいよ移行済みのサービスが未移行のサービスを上回ってきましたが、まだ面倒なのが残っています。

    とりあえず外部ストレージを使っていないものを先に終わらせたいので、今回はVaultwardenのサーバの移行です。

    まず先に、CasaOSの
    /Root/DATA/AppData/vaultwarden/data
    の中身をダウンロードしておきます。

    Proxmoxで新しいLXCを作り、
    コンテナイメージ:Debian13
    CPU:1コア
    メモリ:1024MB(後に512MBに縮小)
    スワップ:1024MB(後に512MBに縮小)
    ストレージ:8GB
    メモリは後になって減らしましたが、後から減らせないストレージはそのままです。8GBも要らないですね。メモリもなんなら256MBでも大丈夫かも。

    さて、LXCでDockerを準備してから、SCPコマンドで先程保存しておいた旧サーバにあったデータを全て、新サーバにコピーしておきます。

    そして新環境でのVaultwardenを構築。さらにNginxProxyManagerでのIPアドレス指定を変更して、ブラウザでアクセスしてログインを確かめれば完了です。

    始め、SCPでコピーする先の指定を一つ下のフォルダにしてしまっていたため、ログイン時にマスターパスワードが通らなくて焦りました。コピーし直せば良いだけでしたけど。

    あと、最近何故かスマホでのVaultwardenへのログイン(Bitwardenアプリ)が出来ていなかったのですが、今回の移行後に試してみたら大丈夫でした。前のCasaOSでのVaultwardenの設定がおかしくなっていたのかも知れませんが、今回の移行で問題なくなって良かったです。

    これで外部ストレージを使っていないサーバの移行は全て終わりました。ここからが面倒なんですよね・・・。

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

  • 脱CasaOS計画〜その5:GhostをProxmoxに移行

    連続ブログ投稿の第5回目は、ブログサービスのGhostを、CasaOS上からProxmoxのLXCに移すお話です。

    中身自体はスッカスカのブログなので、テキストデータ量自体はかつてのフロッピーディスクに入る程度ですが、画像をたまに貼り付けているのでその移行が面倒ですね。

    とはいえ、昨年WordpressからGhostに移したこともありますので、それを思い出しながら実行します。

    まずはProxmoxでのLXCを作ります。
    コンテナイメージ:Ubuntu server 24.04
    CPU:1コア
    メモリ:1024MB
    スワップ:1024MB
    ストレージ:8GB
    で作成。Ghost用の一般ユーザーを作り、Node.jsをインストールしますが、ここで浅薄な知識を持つオジサンは、新しいバージョンのほうが良いだろうと勝手に思ってv25を入れてしまいましたが、後ほどエラーが出て進まなくなったので、削除してからv22を入れ直しました。

    MySQLも入れてデータベースの設定を行い、Nginxも入れて、Ghost-CLI のインストールと Ghost 構築を行います。

    Ghostインストール時に色々聞かれますが、私の環境ではNginxProxyManager経由で独自ドメインのSSLを設定しているので、このGhost自体ではSSLは設定しません。

    インストール完了後にGhostを起動して、同時にNginxProxyManagerのIPアドレスを古い方から新しい方に変更します。これで新しい方のGhostにアクセスできるようになりました。

    Ghostの初期画面でサインアップしてから、すでに古いGhostでエクスポートしたファイルを新しい方でインポートすると、記事自体の移行は完了です。

    私のブログはほぼ画像が無いですが、たまにあるのでそれも移行します。CasaOSのファイル機能から、
    /Root/DATA/AppData/big-bear-ghost/content/images
    の中身をダウンロードして、解凍したフォルダごと、SCPで新しいGhostの
    /var/www/ghost/content/images/
    にコピーしたら、画像も新しいブログで表示されました。

    ちなみに、起動しててリソースの逼迫具合を見てみると、意外と負荷がかかっています。

    CPUは大したことないですが、メモリが1GBのうち750MBも使っていて、この状態で安定していますので、これ以上は減らせないですね。やっぱりCMSというか、動的サイトはリソース食いますね。

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

  • 脱CasaOS計画〜その4:AdGuardHomeを止めてProxmoxにPi-holeを設置

    脱CasaOS計画の4回目では、広告ブロック・DNS転送のために設置しているAdGuardHomeを、ProxmoxのLXCに立てたPi-holeに移行します。

    現在、Proxmoxを入れているDELL Wyse5070はCPUが
    CPU:Celeron J4105(Quad Core 1.5 GHz)
    メモリ:8GBx2
    というスペックのため、アレコレProxmoxでコンテナやVMを作っていくと負荷をさばけなくなりかねないため、AdGuardHomeよりも低スペックで動くPi-holeにします。以前は使っていたのでだいたいのことは分かりますし。

    例によってProxmoxのLXCですが、
    コンテナイメージ:Ubuntu server 24.04
    CPU:1コア
    メモリ:128MB
    スワップ:256MB
    ストレージ:4GB
    とかなり減らしました。メモリは最初512MBで立てましたが、メモリ使用率を見たら128MBでも十分です。64MBでもなんとかなるかも知れませんが、apt update && apt upgrade -yを走らせたら厳しいかも。

    移行作業自体は、AdGuardHomeで設定しているDNS転送設定をPi-holeでも設定すればOK。ついでに広告ブロックのリストも一部コピーしておきました。

    あと、ゲートウェイにしているpfsenseで、DNSを従来のAdGuardHome(CasaOS)から、今回のPi-holeの数字に変更します。

    これで完璧!と思っていましたが、なぜかPi-holeの方にデータが流れていきません。AIに聞いてみたら、

    ① Pi-holeのインターフェース設定(セグメントが違う場合)
    もしメインPC(例: 192.168.1.x)とProxmox(例: 192.168.2.x)でネットワークのセグメントやVLANを分けている場合、Pi-holeはデフォルトで「自分と同じセグメントからのリクエスト」しか受け付けません。
    
    Pi-holeのWeb GUI > [Settings] > [DNS] を開きます。
    
    Interface settings の項目を探します。
    
    Allow only local requests になっている場合は、Permit all origins に変更して画面下の [Save] を押してください。
    (※Pi-holeがインターネットに直接公開されていない環境であれば、これを選択して問題ありません)
    

    こういう返答がありました。今回便宜的に、別のセグメントのProxmoxを使ったのでこれが原因ですね。言われたままに設定してみれば、Pi-hole経由での通信になりました。

    そしてしばらく使っていると、

    「あれ? CasaOSのAdGuardHomeよりも、Pi-hole経由の方がウェブ表示が速いぞ???」

    ということに気が付きました。別にCasaOSを入れていたPCのスペックが低いわけでもなく、CPU・メモリや通信帯域が足りていなかったわけではなかったのですが、なぜかAdGuardHomeでの処理が遅かったようです。

    メインPCだけではなく、メインスマホ、サブスマホ、タブレットでも同様な感じに思えました。

    まあ速くなる分には問題ないです。ありがたいことです。

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

  • 脱CasaOS計画〜その3:NextcloudをProxmoxに移行(カレンダー・ノート)

    先の見えないCasaOSからの移行計画の第3弾は、Nextcloudです。

    現在、私はNextcloudで、カレンダー(スマホでも同期)、ノート(スマホでもアプリ使用)、クラウドストレージ、デスクトップ同期を利用しています。

    ただ、CasaOSで動かしているNextcloudが結構遅く、エラーもなんかよくわからんのがいっぱい出ているので、一旦、OpenCloudやカレンダーのセルフホストを目論んで実行しましたが、むしろNextcloudでの使い方をすぐに実現できなかったため、早々に見切りました。

    ということで、FreshRSSやMemosといったこれまでの移行計画同様、Proxmox上でNextcloudを構築します。

    いきなり全部移行させるのは面倒なので、まずはカレンダーとノートだけ移行させます。

    CasaOSにあるNextcloudのカレンダーで個人カレンダーの編集画面からデータをエクスポートします。

    ノートの方は、ファイル機能からノートフォルダをまとめてZIPとしてダウンロードしてから、PCで展開しておきます。

    そして新しいProxmoxの方のNextcloudを立ち上げます。
    ちなみにVMのスペックはとりあえずこんな感じ。
    ISO:Ubuntu server 24.04
    CPU:2コア
    メモリ:8GB
    ストレージ:32GB
    です。カレンダーとノートだけなら、メモリは4〜6GBでも行けると思いますが、後々ファイル操作もありますので、多めにしておきました。ファイル共有やデスクトップ同期については外部ストレージに入れるつもりですので、VMそのものは32GBでも大丈夫です。

    Nextcloudを起動してブラウザでアクセスし、初期設定時にカレンダーとノートのアプリを入れてログイン。

    カレンダーでは先にエクスポートしたファイルをインポートしたら終わりです。

    ノートの方は、先にPCに展開しておいたファイル(フォルダ構造込み)を、やはりNextcloudのファイル機能でそのままアップロードすれば完了。数が多いと時間がかかりますが。

    スマホでもNextcloudアプリとNotesアプリを使っているので、そちらでも新しいNextcloudのIPアドレスでのアクセスを設定し直しました。

    最後に、カレンダーの同期で使っているDAVx5での設定をやり直し、というか追加です。これで過去に入れていた旧Nextcloudのカレンダーの同期に替えて、新Nextcloudの同期を行い、問題ないことを確認して今回の作業は終了。

    Nextcloudの移行は、外部ストレージの移行が必要なファイル機能・デスクトップ同期が残っていますので、まだ半分ってところですね。

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

  • 脱CasaOS計画〜その2:MemosをProxmoxに移行

    CasaOSで運用しているサービスのうち、まずFreshRSSをProxmoxに移行できたので、次はメモから文章にするエディタとして使っているMemosを移行します。

    Proxmoxのヘルパースクリプトで簡単楽ちん!と思ってやってみたら、そこで展開されるMemosのサービスが、なんか今使っているCasaOS内のMemosと雰囲気が違いました。バージョン違いかなんかあるのかも知れませんが、変更するよりもProxmoxで普通にLXCとして一から構築するのを選びました。

    LXCのスペックはこんな感じ。
    コンテナイメージ:Debian13
    CPU:1コア
    メモリ:512MB
    スワップ:512MB
    ストレージ:8GB
    作ってから言うのもなんですが、8GBも絶対いらんかった。Memos上で大量に画像データとかも保存していくならともかく、プレーンテキストしか書かないなら4GBでも十分だと思います。

    さて、今回は一発コピーとかが上手く行くか分からなかったので、新旧二つのMemosの画面を開きつつ、10個ほどのメモを手動でコピーして終わり。

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