All templates

Ghost Blog

Modern publishing platform powered by Ghost with PostgreSQL storage and public domain.

Added by LeafdTK, 18 Mar 2026 v1.0.0 MIT cms #blog#cms#ghost#publishing

Resources

Ghost Blog

LeafdTK1 deployment1 database1 domainv1.0.0

3
  • db

    postgres

    Ready

  • app

    ghost:5

    Running

  • ingress

    blog.example.com

    Live

Parameters

YAML

ghost.yaml v1.0.0
apiVersion: leaf/v1
kind: Template
metadata:
  name: ghost
  displayName: Ghost Blog
  description: Modern publishing platform powered by Ghost with PostgreSQL storage and public domain.
  icon: https://github.com/TryGhost.png?size=256
  version: '1.0.0'
  category: cms
  tags: ['blog', 'cms', 'ghost', 'publishing']
  keywords: ['blog', 'writing', 'posts', 'newsletter', 'publishing', 'markdown']
  homepage: https://ghost.org
  license: MIT

parameters:
  - name: appName
    displayName: App Name
    description: Name prefix for all resources
    type: string
    default: ghost
    required: true
    validation:
      pattern: '^[a-z][a-z0-9-]{1,58}[a-z0-9]$'
      message: Must be lowercase alphanumeric with hyphens, 3-60 chars

  - name: ghostImage
    displayName: Ghost Image
    type: string
    default: 'ghost:5'

  - name: domain
    displayName: Domain
    description: Public domain for your Ghost blog
    type: string
    required: true
    placeholder: 'blog.example.com'

  - name: enableTls
    displayName: Enable HTTPS
    type: boolean
    default: true

resources:
  - name: db
    type: database
    config:
      name: '{{ params.appName }}-db'

  - name: app
    type: deployment
    config:
      name: '{{ params.appName }}'
      image: '{{ params.ghostImage }}'
      replicas: 1
      ports:
        - name: http
          containerPort: 2368
          servicePort: 2368
          protocol: TCP
      env:
        - key: database__client
          value: postgres
        - key: database__connection__host
          value: '{{ resources.db.host }}'
        - key: database__connection__port
          value: '{{ resources.db.port }}'
        - key: database__connection__database
          value: '{{ resources.db.dbName }}'
        - key: database__connection__user
          value: '{{ resources.db.dbUser }}'
        - key: database__connection__password
          value: '{{ resources.db.dbPassword }}'
        - key: url
          value: 'https://{{ params.domain }}'

  - name: ingress
    type: ingress
    config:
      host: '{{ params.domain }}'
      tlsEnabled: '{{ params.enableTls }}'
      routes:
        - path: /
          serviceName: '{{ resources.app.serviceName }}'
          servicePort: 2368

your own cloud, in one click.

Free and open source. Runs on any Linux box.

Install Orchard