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
- If you have not already done so, sign up for an Eyevinn OSC account
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:
dburlwith 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:
smtppasswith 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
587for 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. |