平繁無忙のLinux・サーバ奮闘記(中古ミニPC、Proxmox、OpenWrt、Linuxデスクトップ、自宅サーバ運用の実体験を記録する個人ブログ)

  • 脱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→移行完了

  • About this site(このサイトについて)

    はじめまして。当ブログにご訪問いただきありがとうございます。

    このブログは、非IT系の仕事をしているアラフィフの中年男性が、趣味で楽しんでいる「自宅サーバーの構築」や「サービスのセルフホスト」、「ジャンクPCの活用」などについて、日々の試行錯誤や備忘録を綴っているサイトです。

    もともとユーザーサイドのPC知識には多少の自信がありましたが、サーバーやネットワークインフラ、Linuxなどに関してはまだまだ勉強中の身です。
    「脱Windows」や「デジタル主権の確保」をテーマに、Proxmox環境の構築、CasaOSの運用、ルーターOS(pfSense/OPNsense)の導入など、自宅ネットワークをいじり倒す過程で得た知見や、時には失敗して焦ったエピソードなどをありのままに記録しています。

    ■ 掲載している情報についてのご注意

    私はインフラ・サーバー構築の専門家(プロ)ではありません。本ブログに記載している設定手順やコマンド等は、あくまで「私の環境で動いた記録」であり、セキュリティや安定性の観点からベストプラクティスとは言えない場合もあります。
    もし当サイトの情報を参考にしていただく場合は、ご自身の環境に合わせてご確認のうえ、自己責任にてお願いいたします。

    同好の士である皆様にとって、少しでも当ブログの情報が参考になれば幸いです。

    ■ お問い合わせ(Contact)

    当サイトに関するお問い合わせ、記事内容の誤りのご指摘などがございましたら、以下のいずれかの方法でご連絡ください。

    ・X(旧Twitter):@hrsgmb
    ・メール:[email protected]

  • 脱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

  • 脱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

  • ジャンク品のSurface Go 2を買ってきた

    手持ちのPCはデスクトップPCばかりで、ノート型のものは唯一、Chromeboookがあるだけという非常に偏ったPC構成だったので、先日、日本橋にてジャンク品か格安のノートPCが無いかと探していました。

    普段自宅では当然ながらメインPCを使いますし、そんなに外出先でノートPCを使うこともありませんので、あくまで予備的なものになるため、できる限りひたすら安く買えるもので、なおかつ、しばらく使わなかったとしても惜しくないようなもの、と言う探し方をしていました。

    大阪日本橋でジャンクノートPCがあるお店としては、ショップインバース、PCコンフル、イオシス、じゃんぱらあたりが有名ですが、昨年NECのミニデスクトップを買ったインバースさんで、今回も見つけました。

    ショップの奥の方にあるジャンクコーナーで、Surfaceのジャンクが何台もありましたけれど、タイプカバー付きで最も安かったものを購入。税込み5,000円でした。

    症状は、

    外装傷、外装塗装不良、K/B変色 筐体シール痕、LCD画面傷、CMOS電池切れ(初回)、LCD全面ガラス破損(小)、ACアダプタ欠品

    というものでした。外装関係や変色などはまあジャンクなので別に良いのですが、LCD画面傷はこの時点では見えませんでした。まあ、もし本体が駄目でもタイプカバーがちゃんと動くものなら、5,000円でも元は取れます。

    ちなみに型番も調べぬまま衝動買いしてしまいましたが、スペックは
    CPU Pentium 4425Y 1.7GHz
    メモリ 4GB
    ストレージ eMMC 64GB
    でした。

    帰宅後にちゃんと調べたら、Surface Go2 のスペック低い方でした。メモリ8GB、SSD128GBのものなら、今でもWindows11が動くでしょうね。

    しかし、今回私が買った方のものではWindows11なんぞ求むべくもありません。UEFIを見たらSecureBootもTPMも使えるようでしたけれど。第一、ジャンク品としてそもそも全データ消された状態でした。

    電源ボタンを入れると、ブートするものがないよ!という警告が出ていましたので、空っぽです。ちなみにCMOS消耗については、たまに起動するときにそれっぽい警告表示が出ますけれど、エンターキーで進めることができますので大丈夫です。UEFIでの時刻表示がズレますけれど、気のせいとしておきます。

    UEFI/BIOS画面には、電源断状態で音量UPボタンを長押ししながら電源ボタンを押して離し、最後に音量ボタンを離せば入れました。ここで、USBデバイスからの起動を最優先に設定します。

    ということで、例によってLinuxをインストールしていきます。このスペックではどのディストリビューションが向いているか分かりませんので、とりあえずDebian13を入れてみました。

    各種ISOファイルが入っているVentoyをインストールしているUSBメモリを、USB A-Cアダプタ経由でSurfaceに挿して、Ventoyからインストール。しかし、素のDebianをノートPCに入れたのが初めてなので、足りないものが多すぎます。結局面倒になって止めました。

    次は、別PCで試していた途中だったFedora43 SilverBlueをインストールしてみようと思い、同じくVentoyから起動したものの、インストール画面でかなり時間がかかっているようなので諦めました。普通のFedoraなら行けたかもしれないです。

    だんだん面倒になってきたので、デスクトップPCで普段使いしているMX Linuxを入れてみます。デスクトップではバージョン23.6ですが、今回は新しいバージョン25.1を試してみます。

    同様にVentoyからインストール。すんなり完了して起動しても問題ありませんでした。

    そして購入時に見つけられなかった液晶画面の傷ですが、画面右側の上から下まで一本線で入っていました。

    写真だと見えづらいですが、肉眼だと白い画面で一番傷が目立ちます。黒や濃いめの青色だと傷は見えないくらいになります。ということで、この傷ものSurfaceではダークモードで表示させることにします。

    CPUやメモリがなかなか今の時代ではアレなスペックですけれど、Floorpブラウザ上でのYouTubeでフルHD動画を再生しても問題ありません。再生自体は。動画をいくつも短時間で切り替えていこうとすると、流石に重さを実感します。

    Linux-Surfaceカーネルも導入してみましたが、MX Linuxだとあまりタッチ操作は軽快ではないですね。まあ、しょうがない。タイプカバー付きですので本当にノートPC的に使うのが最適解でしょう。

    ちなみに、Linux-Surfaceカーネルを入れた直後になぜかタッチパッドが動かず、アレ?と思ってタイプカバーを一度外してつなぎ直したら、キー入力も受け付けなくなりました。

    タイプカバーがないとほぼ何も出来ないLinuxのセットアップ完了後にタイプカバーが壊れるとか厳しすぎるだろ!と焦って、接点を中心にウェットティッシュでゴシゴシ擦ってからつなぎ直したら、またキーボードもタッチパネルも使えるようになりました。助かった。

    Bluetooth接続も出来ますし、もちろんWifiも接続できて快適です。

    バッテリは少し消耗していましたが、まだMAXの91%は使えるようですので、まだまだ持ち運び可能です。

    USB-C経由の充電は、低電力だと無理でした。24W以上が必要らしいですね。手持ちのエレコムのナトリウムイオンバッテリーでも充電できました。

    動作速度は遅いですが、ファンレスのパソコンはやはり良いものです。タブレットでファンありだとスペースに余裕がないため小型で薄型のシロッコファンになってしまい、冷却のために結構な爆音になりがちですが、ファンレスなら全くその心配はありません。タブレット内のファンのホコリ取りなんてほぼ不可能ですが、このファンレスSurfaceならファンの掃除も不要です。

    microSDスロットも動作しました。512GBのものでも大丈夫です。

    Surfaceのようなある意味特殊なマシンでは、MX Linuxでのスタンバイとか厳しいかも、と思っていましたが、これも問題なく動作しました。

    ちなみに、この記事は全部、今回買ったSurfaceとタイプカバーで書いたものです。キー入力の速度は、フルサイズキーボード&デスクトップPCの場合に比べると流石に落ちますが、外出先で書くとしたら満足できるレベルでタイピングできます。

    だいたいはチェックできたと思いますが、機能的にはどこもおかしくなっていなかったので、結局のところ、ジャンクの理由は画面割れと塗装ハゲだったということですね。これで5,000円が安いと感じるかどうかは人それぞれかも知れませんが、私的には良いおもちゃを買えたという感覚ですね。

  • 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とかありますしね・・・。