CINXE.COM
Ghost-CLI - A fully loaded tool for installation and configuration
<!doctype html><html lang="en-gb"><head><meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Ghost-CLI - A fully loaded tool for installation and configuration</title><meta name="description" content="The best way to install, manage, and update your site locally or when self-hosting Ghost. A full guide for our advanced CLI tool."><link rel="canonical" href=https://ghost.org/docs/ghost-cli/><meta name="theme-color" content="#15171A"><meta property="og:site_name" content="Ghost - The Professional Publishing Platform"><meta property="og:type" content="website"><meta property="og:title" content="Ghost-CLI - A fully loaded tool for installation and configuration"><meta property="og:description" content="The best way to install, manage, and update your site locally or when self-hosting Ghost. A full guide for our advanced CLI tool."><meta property="og:url" content="https://ghost.org/docs/ghost-cli/"><meta property="og:image" content="https://ghost.org/images/meta/ghost-docs.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="640"><meta name="twitter:title" content="Ghost-CLI - A fully loaded tool for installation and configuration"><meta name="twitter:description" content="The best way to install, manage, and update your site locally or when self-hosting Ghost. A full guide for our advanced CLI tool."><meta name="twitter:url" content="https://ghost.org/docs/ghost-cli/"><meta name="twitter:site" content="@ghost"><meta name="twitter:creator" content="@ghost"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://ghost.org/images/meta/ghost-docs.png"><script type="application/ld+json">{"@context":"https://schema.org/","@type":"WebSite","url":"https://ghost.org/docs/ghost-cli/","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/ghost.org/"},"image":{"@type":"ImageObject","url":"https://ghost.org/images/meta/ghost-docs.png","width":1280,"height":640},"description":"The best way to install, manage, and update your site locally or when self-hosting Ghost. A full guide for our advanced CLI tool."}</script><meta name="generator" content="Hugo 0.119.0"><link rel="sitemap" type="application/xml" title="Sitemap" href="https://ghost.org/sitemap.xml"><link rel="preconnect" href="/fonts/"><link rel="preload" as="font" type="font/woff2" href="/fonts/InterVariable.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/InterVariable-Italic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Thin.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-ThinItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-ExtraLight.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-ExtraLightItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Light.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-LightItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Regular.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Italic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Medium.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-MediumItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-SemiBold.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-SemiBoldItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Bold.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-BoldItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-ExtraBold.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-ExtraBoldItalic.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-Black.woff2" crossorigin="anonymous"><link rel="preload" as="font" type="font/woff2" href="/fonts/Inter-BlackItalic.woff2" crossorigin="anonymous"><style>@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/InterVariable.woff2)format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:optional;src:url(/fonts/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:100;font-display:optional;src:url(/fonts/Inter-Thin.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:100;font-display:optional;src:url(/fonts/Inter-ThinItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:200;font-display:optional;src:url(/fonts/Inter-ExtraLight.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:200;font-display:optional;src:url(/fonts/Inter-ExtraLightItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:300;font-display:optional;src:url(/fonts/Inter-Light.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:300;font-display:optional;src:url(/fonts/Inter-LightItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/Inter-Regular.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/Inter-Italic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/Inter-Medium.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:500;font-display:optional;src:url(/fonts/Inter-MediumItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/Inter-SemiBold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:600;font-display:optional;src:url(/fonts/Inter-SemiBoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/Inter-Bold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/Inter-BoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/Inter-ExtraBold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:800;font-display:optional;src:url(/fonts/Inter-ExtraBoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:900;font-display:optional;src:url(/fonts/Inter-Black.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:900;font-display:optional;src:url(/fonts/Inter-BlackItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:100;font-display:optional;src:url(/fonts/InterDisplay-Thin.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:100;font-display:optional;src:url(/fonts/InterDisplay-ThinItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:200;font-display:optional;src:url(/fonts/InterDisplay-ExtraLight.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:200;font-display:optional;src:url(/fonts/InterDisplay-ExtraLightItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:300;font-display:optional;src:url(/fonts/InterDisplay-Light.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:300;font-display:optional;src:url(/fonts/InterDisplay-LightItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/InterDisplay-Regular.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/InterDisplay-Italic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/InterDisplay-Medium.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:500;font-display:optional;src:url(/fonts/InterDisplay-MediumItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/InterDisplay-SemiBold.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:600;font-display:optional;src:url(/fonts/InterDisplay-SemiBoldItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/InterDisplay-Bold.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/InterDisplay-BoldItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/InterDisplay-ExtraBold.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:800;font-display:optional;src:url(/fonts/InterDisplay-ExtraBoldItalic.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:normal;font-weight:900;font-display:optional;src:url(/fonts/InterDisplay-Black.woff2)format("woff2")}@font-face{font-family:interdisplay;font-style:italic;font-weight:900;font-display:optional;src:url(/fonts/InterDisplay-BlackItalic.woff2)format("woff2")}</style><link rel="stylesheet" href="https://ghost.org/css/main.min.6fb381487ea28df3a138205bf33364d037d9f81e43a2c3ba9c5ac8581d852818.css"><link rel="stylesheet" href="https://ghost.org/css/docs.min.e88467f957afb93e4f61785f82e5c26fa51567aa6070dd25e407fc32bdb22f49.css"><script async defer data-domain="ghost.org" src="/js/script.js"></script> <script>(function(e){e.fpr=e.fpr||function(){e.fpr.q=e.fpr.q||[],e.fpr.q[arguments[0]=="set"?"unshift":"push"](arguments)}})(window),fpr("init",{cid:"pq6gukie"}),fpr("click")</script><script src="https://cdn.firstpromoter.com/fpr.js" async></script> <script>const userAgent=window.navigator.userAgent.toLowerCase()??"",blockedUserAgents=["googlebot","bingbot","acunetix"];if(!blockedUserAgents.some(e=>userAgent.includes(e))){const e=window.location.host??void 0,t=e==="ghost.org"?"phc_BgyIkK5UR1A5pXEZNee5J7DjL0beergcXKWptrmMvZ2":"phc_8NpmCVWz4hA35t8fCtsbno27p7FjqEOO4E02CeWc1v5";!function(e,t){var n,s,o,i;t.__SV||(window.posthog=t,t._i=[],t.init=function(a,r,c){function d(e,t){var n=t.split(".");2==n.length&&(e=e[n[0]],t=n[1]),e[t]=function(){e.push([t].concat(Array.prototype.slice.call(arguments,0)))}}(s=e.createElement("script")).type="text/javascript",s.async=!0,s.src=r.api_host+"/static/array.js",(i=e.getElementsByTagName("script")[0]).parentNode.insertBefore(s,i);var l=t;for(void 0!==c?l=t[c]=[]:c="posthog",l.people=l.people||[],l.toString=function(e){var t="posthog";return"posthog"!==c&&(t+="."+c),e||(t+=" (stub)"),t},l.people.toString=function(){return l.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n<o.length;n++)d(l,o[n]);t._i.push([a,r,c])},t.__SV=1)}(document,window.posthog||[]),posthog.init(t,{api_host:"https://e.ghost.org/ph/ingest",ui_host:"https://eu.posthog.com"})}</script></head><body class="gh-docs-template antialiased text-md" x-data="{ ...searchModal() }" x-on:keydown.escape="closeSearchModal()" x-on:keydown.cmd.k="handleGlobalShortcut($event)"><div class="max-w-full overflow-x-clip relative min-h-screen my-0 mx-auto bg-white"><header class="relative bg-white" x-data="{open: false}" x-on:keydown.escape="open = false"><div class="px-4 sm:px-6"><div class="flex justify-between items-center max-w-8xl mx-auto py-[3vmin] lg:justify-start lg:space-x-10"><div class="flex justify-start"><a href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 294" preserveAspectRatio="xMidYMid meet" class="ghost-orb-logo" height="40px"> <title>Ghost Logo</title> <style> svg.ghost-orb-logo { background-size: 100% 100%; background-repeat: no-repeat; background-image: url(/images/logos/logo-black-1.webp); } </style> </svg></a></div><div class="-mr-2 -my-2 lg:hidden"><button type="button" class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none" aria-expanded="false" x-on:click="open = !open"> <span class="sr-only">Open menu</span><svg class="h-5 w-5 max-w-none" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /> </svg></button></div><nav class="hidden lg:flex space-x-10"><div class="relative" x-data="{open: false}" x-on:keydown.escape="open = false"><button type="button" class="text-gray-500 font-medium group bg-white rounded-md inline-flex items-center text-md hover:text-gray-900 focus:outline-none" :class="{ 'text-gray-900': open, 'text-gray-500': !(open) }" aria-expanded="false" x-on:click="open = !open"> <span>Product</span><svg class="text-gray-400 ml-1 h-5 w-5 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg></button><div class="absolute z-50 -ml-4 mt-8 transform px-2 w-screen max-w-xs sm:px-0 lg:ml-0 lg:left-1/2 lg:-translate-x-1/2" x-cloak x-on:click.outside="open = false" x-show="open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 -translate-y-1" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 -translate-y-1"><div class="rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-hidden"><div class="relative grid grid-cols-1 gap-6 bg-white px-5 py-6 sm:gap-8 sm:p-8"><a href="/creators/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M14.885,3A16.977,16.977,0,0,0,7.385.75c-3,0-3.75,1.5-3.75,3,0,1.657.675,3,2.25,3h9c1.3,0,2.25-.127,2.25-1.5A1.989,1.989,0,0,0,14.885,3Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M14.885,3A2.25,2.25,0,0,1,17.135.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.635,15.748a9.762,9.762,0,0,0-5.886,7.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M22.823,13.382A2.25,2.25,0,1,1,19.006,11c.794-1.272,2.7-.08,3.895-1.989C22.9,9.009,23.481,12.328,22.823,13.382Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.722,14.1a2.035,2.035,0,0,0-2.9.825l-3.262,5.935a1.658,1.658,0,0,0,2.8,1.747l3.9-5.535A2.036,2.036,0,0,0,19.722,14.1Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M5.2,6.653a5.25,5.25,0,1,0,10.375.076" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">For Creators</p><p class="mt-1 text-sm text-gray-500">YouTubers, bloggers, podcasters, musicians & artists</p></div></div></div></a><a href="/publishers/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 15.75H2.246L1.2 21.479C1.16033 21.695 1.16856 21.917 1.2241 22.1294C1.27964 22.3419 1.38114 22.5395 1.52144 22.7084C1.66173 22.8773 1.8374 23.0134 2.03604 23.107C2.23467 23.2005 2.45143 23.2494 2.671 23.25H21.322C21.5422 23.2504 21.7597 23.2023 21.9592 23.1092C22.1587 23.0161 22.3353 22.8801 22.4763 22.7111C22.6174 22.5421 22.7195 22.3441 22.7755 22.1311C22.8314 21.9182 22.8398 21.6955 22.8 21.479L21.746 15.75Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M5.246 1.5C5.246 1.40117 5.26553 1.30331 5.30347 1.21206C5.34141 1.1208 5.39702 1.03794 5.46708 0.968246C5.53715 0.89855 5.62031 0.843389 5.71176 0.805934C5.80322 0.768479 5.90117 0.749468 6 0.749995H15L18.75 4.5V11.25H5.246V1.5Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 12.75H23.246"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M0.75 12.75H2.25"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C6.91789 19.875 6.75 19.7071 6.75 19.5C6.75 19.2929 6.91789 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C7.33211 19.875 7.5 19.7071 7.5 19.5C7.5 19.2929 7.33211 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C11.7929 19.875 11.625 19.7071 11.625 19.5C11.625 19.2929 11.7929 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C12.2071 19.875 12.375 19.7071 12.375 19.5C12.375 19.2929 12.2071 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C16.6679 19.875 16.5 19.7071 16.5 19.5C16.5 19.2929 16.6679 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C17.0821 19.875 17.25 19.7071 17.25 19.5C17.25 19.2929 17.0821 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.246 15.75V12.75C2.246 12.3522 2.40404 11.9706 2.68534 11.6893C2.96665 11.408 3.34818 11.25 3.746 11.25H20.246C20.6438 11.25 21.0254 11.408 21.3067 11.6893C21.588 11.9706 21.746 12.3522 21.746 12.75V15.75"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 8.25H14.996"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 4.5H11.996"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">For Publishers</p><p class="mt-1 text-sm text-gray-500">Writers, journalists, local news and new media outlets</p></div></div></div></a><a href="/business/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <path d="M6.25,23.25l7.61-12.08a1.12,1.12,0,0,1,1.78,0l7.61,12.08Z" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> <polyline points="6.25 23.25 0.75 23.26 6.75 14.26 9.6 17.94" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <polyline points="11.31 15.22 14.72 17.51 18.16 15.16" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <line x1="14.75" y1="10.73" x2="14.75" y2="0.74" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></line> <path d="M14.75.74h7.19a.53.53,0,0,1,.47.3.55.55,0,0,1-.06.55L21.21,3a.53.53,0,0,0,0,.65l1.14,1.45a.54.54,0,0,1,.06.55.53.53,0,0,1-.47.3H14.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> </g></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">For Business</p><p class="mt-1 text-sm text-gray-500">Modern brands & companies with ambitious content marketing</p></div></div></div></a><a href="/docs/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">For Developers</p><p class="mt-1 text-sm text-gray-500">Source code, documentation, guides and tutorials</p></div></div></div></a></div></div></div></div><a href="/explore/" class="text-md text-gray-500 font-medium hover:text-gray-900">Explore</a><div class="relative" x-data="{open: false}" x-on:keydown.escape="open = false"><button type="button" class="text-gray-500 font-medium group bg-white rounded-md inline-flex items-center text-md hover:text-gray-900 focus:outline-none" :class="{ 'text-gray-900': open, 'text-gray-500': !(open) }" aria-expanded="false" x-on:click="open = !open"> <span>Resources</span><svg class="text-gray-400 ml-1 h-5 w-5 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg></button><div class="absolute ml-0 left-1/2 -translate-x-1/2 z-50 -ml-4 mt-8 transform px-2 w-screen max-w-2xl sm:px-0" x-cloak x-on:click.outside="open = false" x-show="open" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 -translate-y-1" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 -translate-y-1"><div class="rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 overflow-hidden"><div class="relative grid grid-cols-2 gap-6 bg-white px-5 py-6 sm:gap-7 sm:p-8"><a href="/marketplace/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve" fill="currentColor"> <g> <path d="M11.993,14.251c-0.365,0-0.729-0.088-1.052-0.255L0.732,8.714C0.478,8.584,0.275,8.38,0.144,8.125 c-0.344-0.67-0.079-1.494,0.59-1.838l10.206-5.28c0.324-0.167,0.688-0.255,1.052-0.255s0.729,0.088,1.052,0.255l10.21,5.281 c0.252,0.131,0.454,0.333,0.585,0.585c0.346,0.67,0.083,1.495-0.585,1.842l-10.209,5.281 C12.723,14.162,12.359,14.251,11.993,14.251z M11.63,12.663c0.112,0.058,0.237,0.088,0.364,0.088c0.126,0,0.252-0.031,0.363-0.088 l9.979-5.162l-9.979-5.162c-0.111-0.058-0.237-0.088-0.363-0.088s-0.252,0.03-0.364,0.088L1.652,7.501L11.63,12.663z"/> <path d="M11.996,18.751c-0.366,0-0.73-0.088-1.055-0.256L0.433,13.426c-0.18-0.087-0.316-0.239-0.382-0.428 c-0.066-0.189-0.054-0.393,0.033-0.573c0.124-0.258,0.389-0.424,0.675-0.424c0.114,0,0.224,0.025,0.326,0.075l10.527,5.078 c0.126,0.064,0.256,0.096,0.385,0.096c0.125,0,0.25-0.03,0.361-0.088l10.576-5.087c0.103-0.049,0.212-0.074,0.325-0.074 c0.287,0,0.552,0.167,0.676,0.425c0.179,0.372,0.022,0.821-0.351,1l-10.557,5.078C12.718,18.664,12.359,18.751,11.996,18.751z"/> <path d="M11.996,23.251c-0.366,0-0.73-0.088-1.055-0.256L0.433,17.926c-0.18-0.087-0.316-0.239-0.382-0.428 c-0.066-0.189-0.054-0.393,0.033-0.573c0.124-0.258,0.389-0.424,0.676-0.424c0.114,0,0.223,0.025,0.326,0.075l10.527,5.078 c0.126,0.065,0.256,0.096,0.385,0.096c0.125,0,0.25-0.03,0.361-0.087l10.576-5.087c0.103-0.049,0.212-0.074,0.325-0.074 c0.287,0,0.552,0.167,0.676,0.425c0.179,0.372,0.022,0.821-0.351,1l-10.557,5.078C12.718,23.164,12.359,23.251,11.996,23.251z"/> </g> </svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Marketplace</p><p class="mt-1 text-sm text-gray-500">Professional themes, custom integrations and qualified experts</p></div></div></div></a><a href="/resources/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M21,23.25H5.25A2.25,2.25,0,0,1,3,21" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M12,2.25H6a3,3,0,0,0-3,3V21a2.25,2.25,0,0,1,2.25-2.25h15A.75.75,0,0,0,21,18V3a.75.75,0,0,0-.75-.75H18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.5 23.25L19.5 18.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M18,12.75l-3-3-3,3V2.25A1.5,1.5,0,0,1,13.5.75h3A1.5,1.5,0,0,1,18,2.25Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900 flex items-center gap-2">Start here <span class="inline-block bg-pink-900 text-white py-0.5 px-1 text-[1rem] font-semibold uppercase tracking-wide rounded-[4px]">New</span></p><p class="mt-1 text-sm text-gray-500">A huge library of guides, stories, interviews and tips for success</p></div></div></div></a><a href="/themes/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <rect x="4.75" y="4.75" width="5.75" height="7.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="4.75" y="15" width="5.75" height="4.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="13.5" y="12" width="5.75" height="7.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="13.5" y="4.75" width="5.75" height="4.25" rx="0.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> <rect x="0.75" y="0.75" width="22.5" height="22.5" rx="1.5" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></rect> </g></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Themes</p><p class="mt-1 text-sm text-gray-500">Hundreds of beautifully designed publication templates</p></div></div></div></a><a href="/help/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 9.00004C9.00011 8.45007 9.15139 7.91071 9.43732 7.44091C9.72325 6.97111 10.1328 6.58895 10.6213 6.33619C11.1097 6.08344 11.6583 5.96982 12.2069 6.00776C12.7556 6.04569 13.2833 6.23372 13.7323 6.55129C14.1813 6.86886 14.5344 7.30375 14.7529 7.80843C14.9715 8.31311 15.0471 8.86816 14.9715 9.41291C14.8959 9.95766 14.6721 10.4712 14.3244 10.8973C13.9767 11.3234 13.5185 11.6457 13 11.829C12.7074 11.9325 12.4541 12.1241 12.275 12.3775C12.0959 12.631 11.9998 12.9337 12 13.244V14.25"></path><path stroke="currentColor" stroke-width="1.5" d="M12 18C11.7929 18 11.625 17.8321 11.625 17.625C11.625 17.4179 11.7929 17.25 12 17.25"></path><path stroke="currentColor" stroke-width="1.5" d="M12 18C12.2071 18 12.375 17.8321 12.375 17.625C12.375 17.4179 12.2071 17.25 12 17.25"></path><path stroke="currentColor" stroke-miterlimit="10" stroke-width="1.5" d="M12 23.25C18.2132 23.25 23.25 18.2132 23.25 12C23.25 5.7868 18.2132 0.75 12 0.75C5.7868 0.75 0.75 5.7868 0.75 12C0.75 18.2132 5.7868 23.25 12 23.25Z"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Help center</p><p class="mt-1 text-sm text-gray-500">Get help with product features and answers to common questions.</p></div></div></div></a><a href="/integrations/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g transform="matrix(2,0,0,2,0,0)"><defs><style>.a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;}</style></defs><title>module-four</title><polygon class="a" points="22.5 7.5 22.5 18 12 22.5 1.5 18 1.5 7.5 12 12 22.5 7.5"></polygon><line class="a" x1="12" y1="22.5" x2="12" y2="12"></line><line class="a" x1="7.5" y1="4.929" x2="1.5" y2="7.5"></line><line class="a" x1="16.5" y1="4.929" x2="22.5" y2="7.5"></line><ellipse class="a" cx="12" cy="3" rx="4.5" ry="1.5"></ellipse><path class="a" d="M7.5,3V6c0,.828,2.015,1.5,4.5,1.5s4.5-.672,4.5-1.5V3"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Integrations</p><p class="mt-1 text-sm text-gray-500">Connect thousands of apps and services with your website</p></div></div></div></a><a href="/changelog/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.5 23.248L12 11.248 12 8.248 12 11.248 16.5 23.248" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M17.726.747a9,9,0,0,1,0,15" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.5,4.575a5.249,5.249,0,0,1,0,7.347" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.275.747a9,9,0,0,0,0,15" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M7.5,4.575a5.251,5.251,0,0,0,0,7.347" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M8.625 20.248L15.375 20.248" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Product updates</p><p class="mt-1 text-sm text-gray-500">All the latest changes and improvements to Ghost</p></div></div></div></a><a href="/experts/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">Experts</p><p class="mt-1 text-sm text-gray-500">Get help building your site from certified Ghost developers</p></div></div></div></a><a href="/about/" class="-m-4 p-4 flex flex-col justify-between rounded-lg hover:bg-gray-100"><div class="ml-4 lg:flex-1 lg:flex lg:flex-col lg:justify-between gap-y-1 lg:ml-0"><div class="flex items-start gap-x-2.5"><span class="h-5 w-5 text-green-900 shrink-0 mt-1"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M3.75,14v7.5A1.5,1.5,0,0,0,5.25,23h13.5a1.5,1.5,0,0,0,1.5-1.5V14" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M.75,12.629,10.939,2.439a1.5,1.5,0,0,1,2.122,0L23.25,12.629" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.5 5.879L16.5 3.5 20.25 3.5 20.25 9.629" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M15.93,11.845a1.9,1.9,0,0,0-2.751,0L12,13.064l-1.179-1.219a1.9,1.9,0,0,0-2.751,0,2.06,2.06,0,0,0,0,2.845l3.511,3.631a.579.579,0,0,0,.838,0L15.93,14.69A2.06,2.06,0,0,0,15.93,11.845Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><div><p class="text-lg font-bold font-hdg text-gray-900">About us</p><p class="mt-1 text-sm text-gray-500">Learn more about the people behind the platform (We're hiring!)</p></div></div></div></a></div></div></div></div><a href="/pricing/" class="text-md text-gray-500 font-medium hover:text-gray-900">Pricing</a></nav><div class="hidden lg:flex items-center gap-7 justify-end lg:flex-1 lg:w-0"><a id="search-button" class="h-5 w-5 text-slate-400 hover:text-slate-900 transition-all" href="javascript:;" role="button" x-on:click="openSearchModal()" x-on:mouseenter.once="initSearch()" aria-label="Search"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></a><a href="https://account.ghost.org/signin/" class="whitespace-nowrap text-md text-gray-500 font-medium hover:text-gray-900">Sign in</a> <a href="https://account.ghost.org/signup/" class="plausible-event-name=Signup-CTA-clicked whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-sm text-white bg-base"><strong class="font-semibold">Get Started</strong> — free</a></div></div></div><div class="absolute top-0 inset-x-0 z-50 transition transform origin-top-right lg:hidden" x-cloak x-on:click.outside="open = false" x-show="open"><div class="shadow-lg ring-1 ring-black ring-opacity-5 bg-white divide-y-2 divide-gray-50"><div class="pt-[3vmin] pb-6 px-4 sm:px-6"><div class="flex items-center justify-between"><a href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 294" preserveAspectRatio="xMidYMid meet" class="ghost-orb-logo" height="40px"> <title>Ghost Logo</title> <style> svg.ghost-orb-logo { background-size: 100% 100%; background-repeat: no-repeat; background-image: url(/images/logos/logo-black-1.webp); } </style> </svg></a><div class="-mr-2"><button type="button" class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none" x-on:click="open = !open"> <span class="sr-only">Close menu</span><svg class="h-4 w-4 max-w-none" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> </svg></button></div></div><div class="mt-10"><nav class="grid grid-cols-1 gap-y-7"><a href="/creators/" class="flex flex-col justify-between"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between lg:ml-0"><div class="flex items-center gap-x-2.5"><span class="h-5 w-5 text-green-900"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M14.885,3A16.977,16.977,0,0,0,7.385.75c-3,0-3.75,1.5-3.75,3,0,1.657.675,3,2.25,3h9c1.3,0,2.25-.127,2.25-1.5A1.989,1.989,0,0,0,14.885,3Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M14.885,3A2.25,2.25,0,0,1,17.135.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M6.635,15.748a9.762,9.762,0,0,0-5.886,7.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M22.823,13.382A2.25,2.25,0,1,1,19.006,11c.794-1.272,2.7-.08,3.895-1.989C22.9,9.009,23.481,12.328,22.823,13.382Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M19.722,14.1a2.035,2.035,0,0,0-2.9.825l-3.262,5.935a1.658,1.658,0,0,0,2.8,1.747l3.9-5.535A2.036,2.036,0,0,0,19.722,14.1Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M5.2,6.653a5.25,5.25,0,1,0,10.375.076" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><p class="text-lg font-bold font-hdg text-gray-900">For Creators</p></div><p class="mt-1 text-sm text-gray-500">Join thousands of creators using Ghost to share their work</p></div></a><a href="/publishers/" class="flex flex-col justify-between"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between lg:ml-0"><div class="flex items-center gap-x-2.5"><span class="h-5 w-5 text-green-900"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 15.75H2.246L1.2 21.479C1.16033 21.695 1.16856 21.917 1.2241 22.1294C1.27964 22.3419 1.38114 22.5395 1.52144 22.7084C1.66173 22.8773 1.8374 23.0134 2.03604 23.107C2.23467 23.2005 2.45143 23.2494 2.671 23.25H21.322C21.5422 23.2504 21.7597 23.2023 21.9592 23.1092C22.1587 23.0161 22.3353 22.8801 22.4763 22.7111C22.6174 22.5421 22.7195 22.3441 22.7755 22.1311C22.8314 21.9182 22.8398 21.6955 22.8 21.479L21.746 15.75Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M5.246 1.5C5.246 1.40117 5.26553 1.30331 5.30347 1.21206C5.34141 1.1208 5.39702 1.03794 5.46708 0.968246C5.53715 0.89855 5.62031 0.843389 5.71176 0.805934C5.80322 0.768479 5.90117 0.749468 6 0.749995H15L18.75 4.5V11.25H5.246V1.5Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M21.746 12.75H23.246"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M0.75 12.75H2.25"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C6.91789 19.875 6.75 19.7071 6.75 19.5C6.75 19.2929 6.91789 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M7.125 19.875C7.33211 19.875 7.5 19.7071 7.5 19.5C7.5 19.2929 7.33211 19.125 7.125 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C11.7929 19.875 11.625 19.7071 11.625 19.5C11.625 19.2929 11.7929 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M12 19.875C12.2071 19.875 12.375 19.7071 12.375 19.5C12.375 19.2929 12.2071 19.125 12 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C16.6679 19.875 16.5 19.7071 16.5 19.5C16.5 19.2929 16.6679 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-width="1.5" d="M16.875 19.875C17.0821 19.875 17.25 19.7071 17.25 19.5C17.25 19.2929 17.0821 19.125 16.875 19.125"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2.246 15.75V12.75C2.246 12.3522 2.40404 11.9706 2.68534 11.6893C2.96665 11.408 3.34818 11.25 3.746 11.25H20.246C20.6438 11.25 21.0254 11.408 21.3067 11.6893C21.588 11.9706 21.746 12.3522 21.746 12.75V15.75"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 8.25H14.996"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.246 4.5H11.996"></path></g></svg></span><p class="text-lg font-bold font-hdg text-gray-900">For Publishers</p></div><p class="mt-1 text-sm text-gray-500">The platform for independent publishers</p></div></a><a href="/business/" class="flex flex-col justify-between"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between lg:ml-0"><div class="flex items-center gap-x-2.5"><span class="h-5 w-5 text-green-900"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <g transform="matrix(2,0,0,2,0,0)"><g> <path d="M6.25,23.25l7.61-12.08a1.12,1.12,0,0,1,1.78,0l7.61,12.08Z" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> <polyline points="6.25 23.25 0.75 23.26 6.75 14.26 9.6 17.94" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <polyline points="11.31 15.22 14.72 17.51 18.16 15.16" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></polyline> <line x1="14.75" y1="10.73" x2="14.75" y2="0.74" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></line> <path d="M14.75.74h7.19a.53.53,0,0,1,.47.3.55.55,0,0,1-.06.55L21.21,3a.53.53,0,0,0,0,.65l1.14,1.45a.54.54,0,0,1,.06.55.53.53,0,0,1-.47.3H14.75" style="fill: none;stroke: currentColor;stroke-linecap: round;stroke-linejoin: round;stroke-width: 1.5px"></path> </g></g></svg></span><p class="text-lg font-bold font-hdg text-gray-900">For Business</p></div><p class="mt-1 text-sm text-gray-500">Content marketing for modern business</p></div></a><a href="/docs/" class="flex flex-col justify-between"><div class="lg:flex-1 lg:flex lg:flex-col lg:justify-between lg:ml-0"><div class="flex items-center gap-x-2.5"><span class="h-5 w-5 text-green-900"><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(2,0,0,2,0,0)"><path d="M7.629,4.5l-6.44,6.439a1.5,1.5,0,0,0,0,2.121l6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M16.371,4.5l6.44,6.439a1.5,1.5,0,0,1,0,2.121l-6.44,6.44" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></g></svg></span><p class="text-lg font-bold font-hdg text-gray-900">For Developers</p></div><p class="mt-1 text-sm text-gray-500">Source code, documentation, guides and tutorials</p></div></a></nav></div></div><div class="py-6 px-4 sm:px-6 space-y-10"><div class="grid grid-cols-2 gap-y-4 gap-x-8"><a href="/explore/" class="text-base font-medium text-gray-900 hover:text-gray-700">Explore</a> <a href="/pricing/" class="text-base font-medium text-gray-900 hover:text-gray-700">Pricing</a> <a href="/marketplace/" class="text-base font-medium text-gray-900 hover:text-gray-700">Marketplace</a> <a href="/themes/" class="text-base font-medium text-gray-900 hover:text-gray-700">Themes</a> <a href="/integrations/" class="text-base font-medium text-gray-900 hover:text-gray-700">Integrations</a> <a href="/resources/" class="text-base font-medium text-gray-900 hover:text-gray-700">Resources</a> <a href="/help/" class="text-base font-medium text-gray-900 hover:text-gray-700">Help center</a> <a href="/changelog/" class="text-base font-medium text-gray-900 hover:text-gray-700">Product updates</a> <a href="/docs/" class="text-base font-medium text-gray-900 hover:text-gray-700">Developers</a> <a href="/about/" class="text-base font-medium text-gray-900 hover:text-gray-700">About us</a></div><div><a href="https://account.ghost.org/signup/" class="plausible-event-name=Signup-CTA-clicked w-full block px-4 py-2 border border-transparent rounded-md shadow-sm text-base text-sm text-white bg-base text-center"><strong class="font-semibold">Get Started</strong> — free</a><p class="mt-4 text-center text-base font-medium text-gray-500">Existing customer? <a href="https://account.ghost.org/signin/">Sign in</a></p></div></div></div></div></header><div id="search-modal" class="fixed top-0 right-0 bottom-0 left-0 z-50 flex-col items-center bg-[rgba(34,52,59,.5)]" x-cloak x-show="searchIsOpen()" :class="searchIsOpen() ? 'flex' : 'hidden'" :aria-expanded="searchIsOpen() ? 'true' : 'false'"><section class="gh-modal absolute top-5 right-5 left-5 overflow-hidden mt-0 mx-auto mb-10 lg:my-[8vh] max-w-[80rem] pt-6 pb-10 px-5 lg:py-10 max-h-[95vh] outline-none bg-white rounded-xl shadow-[0_0_1px_rgba(0,0,0,0.03),0_10px_32px_-5px_rgba(0,0,0,0.1)]" x-on:click.outside="closeSearchModal()"><div class="gh-modal-content relative h-auto w-auto border-none text-midgrey bg-white"><header><span class="absolute top-4 left-3 w-4 fill-[#768c96]"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><label class="sr-only" for="search">Search</label> <input id="search-input" class="gh-input py-[1.5rem] pr-[1.5rem] pl-10 border-none text-[rgba(0,0,0,0.5)] text-[1.6rem] font-medium rounded-md bg-wash shadow-[rgba(0,0,0,0.06)_0_0_0_1px_inset] transition-all duration-500 ease-out" type=text placeholder="Quick-search for anything" autocomplete="off" autofocus name="search" x-on:keydown.enter.prevent aria-label="Search"><div class="absolute top-4 right-3 py-px px-[8px] my-0 mt-0 mb-[10px] text-[rgba(0,0,0,0.6)] text-[1.1rem] tracking-[1px] bg-white rounded-[5px] cursor-pointer" x-on:click="closeSearchModal()" role="button" aria-label="Close Search">ESC</div></header><div class="gh-modal-body"><div id="suggestions"><div class="mt-[30px] mx-[-4rem] mb-0"><div class="mx-0 mt-0 mb-[5px] py-0 px-10 text-[#768c96] text-[1.3rem] leading-snug">Common searches</div><ul role="listbox" class="flex flex-col w-full m-0 p-0 text-darkgrey text-[1.6rem] font-semibold leading-snug list-none"><li class="m-0" role="option"><a class="flex items-center py-[0.9rem] px-10 w-full text-darkgrey transition-none hover:no-underline hover:bg-[#f4f8fb]" href="/help/using-custom-domains/"><span class="my-0 mr-[15px] ml-0 w-[16px] h-auto"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span>how to set up my custom domain</span></a></li><li class="m-0" role="option"><a class="flex items-center py-[0.9rem] px-10 w-full text-darkgrey transition-none hover:no-underline hover:bg-[#f4f8fb]" href="/docs/install/"><span class="my-0 mr-[15px] ml-0 w-[16px] h-auto"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span>how to install ghost</span></a></li><li class="m-0" role="option"><a class="flex items-center py-[0.9rem] px-10 w-full text-darkgrey transition-none hover:no-underline hover:bg-[#f4f8fb]" href="/help/how-do-i-reset-my-password/"><span class="my-0 mr-[15px] ml-0 w-[16px] h-auto"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span>login not working, how to reset password</span></a></li><li class="m-0" role="option"><a class="flex items-center py-[0.9rem] px-10 w-full text-darkgrey transition-none hover:no-underline hover:bg-[#f4f8fb]" href="/help/cloudflare-domain-setup/"><span class="my-0 mr-[15px] ml-0 w-[16px] h-auto"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span>cloudflare setup and config</span></a></li><li class="m-0" role="option"><a class="flex items-center py-[0.9rem] px-10 w-full text-darkgrey transition-none hover:no-underline hover:bg-[#f4f8fb]" href="/docs/themes/"><span class="my-0 mr-[15px] ml-0 w-[16px] h-auto"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span>how to make a ghost theme</span></a></li></ul></div></div><div id="results"></div><footer class="flex relative items-center mt-[30px] mx-0 mb-[-4rem] h-[65px] bg-white before:content-[''] before:absolute before:top-0 before:-left-10 before:w-[calc(100%+8rem)] before:h-px before:bg-whitegrey"><div class="hidden lg:flex justify-center items-center mr-[6px] h-[22px] border-x border-[#d3e1e9] text-midgrey text-xs leading-none tracking-[0.4px] bg-whitegrey rounded w-[22px]"><span>↓</span></div><div class="hidden lg:flex justify-center items-center mr-[10px] h-[22px] border-x border-[#d3e1e9] text-midgrey text-xs leading-none tracking-[0.4px] bg-whitegrey rounded w-[22px]"><span>↑</span></div><p class="hidden lg:block my-0 mr-[30px] ml-0 leading-snug">to navigate</p><div class="hidden lg:flex justify-center items-center mr-[10px] h-[22px] border-x border-[#d3e1e9] text-midgrey text-xs leading-none tracking-[0.4px] bg-whitegrey rounded pt-px pr-0 pb-0 pl-[2px] w-[34px] font-['Helvetica Neue',Helvetica,Arial,sans-serif] text-sm"><span> ↵</span></div><p class="hidden lg:block my-0 mr-[30px] ml-0 leading-snug">to select</p><a class="absolute right-0 py-[5px] pr-0 pl-[5px]" href="https://www.algolia.com" target="_blank" rel="noopener noreferrer"><span class="block w-[120px] h-auto filter-[grayscale(80%)] opacity-40 transition-all duration-500 ease-out hover:filter-none hover:opacity-100 hover:duration-300"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" version="1.1" viewBox="0 0 168 24" xml:space="preserve"><g fill="none"><path fill="#5468FF" d="M78.988.938h16.594a2.968 2.968 0 012.966 2.966V20.5a2.967 2.967 0 01-2.966 2.964H78.988a2.967 2.967 0 01-2.966-2.964V3.897A2.961 2.961 0 0178.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 00-1.574-.199 5.7 5.7 0 00-.897.069 2.699 2.699 0 00-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 01-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 01-1.471-.636 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 011.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 011.82-.185 8.404 8.404 0 011.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 00-.384-.73 1.784 1.784 0 00-.724-.493 3.164 3.164 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 00-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 012.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 00-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 00-.814.24 1.46 1.46 0 00-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 01.233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 01-1.471-.635 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 012.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 00-.109-.875 1.873 1.873 0 00-.384-.731 1.784 1.784 0 00-.724-.492 3.165 3.165 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 00-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 012.073-.177zm-8.034-1.271a1.626 1.626 0 01-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 01-1.128 1.906 4.986 4.986 0 01-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 01-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 01-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 011.15-1.892 5.133 5.133 0 011.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 011.753 1.216 5.644 5.644 0 011.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 00-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 01-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 01-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 012.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z"/><path fill="#5D6494" d="M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 00-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 01-.582-.271 13.67 13.67 0 01-.55-.287 4.275 4.275 0 01-.567-.351 6.92 6.92 0 01-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 01-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 00-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 00-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 00-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 01-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"/><path fill="#FFF" d="M89.632 5.967v-.772a.978.978 0 00-.978-.977h-2.28a.978.978 0 00-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 011.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 00-1.382 0l-.465.465a.973.973 0 000 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 00-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 01-4.49-4.482 4.488 4.488 0 014.49-4.482 4.488 4.488 0 014.489 4.482 4.484 4.484 0 01-4.49 4.482m0-10.85a6.363 6.363 0 100 12.729 6.37 6.37 0 006.372-6.368 6.358 6.358 0 00-6.371-6.36"/></g></svg></span></a></footer></div></div></section></div><main role="main"><div class="sticky top-0 z-20 flex items-center m-0 h-[60px] bg-white shadow-sm border-b border-[rgba(0,0,0,.07)] px-4 sm:px-6" x-on:mouseenter.once="initSearch()"><div class="relative grid lg:grid-cols-[calc(200px+4vmin)_1fr_calc(220px+2vmin)] grid-cols-1 gap-[2vmin] my-0 mx-auto max-w-8xl w-full"><a href="/docs/" class="hidden lg:block place-self-start self-center text-lg font-bold font-hdg">Developer docs</a><div><div class="place-self-start flex items-center py-[8px] pr-[10px] pl-[12px] my-0 mx-auto text-midgrey text-sm rounded-md bg-wash hover:cursor-pointer" role="button" x-on:click="openSearchModal()" aria-label="Search"><span class="flex-shrink-0 w-[14px] h-[14px] mr-[10px] transition-all duration-500 ease-in-out"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /> </svg></span><span class="inline-block w-full">Quick-search for anything</span><div class="flex-shrink-0 py-px px-[8px] ml-[10px] mr-0 my-0 bg-white text-xs font-hdg rounded">⌘F</div></div></div><div class="hidden lg:flex place-self-start self-center pl-[2vmin] justify-end w-full"><a class="inline-flex items-center py-[3px] px-0 mt-[3px] mx-0 mb-0 text-sm leading-none no-underline transition-all duration-300 ease-in-out hover:no-underline" href="https://github.com/tryghost/ghost/" target="_blank" rel="noopener noreferrer"><span class="w-[20px] h-[20px] mr-[10px] ml-0 my-0 transition-all duration-300 ease-in-out"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M16 .395c-8.836 0-16 7.163-16 16 0 7.069 4.585 13.067 10.942 15.182.8.148 1.094-.347 1.094-.77 0-.381-.015-1.642-.022-2.979-4.452.968-5.391-1.888-5.391-1.888-.728-1.849-1.776-2.341-1.776-2.341-1.452-.993.11-.973.11-.973 1.606.113 2.452 1.649 2.452 1.649 1.427 2.446 3.743 1.739 4.656 1.33.143-1.034.558-1.74 1.016-2.14-3.554-.404-7.29-1.777-7.29-7.907 0-1.747.625-3.174 1.649-4.295-.166-.403-.714-2.03.155-4.234 0 0 1.344-.43 4.401 1.64a15.353 15.353 0 0 1 4.005-.539c1.359.006 2.729.184 4.008.539 3.054-2.07 4.395-1.64 4.395-1.64.871 2.204.323 3.831.157 4.234 1.026 1.12 1.647 2.548 1.647 4.295 0 6.145-3.743 7.498-7.306 7.895.574.497 1.085 1.47 1.085 2.963 0 2.141-.019 3.864-.019 4.391 0 .426.288.925 1.099.768C27.421 29.457 32 23.462 32 16.395c0-8.837-7.164-16-16-16z"/></svg></span><span class="flex items-end font-mono font-semibold mt-[2px] mb-0 mx-0">5.99.0</span></a></div></div></div><div class="my-0 mx-auto max-w-8xl w-full px-4 sm:px-6 2xl:px-0"><div class="gh-docs"><nav class="relative h-auto overflow-y-visible scroll-auto text-[rgba(0,0,0,.5)] font-medium hidden lg:block before:content-[''] before:block before:absolute before:right-0 before:bottom-0 before:-left-[1rem] before:z-20 before:h-[10vmin] bg-gradient-to-t from-[rgba(255,255,255,0.8)] to-[rgba(255,255,255,0)]"><div class="gh-docsnav-rail sticky top-[60px] h-auto pt-0 pr-[3vmin] pb-0 pl-[1rem] mt-0 mr-0 mb-px ml-[-1rem] scroll-smooth overflow-y-auto overflow-x-visible"><div class="h-screen pt-[4vmin] scroll-auto overflow-x-visible" x-data="activeLink()" x-init="start()"><div class="m-0 text-sm gh-docsnav-categories"><a class="flex items-center py-[0.6rem] px-0 mt-[-0.6rem]" href="/docs/"><span class="inline-flex justify-center items-center mr-[1rem] w-7 h-7 bg-gradient-to-tr from-[#26a6ed] to-[#1446ff] shadow-[inset_0_0_0_1px_rgb(0,0,0,.05)] rounded-md"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" enable-background="new 0 0 24 24" version="1.1" viewBox="0 0 24 24" xml:space="preserve"><path d="M3.01,22.503c-1.241,0-2.25-1.009-2.25-2.25v-16.5c0-1.241,1.009-2.25,2.25-2.25h18c1.241,0,2.25,1.009,2.25,2.25v16.5 c0,1.241-1.009,2.25-2.25,2.25H3.01z M2.26,20.253c0,0.414,0.336,0.75,0.75,0.75h18c0.414,0,0.75-0.336,0.75-0.75V7.503H2.26 V20.253z M21.76,6.003v-2.25c0-0.414-0.336-0.75-0.75-0.75h-18c-0.414,0-0.75,0.336-0.75,0.75v2.25H21.76z"/><path d="M12.01 18.003c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h4.5c.414 0 .75.336.75.75s-.336.75-.75.75H12.01zM7.51 18.003c-.2 0-.389-.078-.53-.22-.292-.292-.292-.768 0-1.061l2.47-2.47-2.47-2.47c-.142-.141-.22-.33-.22-.53s.078-.389.22-.53c.141-.142.33-.22.53-.22s.389.078.53.22l3 3c.292.292.292.768 0 1.061l-3 3C7.898 17.925 7.71 18.003 7.51 18.003z"/></svg></span>Documentation</a> <a class="flex items-center py-[0.6rem] px-0" href="/docs/migration/"><span class="inline-flex justify-center items-center mr-[1rem] w-7 h-7 bg-gradient-to-tr from-[#ed26d3] to-[#ff1433] shadow-[inset_0_0_0_1px_rgb(0,0,0,.05)] rounded-md"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" enable-background="new 0 0 24 24" version="1.1" viewBox="0 0 24 24" xml:space="preserve"><path d="M15.75 7.5c-.2 0-.389-.078-.53-.22C15.078 7.139 15 6.95 15 6.75s.078-.389.22-.53l1.72-1.72H.75C.336 4.5 0 4.164 0 3.75S.336 3 .75 3h16.189l-1.72-1.72C15.078 1.139 15 .95 15 .75s.078-.389.22-.53S15.55 0 15.75 0s.389.078.53.22l3 3c.07.07.125.152.163.245.003.008.007.017.01.026C19.483 3.572 19.5 3.66 19.5 3.75c0 .087-.016.174-.047.258-.002.006-.004.011-.006.016-.042.104-.098.186-.168.257L16.28 7.28C16.139 7.422 15.95 7.5 15.75 7.5zM15.75 24c-.2 0-.389-.078-.53-.22-.292-.292-.292-.768 0-1.061l1.72-1.72H.75C.336 21 0 20.664 0 20.25s.336-.75.75-.75h16.189l-1.72-1.72c-.292-.292-.292-.768 0-1.061.142-.142.33-.22.53-.22s.389.078.53.22l3 3c.07.07.125.152.163.245.003.008.007.017.01.026.031.081.047.17.047.259 0 .087-.016.174-.046.258-.002.006-.004.011-.006.017-.042.104-.097.186-.167.256l-3 3C16.139 23.922 15.95 24 15.75 24zM8.25 15.75c-.2 0-.389-.078-.53-.22l-3-3c-.07-.07-.125-.152-.163-.245-.003-.008-.007-.017-.01-.026C4.516 12.174 4.5 12.088 4.5 12c0-.089.016-.176.048-.261.002-.007.005-.014.008-.021.04-.097.095-.179.166-.249L7.72 8.47c.142-.142.33-.22.53-.22s.389.078.53.22C8.922 8.611 9 8.8 9 9S8.922 9.389 8.78 9.53l-1.72 1.72H23.25c.414 0 .75.336.75.75s-.336.75-.75.75H7.061l1.72 1.72c.292.292.292.768 0 1.061C8.639 15.672 8.45 15.75 8.25 15.75z"/></svg></span>Migration guides</a> <a class="flex items-center py-[0.6rem] px-0" href="/tutorials/"><span class="inline-flex justify-center items-center mr-[1rem] w-7 h-7 bg-gradient-to-tr from-[#6ee218] to-[#00c687] shadow-[inset_0_0_0_1px_rgb(0,0,0,.05)] rounded-md"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" enable-background="new 0 0 24 24" version="1.1" viewBox="0 0 24 24" xml:space="preserve"><path d="M4.171,24c-1.034,0-1.932-0.701-2.183-1.704l-0.324-1.298C0.739,20.953,0,20.186,0,19.25v-4c0-0.88,0.653-1.611,1.5-1.732 V12.75c0-1.241,1.009-2.25,2.25-2.25h1.5c1.241,0,2.25,1.009,2.25,2.25v0.75H12V8.935C9.871,8.573,8.25,6.688,8.25,4.5 c0-2.481,2.019-4.5,4.5-4.5c2.481,0,4.5,2.019,4.5,4.5c0,2.188-1.621,4.073-3.75,4.435V13.5h8.75c0.965,0,1.75,0.785,1.75,1.75v4 c0,0.936-0.739,1.703-1.664,1.748l-0.324,1.298C21.76,23.299,20.863,24,19.829,24H4.171z M3.443,21.932 C3.527,22.267,3.826,22.5,4.171,22.5h15.658c0.344,0,0.644-0.234,0.727-0.568L20.79,21H3.21L3.443,21.932z M1.75,15 c-0.138,0-0.25,0.112-0.25,0.25v4c0,0.138,0.112,0.25,0.25,0.25h20.5c0.138,0,0.25-0.112,0.25-0.25v-4 c0-0.138-0.112-0.25-0.25-0.25H1.75z M6,13.5v-0.75C6,12.336,5.664,12,5.25,12h-1.5C3.336,12,3,12.336,3,12.75v0.75H6z M12.75,1.5 c-1.654,0-3,1.346-3,3s1.346,3,3,3c1.654,0,3-1.346,3-3S14.404,1.5,12.75,1.5z"/></svg></span>Tutorials</a> <a class="flex items-center py-[0.6rem] px-0" href="https://forum.ghost.org"><span class="inline-flex justify-center items-center mr-[1rem] w-7 h-7 bg-gradient-to-tr from-[#ffca00] to-[#ff8300] shadow-[inset_0_0_0_1px_rgb(0,0,0,.05)] rounded-md"><svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" enable-background="new 0 0 24 24" version="1.1" viewBox="0 0 24 24" xml:space="preserve"><path d="M2.25,10.5C1.009,10.5,0,9.491,0,8.25v-6C0,1.009,1.009,0,2.25,0h19.5C22.991,0,24,1.009,24,2.25v6 c0,1.241-1.009,2.25-2.25,2.25H2.25z M21.75,9c0.414,0,0.75-0.336,0.75-0.75v-6c0-0.414-0.336-0.75-0.75-0.75h-6V9H21.75z M2.25,1.5C1.836,1.5,1.5,1.836,1.5,2.25v6C1.5,8.664,1.836,9,2.25,9h12V1.5H2.25z"/><path d="M3.75 4.5C3.336 4.5 3 4.164 3 3.75S3.336 3 3.75 3h7.272c.414 0 .75.336.75.75s-.336.75-.75.75H3.75zM3.748 7.5C3.335 7.499 2.999 7.162 3 6.748 3.001 6.336 3.337 6 3.75 6l4.456.011c.413.001.749.338.748.752-.001.413-.337.748-.75.748L3.748 7.5zM19.5 7.5c-.2 0-.389-.078-.53-.22l-1.5-1.5c-.142-.141-.22-.33-.22-.53s.078-.389.22-.53l1.5-1.5C19.111 3.078 19.3 3 19.5 3s.389.078.53.22c.142.141.22.33.22.53s-.078.389-.22.53l-.97.97.97.97c.142.141.22.33.22.53s-.078.389-.22.53S19.7 7.5 19.5 7.5zM2.25 24C1.009 24 0 22.991 0 21.75v-6c0-1.241 1.009-2.25 2.25-2.25h19.5c1.241 0 2.25 1.009 2.25 2.25v6c0 1.241-1.009 2.25-2.25 2.25H2.25zM21.75 22.5c.414 0 .75-.336.75-.75v-6c0-.414-.336-.75-.75-.75h-6v7.5H21.75zM2.25 15c-.414 0-.75.336-.75.75v6c0 .414.336.75.75.75h12V15H2.25z"/><path d="M3.75 18C3.336 18 3 17.664 3 17.25s.336-.75.75-.75h7.272c.414 0 .75.336.75.75S11.436 18 11.022 18H3.75zM3.748 21C3.335 20.999 2.999 20.662 3 20.248 3.001 19.836 3.337 19.5 3.75 19.5l4.456.011c.2 0 .388.079.53.221.141.142.219.331.218.531-.001.412-.337.748-.75.748L3.748 21zM19.5 21c-.2 0-.389-.078-.53-.22l-1.5-1.5c-.292-.292-.292-.768 0-1.061l1.5-1.5c.142-.142.33-.22.53-.22s.389.078.53.22c.292.292.292.768 0 1.061l-.97.97.97.97c.292.292.292.768 0 1.061C19.889 20.922 19.7 21 19.5 21z"/></svg></span>Developer forum</a></div><div class="mx-0 mt-8 mb-0 text-sm"><h5 class="mb-[0.09rem] uppercase text-xs font-semibold tracking-wider text-base">Getting Started</h5><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/introduction/">Introduction</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/install/">Installation</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/hosting/">Hosting Guide</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/update/">Updates & Versions</a></div><div class="mx-0 mt-8 mb-0 text-sm"><h5 class="mb-[0.09rem] uppercase text-xs font-semibold tracking-wider text-base">Core Concepts</h5><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/product/">Overview</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/architecture/">Architecture</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/config/">Configuration</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/staff/">Staff users</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/publishing/">Publishing</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/members/">Memberships</a><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/recommendations/">Recommendations</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/newsletters/">Newsletters</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/security/">Security</a></div><div class="mx-0 mt-8 mb-0 text-sm"><h5 class="mb-[0.09rem] uppercase text-xs font-semibold tracking-wider text-base">Themes</h5><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/">Overview</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/structure/">Structure</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/contexts/">Contexts</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/assets/">Assets</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/helpers/">Helpers</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/content/">Content</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/search/">Search</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/members/">Members</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/routing/">Routing</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/custom-settings/">Custom settings</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/themes/gscan/">GScan</a></div><div class="mx-0 mt-8 mb-0 text-sm"><h5 class="mb-[0.09rem] uppercase text-xs font-semibold tracking-wider text-base">Advanced Tools</h5><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/ghost-cli/">Ghost CLI</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/content-api/">Content API</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/admin-api/">Admin API</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/jamstack/">JAMstack</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/webhooks/">Webhooks</a></div><div class="mx-0 mt-8 mb-0 text-sm"><h5 class="mb-[0.09rem] uppercase text-xs font-semibold tracking-wider text-base">Resources</h5><a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/faq/">FAQ</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/changes/">Breaking changes</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/contributing/">Contributing</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/license/">License</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/docs/logos/">Logos</a> <a class="block my-0 mt-0 ml-[-1rem] text-current leading-6 rounded hover:text-base hover:no-underline py-[.8rem] px-[1rem]" href="/trademark/">Trademark use</a></div><div class="h-[10vmin]" role="presentation"></div></div></div></nav><div class="gh-docscontent prose js-toc"><header><div class="gh-breadcrumbs"><a href="/docs/">Docs</a> <span>/</span> <a href="/docs/ghost-cli/">Ghost CLI</a> <span>/</span></div><h1 class="text-4xl text-base m-0">Ghost CLI</h1></header><div class="gh-docscontent-body"><p>A fully loaded tool to help you get Ghost installed and configured and to make it super easy to keep your Ghost install up to date.</p><p>Ghost-CLI is to makes it possible to install or update Ghost with a <em>single command</em>. In addition, it performs useful operations to assist with maintaining your environment, such as:</p><ul><li>Checking for common environment problems</li><li>Creating a <strong>logical folder structure</strong></li><li>Providing for production or development installs</li><li>Allowing for <strong>upgrades and rollbacks</strong></li><li>Handling <strong>user management and permissions</strong></li><li>Configuring Ghost</li><li>Configuring <strong>NGINX</strong></li><li>Setting up <strong>MySQL</strong></li><li>Configuring <strong>systemd</strong></li><li>Accessing Ghost log files</li><li>Managing existing Ghost installs</li></ul><hr><h2 id="install--update">Install & update</h2><p>Ghost-CLI is an npm module that can be installed via either npm.</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># On a production server using a non-root user:</span> </span></span><span class="line"><span class="cl">sudo npm install -g ghost-cli@latest </span></span></code></pre></div><p>Locally, you likely don’t need sudo. Using <code>@latest</code> means this command with either install or update ghost-cli and you only have to remember the one command for both ✨</p><h2 id="useful-options">Useful options</h2><p>There are some global flags you may find useful when using <code>ghost-cli</code>:</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Output usage information for Ghost-CLI</span> </span></span><span class="line"><span class="cl">ghost --help, ghost -h, ghost help, ghost <span class="o">[</span>command<span class="o">]</span> --help </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Enables the verbose logging output for debugging</span> </span></span><span class="line"><span class="cl">ghost --verbose, ghost -V </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Print your CLI version and Ghost version</span> </span></span><span class="line"><span class="cl">ghost --version, ghost -v, ghost version </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Run the command in a different directory</span> </span></span><span class="line"><span class="cl">ghost --dir path/to/directory </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Runs command without asking for any input</span> </span></span><span class="line"><span class="cl">ghost --no-prompt </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Runs command without using colours</span> </span></span><span class="line"><span class="cl">ghost --no-color </span></span></code></pre></div><h2 id="commands">Commands</h2><p>Below are the available commands in Ghost-CLI. You can always run <code>ghost --help</code> or <code>ghost [command] --help</code> to get more detail, or inline help for available options.</p><h3 id="ghost-config">Ghost config</h3><p><code>ghost config</code> accepts two optional arguments: <code>key</code> and <code>value</code>. Here are the three different combinations and what happens on each of them:</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Create a new config file for the particular env</span> </span></span><span class="line"><span class="cl">ghost config </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Find and return the value in the config for the key passed</span> </span></span><span class="line"><span class="cl">ghost config <span class="o">[</span>key<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Set a key and a value in the config file</span> </span></span><span class="line"><span class="cl">ghost config <span class="o">[</span>key<span class="o">]</span> <span class="o">[</span>value<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Set the url for your site</span> </span></span><span class="line"><span class="cl">ghost config url https://mysite.com </span></span></code></pre></div><p>The <code>ghost config</code> command only affects the configuration files. In order for your new config to be used, run <code>ghost restart</code>.</p><h4 id="options">Options</h4><p>If you’re using <code>ghost config</code> to generate a configuration file, you can supply multiple key-value pairs in the form of options to avoid being prompted for that value.</p><p>All of these options can also be passed to <code>ghost install</code> and <code>ghost setup</code> , as these commands call <code>ghost config</code>.</p><p>See the <a href="/docs/config/">config guide</a> or run <code>ghost config --help</code> for more detailed information.</p><h5 id="application-options">Application options</h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># URL of the site including protocol</span> </span></span><span class="line"><span class="cl">--url https://mysite.com </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Admin URL of the site</span> </span></span><span class="line"><span class="cl">--admin-url https://admin.mysite.com </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Port that Ghost should listen on</span> </span></span><span class="line"><span class="cl">--port <span class="m">2368</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># IP to listen on</span> </span></span><span class="line"><span class="cl">--ip 127.0.0.1 </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Transport to send log output to</span> </span></span><span class="line"><span class="cl">--log <span class="o">[</span><span class="s2">"file"</span>,<span class="s2">"stdout"</span><span class="o">]</span> </span></span></code></pre></div><h5 id="database-options">Database options</h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Type of database to use (SQLite3 or MySQL)</span> </span></span><span class="line"><span class="cl">--db </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># For SQLite3 we just need a path to database file</span> </span></span><span class="line"><span class="cl">--dbpath content/data/ghost_dev.db </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># For MySQL we need full credentials:</span> </span></span><span class="line"><span class="cl">--dbhost localhost </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Database user name</span> </span></span><span class="line"><span class="cl">--dbuser ghost </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Database password</span> </span></span><span class="line"><span class="cl">--dbpass **** </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Database name</span> </span></span><span class="line"><span class="cl">--dbname ghost_dev </span></span></code></pre></div><h5 id="mail-options">Mail options</h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Mail transport, E.g SMTP, Sendmail or Direct</span> </span></span><span class="line"><span class="cl">--mail SMTP </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Mail service (used with SMTP transport), E.g. Mailgun, Sendgrid, Gmail, SES...</span> </span></span><span class="line"><span class="cl">--mailservice Mailgun </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Mail auth user (used with SMTP transport)</span> </span></span><span class="line"><span class="cl">--mailuser postmaster@something.mailgun.org </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Mail auth pass (used with SMTP transport)</span> </span></span><span class="line"><span class="cl">--mailpass **** </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Mail host (used with SMTP transport)</span> </span></span><span class="line"><span class="cl">--mailhost smtp.eu.mailgun.org </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Mail port (used with SMTP transport)</span> </span></span><span class="line"><span class="cl">--mailport <span class="m">465</span> </span></span></code></pre></div><h5 id="service-options">Service options</h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Process manager to run with (local, systemd)</span> </span></span><span class="line"><span class="cl">--process <span class="nb">local</span> </span></span></code></pre></div><h4 id="debugging">Debugging</h4><p>In order for your new config to be used, run <code>ghost restart</code>.</p><hr><h3 id="ghost-install">Ghost install</h3><p>The <code>ghost install</code> command is your one-stop-shop to get a running production install of Ghost.</p><p>This command includes the necessary mysql, nginx and systemd configuration to get your publication online, and provides a series of setup questions to configure your new publication. The end result is a fully installed and configured instance ✨</p><blockquote><p>Not ready for production yet? <code>ghost install local</code> installs ghost in development mode using sqlite3 and a local process manager. Read more about <a href="/docs/install/local/">local installs</a>.</p></blockquote><h4 id="how-it-works">How it works</h4><p>The <code>ghost install</code> command runs a nested command structure, but you only ever have to enter a single command.</p><p>First, it will run <code>ghost doctor</code> to check your environment is compatible. If checks pass, a local folder is setup, and Ghost is then downloaded from npm and installed.</p><p>Next, <code>ghost setup</code> runs, which will provide <a href="/docs/install/ubuntu/#install-questions">prompts</a> for you to configure your new publication via the <code>ghost config</code> command, including creating a MySQL user, initialising a database, configure nginx and sets up SSL.</p><p>Finally, the CLI will prompt to see if you want to run Ghost and if you choose yes <code>ghost start</code> will run.</p><h4 id="arguments">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Install a specific version (1.0.0 or higher)</span> </span></span><span class="line"><span class="cl">ghost install <span class="o">[</span>version<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install version 2.15.0</span> </span></span><span class="line"><span class="cl">ghost install 2.15.0 </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install locally for development</span> </span></span><span class="line"><span class="cl">ghost install <span class="nb">local</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install version 2.15.0, locally for development</span> </span></span><span class="line"><span class="cl">ghost install 2.15.0 --local </span></span></code></pre></div><h4 id="options-1">Options</h4><p>As <code>ghost install</code> runs nested commands, it also accepts options for the <code>ghost doctor</code>, <code>ghost config</code>, <code>ghost setup</code> and <code>ghost start</code> commands.</p><p>See the individual command docs, or run <code>ghost install --help</code> for more detailed information.</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Get more information before running the command</span> </span></span><span class="line"><span class="cl">ghost install --help </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install in development mode for a staging env</span> </span></span><span class="line"><span class="cl">ghost install --development, ghost install -D </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Select the directory to install Ghost in</span> </span></span><span class="line"><span class="cl">ghost install --dir path/to/dir </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install Ghost from a specific archive (useful for testing or custom builds)</span> </span></span><span class="line"><span class="cl">ghost install --archive path/to/file.tgz </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable stack checks</span> </span></span><span class="line"><span class="cl">ghost install --no-stack </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install without running setup</span> </span></span><span class="line"><span class="cl">ghost install --no-setup </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install without starting Ghost</span> </span></span><span class="line"><span class="cl">ghost install --no-start </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Tells the process manager not to restart Ghost on server reboot</span> </span></span><span class="line"><span class="cl">ghost setup --no-enable </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install without prompting (disable setup, or pass all required parameters as arguments)</span> </span></span><span class="line"><span class="cl">ghost install --no-prompt </span></span></code></pre></div><h4 id="directory-structure">Directory structure</h4><p>When you install Ghost using Ghost-CLI, the local directory will be setup with a set of folders designed to keep the various parts of your install separate. After installing Ghost, you will have a folder structure like this which should not be changed:</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">. </span></span><span class="line"><span class="cl">├── .config.<span class="o">[</span>env<span class="o">]</span>.json <span class="c1"># The config file for your Ghost instance</span> </span></span><span class="line"><span class="cl">├── .ghost-cli <span class="c1"># Utility system file for Ghost CLI, don't modify</span> </span></span><span class="line"><span class="cl">├── /content <span class="c1"># Themes/images/content, not changed during updates</span> </span></span><span class="line"><span class="cl">├── /current <span class="c1"># A symlink to the currently active version of Ghost</span> </span></span><span class="line"><span class="cl">├── /system <span class="c1"># NGINX/systemd/SSL files on production installs</span> </span></span><span class="line"><span class="cl">└── /versions <span class="c1"># Installed versions of Ghost available roll forward/back to</span> </span></span></code></pre></div><hr><h3 id="ghost-setup">Ghost setup</h3><p><code>ghost setup</code> is the most useful feature of Ghost-CLI. In most cases you will never need to run it yourself, as it’s called automatically as a part of <code>ghost install</code>.</p><h4 id="how-it-works-1">How it works</h4><p>Setup configures your server ready for running Ghost in production. It assumes the <a href="/docs/install/ubuntu/#prerequisites/">recommended stack</a> and leaves your site in a production-ready state. Setup is broken down into stages:</p><ul><li><strong>mysql</strong> - create a specific MySQL user that is used only for talking to Ghost’s database.</li><li><strong>nginx</strong> - creates an nginx configuration</li><li><strong>ssl</strong> - setup SSL with letsencrypt, using <a href="https://github.com/Neilpang/acme.sh">acme.sh</a></li><li><strong>migrate</strong> - initialises the database</li><li><strong>linux-user</strong> - creates a special low-privilege <code>ghost</code> user for running Ghost</li></ul><h4 id="what-if-i-want-to-do-something-else">What if I want to do something else?</h4><p>The <code>Ghost-CLI</code> tool is designed to work with the recommended stack and is the only supported install method. However, since Ghost is a fully open-source project, and many users have different requirements, it is possible to setup and configure your site manually.</p><p>The CLI tool is flexible and each stage can be run individually by running <code>ghost setup <stage-name></code> or skipped by passing the <code>--no-setup-<stage-name></code> flag.</p><h4 id="arguments-1">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Run ghost setup with specific stages</span> </span></span><span class="line"><span class="cl">ghost setup <span class="o">[</span>stages...<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Creates a new mysql user with minimal privileges</span> </span></span><span class="line"><span class="cl">ghost setup mysql </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Creates an nginx config file in `./system/files/` and adds a symlink to `/etc/nginx/sites-enabled/`</span> </span></span><span class="line"><span class="cl">ghost setup nginx </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Creates an SSL service for Ghost</span> </span></span><span class="line"><span class="cl">ghost setup ssl </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Create an nginx and ssl setup together</span> </span></span><span class="line"><span class="cl">ghost setup nginx ssl </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Creates a low-privileged linux user called `ghost`</span> </span></span><span class="line"><span class="cl">ghost setup linux-user </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Creates a systemd unit file for your site</span> </span></span><span class="line"><span class="cl">ghost setup systemd </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Runs a database migration</span> </span></span><span class="line"><span class="cl">ghost setup migrate </span></span></code></pre></div><h4 id="options-2">Options</h4><p>As <code>ghost setup</code> runs nested commands, it also accepts options for the <code>ghost config</code>, <code>ghost start</code> and <code>ghost doctor</code> commands. Run <code>ghost setup --help</code> for more detailed information.</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Skips a setup stage</span> </span></span><span class="line"><span class="cl">ghost setup --no-setup-mysql </span></span><span class="line"><span class="cl">ghost setup --no-setup-nginx </span></span><span class="line"><span class="cl">ghost setup --no-setup-ssl </span></span><span class="line"><span class="cl">ghost setup --no-setup-systemd </span></span><span class="line"><span class="cl">ghost setup --no-setup-linux-user </span></span><span class="line"><span class="cl">ghost setup --no-setup-migrate </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Configure a custom process name should be (default: ghost-local)</span> </span></span><span class="line"><span class="cl">ghost setup --pname my-process </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable stack checks</span> </span></span><span class="line"><span class="cl">ghost setup --no-stack </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Setup without starting Ghost</span> </span></span><span class="line"><span class="cl">ghost setup --no-start </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Tells the process manager not to restart Ghost on server reboot</span> </span></span><span class="line"><span class="cl">ghost setup --no-enable </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install without prompting (must pass all required parameters as arguments)</span> </span></span><span class="line"><span class="cl">ghost setup --no-prompt </span></span></code></pre></div><hr><h3 id="ghost-start">Ghost start</h3><p>Running <code>ghost start</code> will start your site in background using the configured process manager. The default process manager is <strong>systemd</strong>, or local for local installs.</p><p>The command must be executed in the directory where the Ghost instance you are trying to start lives, or passed the correct directory using the <code>--dir</code> option.</p><h4 id="options-3">Options</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Start running the Ghost instance in a specific directory</span> </span></span><span class="line"><span class="cl">ghost start --dir /path/to/site/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Start ghost in development mode</span> </span></span><span class="line"><span class="cl">ghost start -D, ghost start --development </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Tells the process manager to restart Ghost on server reboot</span> </span></span><span class="line"><span class="cl">ghost start --enable </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Tells the process manager not to restart Ghost on server reboot</span> </span></span><span class="line"><span class="cl">ghost start --no-enable </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable memory availability checks in ghost doctor</span> </span></span><span class="line"><span class="cl">ghost start --no-check-mem </span></span></code></pre></div><h4 id="debugging-1">Debugging</h4><p>If running <code>ghost start</code> gives an error, try use <code>ghost run</code> to start Ghost without using the configured process manager. This runs Ghost directly, similar to <code>node index.js</code>. All the output from Ghost will be written directly to your terminal, showing up any uncaught errors or other output that might not appear in log files.</p><hr><h3 id="ghost-stop">Ghost stop</h3><p>Running <code>ghost stop</code> stops the instance of Ghost running in the current directory. Alternatively it can be passed the name of a particular ghost instance or directory. You can always discover running Ghost instances using <code>ghost ls</code>.</p><h4 id="arguments-2">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Stop Ghost in the current folder</span> </span></span><span class="line"><span class="cl">ghost stop </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Stop a specific Ghost instance (use ghost ls to find the name)</span> </span></span><span class="line"><span class="cl">ghost stop <span class="o">[</span>name<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Stop the Ghost instance called ghost-local</span> </span></span><span class="line"><span class="cl">ghost stop ghost-local </span></span></code></pre></div><h4 id="options-4">Options</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Stop all running Ghost instances</span> </span></span><span class="line"><span class="cl">ghost stop --all </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Stop running the Ghost instance in a specific directory</span> </span></span><span class="line"><span class="cl">ghost stop --dir /path/to/site/ </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Tells the process manager that Ghost should not start on server reboot</span> </span></span><span class="line"><span class="cl">ghost stop --disable </span></span></code></pre></div><hr><h3 id="ghost-restart">Ghost restart</h3><p>Running <code>ghost restart</code> will stop and then start your site using the configured process manager. The default process manager is systemd, or local for local installs.</p><p>The command must be executed in the directory where the Ghost instance you are trying to start lives, or passed the correct directory using the <code>--dir</code> option.</p><h4 id="options-5">Options</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Start running the Ghost instance in a specific directory</span> </span></span><span class="line"><span class="cl">ghost restart --dir /path/to/site/ </span></span></code></pre></div><h4 id="debugging-2">Debugging</h4><p>If running <code>ghost restart</code> gives an error, try using <code>ghost run</code> to debug the error.</p><hr><h3 id="ghost-update">Ghost update</h3><p>Run <code>ghost update</code> to upgraded to new versions of Ghost, which are typically released every 1-2 weeks.</p><h4 id="arguments-3">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Update to the latest version</span> </span></span><span class="line"><span class="cl">ghost update </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Update to a specific version (1.0.0 or higher)</span> </span></span><span class="line"><span class="cl">ghost update <span class="o">[</span>version<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Update to version 2.15.0</span> </span></span><span class="line"><span class="cl">ghost update 2.15.0 </span></span></code></pre></div><h4 id="options-6">Options</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># If an upgrade goes wrong, use the rollback flag</span> </span></span><span class="line"><span class="cl">ghost update --rollback </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Install and re-download the latest version of Ghost</span> </span></span><span class="line"><span class="cl">ghost update --force </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Force install a specific version of Ghost</span> </span></span><span class="line"><span class="cl">ghost update <span class="o">[</span>version<span class="o">]</span> --force </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Updates to the latest within v1</span> </span></span><span class="line"><span class="cl">ghost update --v1 </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Don't restart after upgrading</span> </span></span><span class="line"><span class="cl">ghost update --no-restart </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable the automatic rollback on failure</span> </span></span><span class="line"><span class="cl">ghost update --no-auto-rollback </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Upgrade Ghost from a specific zip (useful for testing or custom builds)</span> </span></span><span class="line"><span class="cl">ghost update --zip path/to/file.zip </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable memory availability checks in ghost doctor</span> </span></span><span class="line"><span class="cl">ghost update --no-check-mem </span></span></code></pre></div><h4 id="major-updates">Major updates</h4><p>Every 12-18 months we release a <a href="/docs/faq/major-versions-lts/">major version</a> which breaks backwards compatibility and requires a more involved upgrade process, including backups and theme compatibility.</p><p>Use the <a href="/docs/update/">update documentation</a> as a guide to the necessary steps for a smooth upgrade experience.</p><h4 id="debugging-3">Debugging</h4><p>If running <code>ghost update</code> gives an error, try using <code>ghost run</code> to debug the error.</p><hr><h3 id="ghost-backup">Ghost backup</h3><p>Run <code>ghost backup</code> to generate a zip file backup of your site data.</p><h4 id="how-it-works-2">How it works</h4><p>When performing manual updates it’s recommended to make frequent backups, so if anything goes wrong, you’ll still have all your data. This is especially important when <a href="/docs/update/">updating</a> to the latest major version.</p><p>This command creates a full backup of your site data, including:</p><ul><li>Your content in JSON format</li><li>A full member CSV export</li><li>All themes that have been installed including your current active theme</li><li>Images, files, and media (video and audio)</li><li>A copy of <code>routes.yaml</code> and <code>redirects.yaml</code> or <code>redirects.json</code></li></ul><p>Read more about how to <a href="/docs/faq/manual-backup/">manually download your site data</a>.</p><hr><h3 id="ghost-doctor">Ghost doctor</h3><p>Running <code>ghost doctor</code> will check the system for potential hiccups when installing or updating Ghost.</p><p>This command allows you to use <code>ghost-cli</code> as a diagnostic tool to find potential issues for your Ghost install, and provides information about what needs to be resolved if any issues arise.</p><p>The CLI automatically runs this command when installing, updating, starting or setting up ghost - and you can use is manually with <code>ghost doctor</code>.</p><h4 id="arguments-4">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Check is the required config file exists and validates it's values</span> </span></span><span class="line"><span class="cl">ghost doctor startup </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Check if the setup process was successful</span> </span></span><span class="line"><span class="cl">ghost doctor setup </span></span></code></pre></div><h4 id="options-7">Options</h4><p>Run <code>ghost doctor --help</code> for more detailed information.</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Disable the memory availability checks</span> </span></span><span class="line"><span class="cl">ghost doctor --no-check-mem </span></span></code></pre></div><hr><h3 id="ghost-ls">Ghost ls</h3><p>The <code>ghost ls</code> command lists all Ghost sites and their status from the <code>~/.ghost/config</code> file. This is useful if you can’t remember where you installed a particular instance of Ghost, or are working with multiple instances (local, production, staging and so on).</p><h4 id="output">Output</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Development</span> </span></span><span class="line"><span class="cl">> ghost ls </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl">┌────────────────┬─────────────────────────────────┬─────────┬─────────────────────-─┬─────┬──────-┬─────────────────┐ </span></span><span class="line"><span class="cl">│ Name │ Location │ Version │ Status │ URL │ Port │ Process Manager │ </span></span><span class="line"><span class="cl">├────────────────┼─────────────────────────────────┼─────────┼─────────────────────-─┼─────┼──────-┼─────────────────┤ </span></span><span class="line"><span class="cl">│ ghost-local │ ~/Sites/cli-test │ 1.22.1 │ stopped │ n/a │ n/a │ n/a │ </span></span><span class="line"><span class="cl">├────────────────┼─────────────────────────────────┼─────────┼─────────────────────-─┼─────┼──────-┼─────────────────┤ </span></span><span class="line"><span class="cl">│ ghost-local-2 │ ~/Sites/theme-dev │ 2.12.0 │ stopped │ n/a │ n/a │ n/a │ </span></span><span class="line"><span class="cl">├────────────────┼─────────────────────────────────┼─────────┼─────────────────────-─┼─────┼──────-┼─────────────────┤ </span></span><span class="line"><span class="cl">│ ghost-local-3 │ ~/Sites/new-theme │ 2.20.0 │ running <span class="o">(</span>development<span class="o">)</span> │ │ <span class="m">2368</span> │ <span class="nb">local</span> │ </span></span><span class="line"><span class="cl">└────────────────┴─────────────────────────────────┴─────────┴──────────────────────-┴─────┴─────-─┴─────────────────┘ </span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Production</span> </span></span><span class="line"><span class="cl">> ghost ls </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl">+ sudo systemctl is-active ghost_my-ghost-site </span></span><span class="line"><span class="cl">┌───────────────┬────────────────┬─────────┬──────────────────────┬─────────────────────────--┬──────┬─────────────────┐ </span></span><span class="line"><span class="cl">│ Name │ Location │ Version │ Status │ URL │ Port │ Process Manager │ </span></span><span class="line"><span class="cl">├───────────────┼────────────────┼─────────┼──────────────────────┼─────────────────────────--┼──────┼─────────────────┤ </span></span><span class="line"><span class="cl">│ my-ghost-site │ /var/www/ghost │ 2.1.2 │ running <span class="o">(</span>production<span class="o">)</span> │ https://my-ghost-site.org │ <span class="m">2368</span> │ systemd │ </span></span><span class="line"><span class="cl">└───────────────┴────────────────┴─────────┴──────────────────────┴─────────────────────────--┴──────┴─────────────────┘ </span></span></code></pre></div><hr><h3 id="ghost-log">Ghost log</h3><p>View the access and error logs from your Ghost site (not the CLI). By default <code>ghost log</code> outputs the last 20 lines from the access log file for the site in the current folder.</p><p>Ghost’s default log config creates log files in the <code>content/logs</code> directory, and creates two different files:</p><ol><li>An <strong>access log</strong> that contains all log levels, named e.g. <code>[site_descriptor].log</code></li><li>An <strong>error log</strong> that contains error-level logs <em>only</em>, named e.g. <code>[site_descriptor].error.log</code></li></ol><p>The site descriptor follows the pattern <code>[proto]__[url]__[env]</code> e.g. <code>http__localhost_2368__development</code> or <code>https__mysite_com__production</code>. The files are be rotated, therefore you may see many numbered files in the <code>content/logs</code> directory.</p><h4 id="arguments-5">Arguments</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># View last 20 lines of access logs</span> </span></span><span class="line"><span class="cl">ghost log </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># View logs for a specific Ghost instance (use ghost ls to find the name)</span> </span></span><span class="line"><span class="cl">ghost log <span class="o">[</span>name<span class="o">]</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># View logs for the Ghost instance called ghost-local</span> </span></span><span class="line"><span class="cl">ghost log ghost-local </span></span></code></pre></div><h4 id="options-8">Options</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Show 100 log lines</span> </span></span><span class="line"><span class="cl">ghost log -n 100, ghost log --number <span class="m">100</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Show only the error logs</span> </span></span><span class="line"><span class="cl">ghost log -e, ghost log --error </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Show 50 lines of the error log</span> </span></span><span class="line"><span class="cl">ghost log -n <span class="m">50</span> -e </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Follow the logs (e.g like tail -f)</span> </span></span><span class="line"><span class="cl">ghost log -f, ghost log --follow </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Follow the error log</span> </span></span><span class="line"><span class="cl">ghost log -fe </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Show logs for the Ghost instance in a specific directory</span> </span></span><span class="line"><span class="cl">ghost log --dir /path/to/site/ </span></span></code></pre></div><h4 id="debugging-4">Debugging</h4><p>There may be some output from Ghost that doesn’t appear in the log files, so for debugging purposes you may also want to try the <a href="/docs/ghost-cli#ghost-run">ghost run</a> command.</p><p>If you have a custom log configuration the <code>ghost log</code> command may not work for you. In particular the <code>ghost log</code> command requires that file logging is enabled. See the <a href="/docs/config/#logging">logging configuration docs</a> for more information.</p><hr><h3 id="ghost-uninstall">Ghost uninstall</h3><p><strong>Use with caution</strong> - this command completely removes a Ghost install along with all of its related data and config. There is no recovery from this if you have no backups.</p><p>The command <code>ghost uninstall</code> must be executed in the directory containing the Ghost install that you would like to remove. The following tasks are performed:</p><ul><li>stop ghost</li><li>disable systemd if necessary</li><li>remove the <code>content</code> folder</li><li>remove any related systemd or nginx configuration</li><li>remove the remaining files inside the install folder</li></ul><blockquote><p>Running <code>ghost uninstall --no-prompt</code> or <code>ghost uninstall --force</code> will skip the warning and remove Ghost without a prompt.</p></blockquote><hr><h3 id="ghost-help">Ghost help</h3><p>Use the help command to access a list of possible <code>ghost-cli</code> commands when required.</p><p>This command is your port of call when you want to discover a list of available commands in the Ghost-CLI. You can call it at any time ✨</p><h4 id="output-1">Output</h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Commands: </span></span><span class="line"><span class="cl"> ghost buster Who ya gonna call? <span class="o">(</span>Runs <span class="sb">`</span>yarn cache clean<span class="sb">`</span><span class="o">)</span> </span></span><span class="line"><span class="cl"> ghost config <span class="o">[</span>key<span class="o">]</span> <span class="o">[</span>value<span class="o">]</span> View or edit Ghost configuration </span></span><span class="line"><span class="cl"> ghost doctor <span class="o">[</span>categories..<span class="o">]</span> Check the system <span class="k">for</span> any potential hiccups when installing/updating </span></span><span class="line"><span class="cl"> Ghost </span></span><span class="line"><span class="cl"> ghost install <span class="o">[</span>version<span class="o">]</span> Install a brand new instance of Ghost </span></span><span class="line"><span class="cl"> ghost log <span class="o">[</span>name<span class="o">]</span> View the logs of a Ghost instance </span></span><span class="line"><span class="cl"> ghost ls View running ghost processes </span></span><span class="line"><span class="cl"> ghost migrate Run system migrations on a Ghost instance </span></span><span class="line"><span class="cl"> ghost restart Restart the Ghost instance </span></span><span class="line"><span class="cl"> ghost run Run a Ghost instance directly <span class="o">(</span>used by process managers and <span class="k">for</span> </span></span><span class="line"><span class="cl"> debugging<span class="o">)</span> </span></span><span class="line"><span class="cl"> ghost setup <span class="o">[</span>stages..<span class="o">]</span> Setup an installation of Ghost <span class="o">(</span>after it is installed<span class="o">)</span> </span></span><span class="line"><span class="cl"> ghost start Start an instance of Ghost </span></span><span class="line"><span class="cl"> ghost stop <span class="o">[</span>name<span class="o">]</span> Stops an instance of Ghost </span></span><span class="line"><span class="cl"> ghost uninstall Remove a Ghost instance and any related configuration files </span></span><span class="line"><span class="cl"> ghost update <span class="o">[</span>version<span class="o">]</span> Update a Ghost instance </span></span><span class="line"><span class="cl"> ghost version Prints out Ghost-CLI version <span class="o">(</span>and Ghost version <span class="k">if</span> one exists<span class="o">)</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl">Global Options: </span></span><span class="line"><span class="cl"> --help Show <span class="nb">help</span> <span class="o">[</span>boolean<span class="o">]</span> </span></span><span class="line"><span class="cl"> -d, --dir Folder to run <span class="nb">command</span> in </span></span><span class="line"><span class="cl"> -D, --development Run in development mode <span class="o">[</span>boolean<span class="o">]</span> </span></span><span class="line"><span class="cl"> -V, --verbose Enable verbose output <span class="o">[</span>boolean<span class="o">]</span> </span></span><span class="line"><span class="cl"> --prompt <span class="o">[</span>--no-prompt<span class="o">]</span> Allow/Disallow UI prompting <span class="o">[</span>boolean<span class="o">]</span> <span class="o">[</span>default: true<span class="o">]</span> </span></span><span class="line"><span class="cl"> --color <span class="o">[</span>--no-color<span class="o">]</span> Allow/Disallow colorful logging <span class="o">[</span>boolean<span class="o">]</span> <span class="o">[</span>default: true<span class="o">]</span> </span></span><span class="line"><span class="cl"> --auto Automatically run as much as possible <span class="o">[</span>boolean<span class="o">]</span> <span class="o">[</span>default: false<span class="o">]</span> </span></span></code></pre></div><h4 id="options-9">Options</h4><p>It’s also possible to run <code>ghost install --help</code> and <code>ghost setup --help</code> to get a specific list of commands and help for the install and setup processes. Don’t worry - you got this! 💪</p><hr><h2 id="knowledgebase">Knowledgebase</h2><h3 id="ssl">SSL</h3><p>The CLI generates a free SSL certificate from <a href="#lets-encrypt">Let’s Encrypt</a> using <a href="#lets-encrypt">acme.sh</a> and a secondary NGINX config file to serve https traffic via port 443.</p><h5 id="ssl-configuration">SSL configuration</h5><p>After a successful ssl setup, you can find your ssl certificate in <code>/etc/letsencrypt</code>.</p><h5 id="ssl-for-additional-domains">SSL for additional domains</h5><p>You may wish to have multiple domains that redirect to your site, e.g. to have an extra TLD or to support www. domains. <strong>Ghost itself can only ever have one domain pointed at it.</strong> This is intentional for SEO purposes, however you can always redirect extra domains to your Ghost install using nginx.</p><p>If you want to redirect an HTTPS domain, you must have a certificate for it. If you want to use Ghost-CLI to generate an extra SSL setup, follow this guide:</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Determine your secondary URL</span> </span></span><span class="line"><span class="cl">ghost config url https://my-second-domain.com </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Get Ghost-CLI to generate an SSL setup for you:</span> </span></span><span class="line"><span class="cl">ghost setup nginx ssl </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Change your config back to your canonical domain</span> </span></span><span class="line"><span class="cl">ghost config url https://my-canonical-domain.com </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Edit the nginx config files for your second domain to redirect to your canonical domain. In both files replace the content of the first location block with:</span> </span></span><span class="line"><span class="cl"><span class="k">return</span> <span class="m">301</span> https://my-canonical-domain.com<span class="nv">$request_uri</span><span class="p">;</span> </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Get nginx to verify your config</span> </span></span><span class="line"><span class="cl">sudo nginx -t </span></span><span class="line"><span class="cl"> </span></span><span class="line"><span class="cl"><span class="c1"># Reload nginx with your new config</span> </span></span><span class="line"><span class="cl">sudo nginx -s reload </span></span></code></pre></div><h5 id="lets-encrypt">Let’s Encrypt</h5><p><a href="https://letsencrypt.org/">Let’s Encrypt</a> provides SSL certificates that are accepted by browsers free of charge! This is provided by the non-profit Internet Security Research Group (ISRG). The Ghost-CLI will offer you to generate a free SSL certificate as well as renew it every 60 days.</p><p>Ghost uses <a href="https://github.com/Neilpang/acme.sh">acme.sh</a> for provisioning and renewing SSL certificates from Let’s Encrypt. You can call <code>acme.sh</code> manually if you need to perform extra tasks. The following command will output all available options:</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/etc/letsencrypt/acme.sh --home <span class="s2">"/etc/letsencrypt"</span> </span></span></code></pre></div><h3 id="systemd">Systemd</h3><p><code>systemd</code> is the default way of starting and stopping applications on Ubuntu. The advantage is that if Ghost crashes, <code>systemd</code> will restart your instance. This is the default recommended process manager.</p><h3 id="permissions">Permissions</h3><p>Ghost-CLI will create a new system user and user-group called <code>ghost</code> during the installation process. The <code>ghost</code> user will be used to run your Ghost process in <code>systemd</code>.</p><p>This means that Ghost will run with a user that has no system-wide permissions or a shell that can be used (similar to other services such as NGINX). Sudo is required to modify files in the The <code><install-directory>/content/</code>.</p><p>To prevent accidental permissions changes, it’s advisable to execute tasks such as image upload or theme upload using Ghost admin.</p><h4 id="file-permissions">File Permissions</h4><p>The <code>ghost-cli</code> enforces default linux permissions (via <code>ghost doctor</code> hooks) for installations.</p><ul><li>For normal users, default directory permissions are 775, and default file permissions are 664.</li><li>For root users, default directory permissions are 755, and default file permissions are 644.</li></ul><p>Running ghost install as the non-root user will result in directories created with 775 (<code>drwxrwxr-x</code>) permissions and file with 664 (<code>-rw-rw-r--</code>) permissions.</p><p>These file permissions don’t need to be changed. The only change that is executed by ghost-cli is changing ownership, file permissions stay untouched.</p><p>If permissions were changed, the following two commands will revert file and directory permissions to the ones of a non-root user.</p><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo find /var/www/ghost/* -type d -exec chmod <span class="m">775</span> <span class="o">{}</span> <span class="se">\;</span> </span></span><span class="line"><span class="cl">sudo find /var/www/ghost/* -type f -exec chmod <span class="m">664</span> <span class="o">{}</span> <span class="se">\;</span> </span></span></code></pre></div><p>The cli doesn’t support directory flags such as <code>setuid</code> and <code>setguid</code>). If your commands keep failing because of file permissions, ensure your directories have no flags!</p></div></div><aside class="gh-docstoc"><div class="gh-docstoc-widget"><h5>On this page</h5><div class="toc overflow-auto max-h-[calc(100vh-240px)]"></div></div></aside></div></div></main><div class="py-[14vmin] text-center bg-base text-gray-400 font-semibold"><div class="max-w-8xl mx-auto flex flex-col items-center gap-6"><h2 class="text-xs md:text-md font-semibold text-lime-900 uppercase tracking-widest">Launch your site</h2><p class="text-2xl md:text-5xl font-hdg leading-tight">Last week, <span class="text-white font-bold">6,195</span> brand new<br>publications got started with Ghost.</p><p class="text-2xl md:text-5xl font-hdg leading-tight"><span class="text-white font-bold">Today, it's your turn.</span></p><a class="plausible-event-name=Signup-CTA-clicked mt-10 text-xl text-black font-semibold font-hdg py-4 px-6 rounded-lg bg-lime-900" href="https://account.ghost.org/signup/">Start a free trial now →</a></div></div><div class="bg-base px-4 sm:px-6"><div class="max-w-8xl mx-auto text-slate-400 text-md"><div class="flex justify-center sm:justify-between items-center py-[4vmin]"><nav class="flex justify-start items-center font-medium text-white text-sm sm:text-md"><a class="pr-4 hover:text-lime-900 hidden sm:block" href="/" class="gh-nav-logo"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 294" preserveAspectRatio="xMidYMid meet" class="ghost-orb-logo-light" height="40px"> <title>Ghost Logo</title> <style> svg.ghost-orb-logo-light { background-size: 100% 100%; background-repeat: no-repeat; background-image: url(/images/logos/ghost-logo-light.webp); } </style> </svg></a><a class="px-4 hover:text-lime-900" href="/about/">About</a> <a class="px-4 hover:text-lime-900" href="/explore/">Explore</a> <a class="px-4 hover:text-lime-900" href="https://careers.ghost.org/" target="_blank" rel="noopener noreferrer">Careers</a> <a class="px-4 hover:text-lime-900" href="https://ghost.org/resources/">Resources</a></nav><iframe class="hidden sm:block" src="https://ghbtns.com/github-btn.html?user=tryghost&repo=ghost&type=star&count=true" frameborder="0" scrolling="0" width="110" height="20" title="Star Ghost on GitHub" loading="lazy"></iframe></div><div class="hidden sm:grid gap-[4vmin] grid-cols-3 md:grid-cols-4 lg:grid-cols-5 mt-[4vmin] justify-start pb-[5vmin]"><section><span class="text-white font-medium mb-1">Product</span><ul class="text-md"><li><a class="block py-2 leading-tight hover:text-white" href="/">Creator platform</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/marketplace/">Theme marketplace</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/integrations/">Integrations</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/experts/">Experts</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/news/">Ghost for news</a></li></ul></section><section><span class="text-white font-medium mb-1">Developers</span><ul class="text-md"><li><a class="block py-2 leading-tight hover:text-white" href="/docs/install/">How to install Ghost</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/docs/">Core concepts</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/pricing/">Ghost hosting</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/docs/content-api/">API documentation</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/docs/security/">Security overview</a></li><li><a class="block py-2 leading-tight hover:text-white" href="https://github.com/TryGhost/Ghost" target="_blank" rel="noopener noreferrer">Source code</a></li></ul></section><section class="hidden md:block"><span class="text-white font-medium mb-1">Resources</span><ul class="text-md"><li><a class="block py-2 leading-tight hover:text-white" href="/tutorials/">Ghost tutorials</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/resources/">Resources</a></li><li><a class="block py-2 leading-tight hover:text-white" href="https://nodecms.guide" target="_blank" rel="noopener noreferrer">Node.js CMS guide</a></li><li><a class="block py-2 leading-tight hover:text-white" href="https://opensubscriptionplatforms.com">Open Subscription Platforms</a></li></ul></section><section class="hidden lg:block"><span class="text-white font-medium mb-1">Comparisons</span><ul class="text-md"><li><a class="block py-2 leading-tight hover:text-white" href="/vs/substack/">Ghost vs Substack</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/vs/wordpress/">Ghost vs WordPress</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/vs/medium/">Ghost vs Medium</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/vs/memberful/">Ghost vs Memberful</a></li><li><a class="block py-2 leading-tight hover:text-white" href="/vs/patreon/">Ghost vs Patreon</a></li><li><a class="block py-2 leading-tight text-lime-900" href="/alternatives/" class="lime">Ghost alternatives →</a></li></ul></section><section><span class="text-white font-medium mb-1">Support</span><ul class="text-md"><li><a class="block py-2 leading-tight hover:text-white" href="/help/">Help center</a></li><li><a class="block py-2 leading-tight hover:text-white" href="https://forum.ghost.org/">Community forum</a></li><li><a class="inline-flex items-center py-2 hover:text-white group" href="https://status.ghost.org/" target="_blank" rel="noopener noreferrer">Status <span class="flex-grow-0 inline-flex items-center bg-slate-700 text-slate-300 group-hover:text-slate-300 rounded px-1 text-xs font-semibold"><svg width="7" height="4" viewBox="0 0 7 4" xmlns="http://www.w3.org/2000/svg"> <title> Triangle </title> <path d="M3.5 0L7 4H0z" fill="#BFD0DC" fill-rule="evenodd"/> </svg> 99.9%</span></a></li></ul></section></div><div class="flex flex-col sm:flex-row items-center justify-center sm:justify-between py-[8vmin]"><div class="flex items-center"><a class="mr-12" href="/about/"><img src="/images/logos/indie.svg" alt="Non-Profit Foundation" width="89" height="34" loading="lazy"></a> <a class="mr-12" href="https://github.com/tryghost" target="_blank" rel="noopener noreferrer"><img src="/images/logos/opensource.svg" alt="Open Source" width="89" height="34" loading="lazy"></a> <a href="https://climate.stripe.com/6MNofu" target="_blank" rel="noopener noreferrer"><img src="/images/logos/carbonneutral.svg" alt="Carbon Neutral" width="102" height="34" loading="lazy"></a></div><nav class="hidden md:flex items-center text-sm"><a class="inline-block px-2 hover:text-white" href="/terms/">Terms</a> <a class="inline-block px-2 hover:text-white" href="/privacy/">Privacy</a> <a class="inline-block px-2 hover:text-white" href="/contact/">Contact</a> <a class="inline-block pl-2 hover:text-white" href="/">Ghost Foundation © 2024</a></div></div></div></div><div class="fixed bottom-0 left-0 right-0 -z-10 bg-base h-80"></div></div><link rel="preload" href="https://ghost.org/js/docs.min.js" as="script"><script type="text/javascript" src="https://ghost.org/js/docs.min.js"></script> <link rel="preload" href="https://ghost.org/js/app.min.js" as="script"><script type="text/javascript" src="https://ghost.org/js/app.min.js"></script> <script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="b54082da-718e-4f06-bca9-6a862fa09e20" data-netlify-deploy-branch="main" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiYjU0MDgyZGEtNzE4ZS00ZjA2LWJjYTktNmE4NjJmYTA5ZTIwIiwiYWNjb3VudF9pZCI6IjViOWE1YTVkZGQyOGVmNzJjZGI1ZDkyMyIsImRlcGxveV9pZCI6IjY3M2RkMjI0NjdkYTQ4MDAwOGUxNzZmNCIsImlzc3VlciI6Im5mc2VydmVyIn0.CqEmRwqMiGngoVBiZ0BmzndECJP5Fb0eLYRUQH_3I2g"></script></body></html>