Skip to main content
Ghost is an open-source publishing platform for blogs, newsletters, and membership sites. You write and manage everything from the Ghost admin panel; the public site is served at your *.suji.fr address. This page covers running Ghost on Suji end-to-end. Ghost is maintained upstream; Suji provides the marketplace packaging.

Before you install

Nothing to prepare. You’ll create your admin (owner) account in the browser on first run. If you later want to send newsletters or member emails, you’ll add an email provider — see Email & newsletters.
Ghost has no generated password and no credentials file — the first person to open the admin URL creates the owner account. Set yours up immediately after install (see below).

Install

Dashboard → AppsGhostInstall:
FieldRequiredNotes
VMyesPick a VM with free capacity, or create one.
SubdomainnoSuggestion is ghost. Your site is served at https://<subdomain>.suji.fr, which Ghost automatically uses as its Site URL.
Ghost is lightweight (it needs only ~512 MB), so Small is plenty. See Recommended size. Click Deploy. The install reaches running in ~1 minute. Your site is then live at https://ghost-<random>.suji.fr, served over HTTPS through the tunnel.

First connection — create your owner account

  1. Open the admin panel at https://ghost-<random>.suji.fr/ghost (the /ghost path).
  2. Ghost shows a Create your account screen on first run.
  3. Enter your site title, name, email, and a password. This is the owner account.
  4. You land in the Ghost admin.
The admin URL is public the moment the install is running. Until you complete setup, anyone who reaches /ghost can claim the owner account. Do it right after deploy.
On later visits, /ghost shows a normal sign-in. The public site lives at the root (/).

Writing & publishing

Inside the Ghost admin:
  • Posts / Pages — write in the editor, then Publish.
  • Design / Branding — set your theme, colors, logo; upload custom themes under Settings → Design.
  • Members — enable signups/subscriptions under Settings → Membership (email setup required to actually send to members — see below).
The public site updates instantly as you publish.

Email & newsletters

The install ships with no email provider configured, so member signup confirmations, password resets, staff invites, and newsletters won’t send until you add one.
  • Transactional email (invites, password resets) uses SMTP. Note the underlying network blocks outbound SMTP on ports 25 and 465 — use port 587 (STARTTLS) or an HTTP-based provider.
  • Bulk newsletters require Mailgun specifically (Ghost only supports Mailgun for bulk sending), which uses Mailgun’s HTTP API — unaffected by the SMTP port block.
To enable email, add the mail__* / Mailgun env vars to the install yourself — through Edit Install → environment variables, or the compose-edit escape hatch — then redeploy.

Custom domain

Ghost bakes its Site URL (your https://<subdomain>.suji.fr, wired automatically from the install’s subdomain) into post links, images, and RSS. Custom domains aren’t supported directly — the Site URL always follows the assigned subdomain.

Day-to-day management

Want to…Where
Write / publish postsGhost admin (https://ghost-<random>.suji.fr/ghost)
Change theme / brandingAdmin → Settings → Design
Manage members / subscriptionsAdmin → Settings → Membership
View container logsDashboard → Logs (pick Ghost)
Open a shell inside the containerDashboard → Terminal (pick Ghost)
Browse content / DB on diskDashboard → Files (pick the Ghost volume)
Restart the appInstall detail page → Restart
Upgrade to a newer versionInstall detail page → Upgrade (when available)
Remove the install + its dataInstall detail page → Uninstall

Troubleshooting

The admin is at the /ghost path, not the site root. The “Forgot?” link needs email configured (see Email & newsletters) — so set email up before you need a reset. Without email, recovering a locked-out owner means resetting it directly in Ghost’s database via the Terminal.
Expected until you configure an email provider. Transactional email needs SMTP on port 587 (25/465 are blocked upstream); bulk newsletters need Mailgun. See Email & newsletters.
Ghost isn’t reachable through the tunnel yet — usually still starting (wait ~30 s, especially after an upgrade). If it persists, the Logs tab shows why the container isn’t up.

Where things live

WhatInside containerNamed volume
SQLite database (posts, members)/var/lib/ghost/content/data/ghost.dbghost-content
Uploaded images/var/lib/ghost/content/imagesghost-content
Themes/var/lib/ghost/content/themesghost-content
Ghost runs on SQLite — there’s no separate database container. Everything lives in the one ghost-content volume.
Uninstalling deletes the volume by default — that’s your whole site (posts, members, images, theme). Choose keep data during uninstall if you want to preserve it.

  • Small is plenty. Ghost needs only ~512 MB and the compose caps it at 1 GB.
  • Disk is the thing to watch on an image-heavy site — uploads accumulate in the content volume. Size storage accordingly.
  • If you run other apps on the same VM, remember the VM’s total CPU/memory is shared.

Reporting issues

ClassWhere
Ghost bug (editor, themes, membership, admin)TryGhost/Ghost issues
Marketplace packaging bug (compose / manifest / install form)suji-hq/suji-templates issues
Suji platform bug (dashboard, billing, network)Support ticket from the dashboard