Skip to main content

Logo Ghost

About​

Ghost makes it simple to publish content online, grow an audience with email newsletters, and make money from premium memberships.

Structured data​

Ghost outputs basic meta tags to allow rich snippets of your content to be recognised by popular social networks. Ghost supports 3 rich data protocols output in {{ghost_head}}:

The Cloudron app enables output of structured data by default.

Gravatar​

For privacy reasons, Gravatar functionality is disabled by default. Re-enable this by editing the useGravatar field in /app/data/config.production.json using the File Manager. Restart the app after editing the config file.

Importing​

Import content from another Ghost installation from Settings -> Labs -> Import content.

Fix large JSON file import failures:

  • Give the app more memory (say 2GB).
  • Increase the [SQL service](services.md #configure) memory limit to at least 2GB each. This can be reverted back to default after import.
  • Next, use the File Manager to edit /app/data/env.sh to adjust the NodeJS max-old-space-size limit. Set it to 2GB using a line like this export NODE_OPTIONS="--max-old-space-size=2048"
  • Restart Ghost and try the import again.

Subscribe button​

The Subscribe button lets uses subscribe to your blog. Disable this functionality:

  • Settings -> Membership -> change Subscription access to Nobody. This will remove the floating Subscribe button at the bottom of the page. You can also remove the button from the Portal using Settings -> Membership -> Customize Portal.

  • To remove the Subscribe button on the nav bar, you have to adjust the theme or inject custom CSS as suggested here.

Email​

Ghost sends two types of emails:

  • Transactional emails - used for password reset, member sign up confirmation, invites etc.
  • Bulk emails - for newsletters. This requires Mailgun.

Transactional emails​

Like all apps, Ghost sends out emails via Cloudron's mail server. You can setup a smart host in Cloudron's Email view to configure how these mails are ultimately sent out.

Ghost sends transactional emails from two addresses:

  • Staff emails (password reset, staff invites) - sent from the app's Mail FROM address.
  • Member emails (sign up and sign in links) - sent from the Support email address. By default, this is also the app's Mail FROM address. Change it in Settings -> Membership -> Customize Portal -> Account page.

Cloudron's mail server only accepts mail from the app's own mailbox (<location>.app@example.com). If you set the Support email address to another address, such as support@example.com, member emails fail with an error like this:

Failed to send email. Reason: Mail command failed: 550 Authenticated user blog.app@example.com cannot send mail as support@example.com

Portal then shows Failed to send magic link email. To use a different Support email address:

  • On the app mailbox, enable Skip FROM address validation. The app can then send as any address in the same domain, but not as an address in another domain or subdomain.
  • Create a mailbox or alias for the Support email address to receive member replies.

Alternatively, disable email configuration for the app and set your own SMTP server in the mail section of /app/data/config.production.json using the File Manager. Restart the app after editing the config file.

Bulk emails​

Newsletters are sent to members using Mailgun. Mailgun is required. Sign up with Mailgun and set up the API Key at Settings -> Email newsletter.

Newsletters are sent through the Mailgun API, not through Cloudron's mail server, so the newsletter sender address is not restricted to the app mailbox. Set it in Settings -> Newsletters -> (newsletter) -> Sender email address.