タグ: Node.js

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