Blog Settings

Ghost Proかセルフホストか

World Administrator
2024年3月28日
5 分で読めます
Photo by Uran Wang / Unsplash

Ghostを利用するときに公式インスタンスであるGhost Proを利用するか、すべての制御を行えるセルフホストの方が自由度が高そうに思えたりと悩みが多い。本稿ではどちらがいいのかをどちらも利用した身から比較していく。

💡
結論から言えば、快適にGhostを利用するならGhost Proがいい。

標準的な項目

当たり前ですが、インストールやセットアップは自動的に行われます。アップデートは毎週行われ、常に最新の状態が保たれます。サーバーメンテナンスやアップデートはすべて自動的に行われ、インシデント発生時も自動的に復旧されます。最近ではあって当たり前のSSL証明も自動的に行われます。サイトの接続障害やメンテナンスによるダウンは最小限になるようGhostのチームが管理します。詳細は公開されていませんが、Enterprise-grade securityをうたっています。また、E-mailによるサポートが受けられます。

GhostはNode.js上で動いています。マイナーアップデートなら適当に済ませられますが、メジャーアップデートなどは依存関係や勝手も変わるので自分でやるのは面倒です。ブログは長期的に利用していくので、バックアップをとっていてもアップデートで失敗するとやる気がそがれるのでシステム上の面倒は減らしていきたいです。やる気のあるときはサーバーメンテなど苦にもなりませんが、時間がたつにつれて面倒になってくるため、マネージドなGhost Proはいいと思います。

Ghost Proの明確な優位点

CDNやロードバランサーによるDDOS対策

CDNによる高速なページキャッシュに加え、負荷分散によるDDOS対策が行われています。

E-mailによるニュースレター

E-mailによるニュースレターはコアなファンの獲得に有効な手段です。

しかし、E-mailでは迷惑メールが年々増加していることの対策のために、規制が厳しく鳴り続けています。送信者の検証などが必要になるなど、メールを大量に送付するための簡単な手法は減りつつあります。

Ghost ProではE-mailニュースレターに関する設定を自動的に行います。一方で、セルフホストをする場合は事実上Mailgunのサブスクリプションが必須になります。

Transactional Email API Service For Developers | Mailgun
Powerful Transactional Email APIs that enable you to send, receive, and track emails, built with developers in mind. Learn more today!

メンバーの認証にもメールは利用されていますが、これに関してはバルクメールでないため、Ghost標準のメール機能を利用するため問題ないそうです。

Email Newsletters — Ghost Developer Docs
Sites using the Members feature benefit from built-in email newsletters, where all posts can be delivered directly to segments of your audience in just a few clicks.

常時フルサイトバックアップ

システムのエラーによるデータの損失を避けるために、定期的なバックアップが必要ですし、リカバリーを行う必要があります。Ghost Proではバックアップが自動的に行われるため、好きなときにExportできます。

画像のシームレスな編集

Ghostでは画像の編集をエディター画面から直接行うことができます。この機能はPinturaという外部サービスを利用しています。Ghost ProではPinturaが利用できますが、セルフホストをしている場合、別途ライセンスを購入し、導入する必要があります。

Pintura Image Editor, a Powerful JavaScript Image Editor SDK
A powerful JavaScript Image Editor that integrates with every stack. Fully configurable and works intuitively on every device.

欠点

Ghost Proを利用した場合、サーバーへのSSH接続やDBへの接続はできません。すべての管理を任せられるので問題なさそうに見えますが、現在(2024年1月)ではGhostでアップロードされた画像はエディター上で削除しても、実体は削除されません。つまりハッシュ化されているとはいえ、画像URLを直打ちされた場合意図していないアクセスが行われる危険性があります。

これはGhostにコンテンツマネージャーが存在しないことに起因する問題です。

これは何度かGhostの公式フォーラム上で議論されていますが、公式の回答として優先度の低い問題として明確に位置づけられているため、諦めるか、自分で実装してOSSに貢献するほか解決法はありません。

Delete images on posts
Hi there. I’ve noticed a not too good thing about images. When you create a blog and upload a picture on the post settings and then click delete image, it never actually deletes the image. It remains in the server. I think it’s more convinient to have it deleted it. Otherwise is extra space. I uploaded the same image 4 times after modifications, now I have 4 copies 😄, I only need 1. Thank you
[Prototype] New file management
Many publications require a lot of organization of memory and files. Manage content by selecting post, page or folders Manage URLs in batches by selecting multiple publications Replaces or deletes system files not only from the publication. Warnings about the files And many more options and tools It is not a simple file manager, it is one adapted to a CMS like Ghost. ** Based on the aesthetics of Filepond by Pqina*
Delete video file after uploading
I added a video to a post. Then I deleted this video from the post. I just want to make sure delete this video from the server too. Or when deleting it from the post did it delete it from the server too?
Better image/file management & optimisation
We’ve made a lot of progress with better image support in Ghost this year. That said, this issue has become a bit of a dumping ground for just about anything related to media, up to and including the kitchen sink 🙃 I’m going to run through the main things that have been talked about and wrap this topic up, because the majority of them have been completed at this stage. If anyone wants to start new, more specific, ideas topics after this - that’s absolutely fine! Things that…
 TLDR: It’s a lot of work to implement for no discernible benefit. Storage is extremely cheap, and filename has no impact on image output. Most platforms scramble filenames to a hash, so no matter what you upload it ends up being rendered as /images/34khds92lk20990923klnsd.jpg - generally speaking you just don’t need to worry about it.