Getting Started

Ghost is an open-source Node.js content management system designed for professional publishing. Available as an open web service in Eyevinn Open Source Cloud, Ghost provides a modern writing editor, membership and subscription management, newsletters, and a built-in SEO toolkit. This tutorial walks you through the steps to get started.

Prerequisites

Step 1: Create a MariaDB database

Ghost requires a MySQL-compatible database. Navigate to the MariaDB service in the Eyevinn OSC web console. Click on "Create mariadb" and fill in:

  • Name: a name for your database instance (alphanumeric only)
  • RootPassword: a strong root password
  • Database: a database name, e.g. ghost
  • User: a database user, e.g. ghost
  • Password: a password for that user

Once the instance is running, note the IP and port. The connection URL will be mysql://ghost:<password>@<IP>:<PORT>/ghost.

Step 2: Store credentials as secrets

It is a good practice to store credentials as secrets and refer to them when creating an instance. Navigate to the Ghost service in the Eyevinn OSC web console. Go to the tab "Service Secrets" and click on "New Secret".

Create the following secret:

  • dburl with the MariaDB connection URL from Step 1 (e.g. mysql://ghost:mypassword@172.232.131.169:10506/ghost)

If you plan to send emails (newsletters, member invitations, password resets), also create:

  • smtppass with your SMTP password

Step 3: Create the Ghost instance

Go to the tab "My ghost" and click on "Create ghost". Fill in:

  • Name: a name for your instance (alphanumeric only)
  • DatabaseUrl: {{secrets.dburl}}
  • SmtpHost (optional): your SMTP server hostname, e.g. smtp.mailgun.org
  • SmtpPort (optional): SMTP port, typically 587 for TLS
  • SmtpUser (optional): your SMTP username or sender address
  • SmtpPass (optional): {{secrets.smtppass}}
  • MailFrom (optional): the sender address for outgoing emails, e.g. noreply@yourdomain.com

Click on the instance card when the status is green and "running".

Step 4: Complete the Ghost setup

Open the instance URL in your browser and navigate to /ghost to access the admin panel. Ghost will prompt you to create an admin account on first visit. Enter your name, email address, and a password to set up the owner account.

Important: The setup wizard is only accessible once. Complete it immediately after the instance starts.

Step 5: Publish your first post

Once logged in to the admin panel at <your-instance-url>/ghost, you can:

  • Write and publish posts using the built-in editor
  • Configure your site title, description, and theme under Settings
  • Invite team members and manage staff accounts
  • Set up member subscriptions and newsletter tiers

Using the CLI

You can also create a Ghost instance using the OSC CLI:

# First create a MariaDB database
npx @osaas/cli create linuxserver-docker-mariadb mydb \
  -o RootPassword="rootpass" \
  -o Database="ghost" \
  -o User="ghost" \
  -o Password="ghostpass"

# Create the Ghost instance
npx @osaas/cli create tryghost-ghost myblog \
  -o DatabaseUrl="mysql://ghost:ghostpass@<IP>:<PORT>/ghost"

Configuration Options

Option Required Description
DatabaseUrl Yes MySQL/MariaDB connection string for Ghost's primary data storage.
SmtpHost No SMTP server hostname for sending emails (newsletters, notifications, password resets).
SmtpPort No SMTP port. Common values: 587 (TLS) or 465 (SSL).
SmtpUser No SMTP authentication username.
SmtpPass No SMTP authentication password. Mark as sensitive; store as a secret.
MailFrom No Sender address for all outgoing emails from Ghost.

Resources