congo/docs/hosting-deployment/index.html

80 lines
39 KiB
HTML
Raw Normal View History

<!doctype html><html lang=en-AU dir=ltr class=scroll-smooth data-default-appearance=light data-auto-appearance=true><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="rgb(255,255,255)"><title>Hosting & Deployment &middot; Congo</title>
<meta name=title content="Hosting & Deployment &middot; Congo"><script type=text/javascript src=/congo/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js integrity="sha256-Ai0OvDtGozXrHH73m38t4UPXzVFW1DNjhZLvHOX4VU4="></script><link type=text/css rel=stylesheet href=/congo/css/main.bundle.min.8cd4199ad423a763e2dd42a32c20643d8eb472bc550188be85b60444140826dd.css integrity="sha256-jNQZmtQjp2Pi3UKjLCBkPY60crxVAYi+hbYERBQIJt0="><script defer type=text/javascript id=script-bundle src=/congo/js/main.bundle.min.fba363b244ec92c2d7b9de42d4cebd0b8994fd07279923c5929eb4dc3d055606.js integrity="sha256-+6NjskTsksLXud5C1M69C4mU/QcnmSPFkp603D0FVgY=" data-copy=Copy data-copied=Copied></script><meta name=description content="
Learn how to deploy a Congo site.
"><link rel=canonical href=https://jpanther.github.io/congo/docs/hosting-deployment/><link rel=apple-touch-icon sizes=180x180 href=/congo/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/congo/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/congo/favicon-16x16.png><link rel=manifest href=/congo/site.webmanifest><meta property="og:title" content="Hosting & Deployment"><meta property="og:description" content="Learn how to deploy a Congo site."><meta property="og:type" content="article"><meta property="og:url" content="https://jpanther.github.io/congo/docs/hosting-deployment/"><meta property="article:section" content="docs"><meta property="article:published_time" content="2020-08-07T00:00:00+00:00"><meta property="article:modified_time" content="2020-08-07T00:00:00+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="Hosting & Deployment"><meta name=twitter:description content="Learn how to deploy a Congo site."><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","articleSection":"Documentation","name":"Hosting \u0026 Deployment","headline":"Hosting \u0026 Deployment","description":"Learn how to deploy a Congo site.","abstract":"Congo is designed to be flexible in almost any deployment scenario. Learn more about how to deploy your project to some common hosting platforms.","inLanguage":"en-AU","url":"https:\/\/jpanther.github.io\/congo\/docs\/hosting-deployment\/","author":{"@type":"Person","name":"Congo"},"copyrightYear":"2020","dateCreated":"2020-08-07T00:00:00\u002b00:00","datePublished":"2020-08-07T00:00:00\u002b00:00","dateModified":"2020-08-07T00:00:00\u002b00:00","keywords":["hosting","deployment","docs","github","netlify","render"],"mainEntityOfPage":"true","wordCount":"837"}</script><meta name=author content="Congo"><link href=https://twitter.com/ rel=me><link href=https://facebook.com/ rel=me><link href=https://linkedin.com/ rel=me><link href=https://youtube.com/ rel=me></head><body class="m-auto flex h-screen max-w-7xl flex-col bg-neutral px-6 text-lg leading-7 text-neutral-900 sm:px-14 md:px-24 lg:px-32 dark:bg-neutral-800 dark:text-neutral"><div id=the-top class="absolute flex self-center"><a class="-translate-y-8 rounded-b-lg bg-primary-200 px-3 py-1 text-sm focus:translate-y-0 dark:bg-neutral-600" href=#main-content><span class="pe-2 font-bold text-primary-600 dark:text-primary-400">&darr;</span>Skip to main content</a></div><header class="py-6 font-semibold text-neutral-900 print:hidden sm:py-10 dark:text-neutral"><nav class="flex items-start justify-between sm:items-center"><div class="flex flex-row items-center"><a class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" rel=me href=/congo/>Congo</a></div><ul class="flex list-none flex-col text-end sm:flex-row"><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/docs/ title><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">Docs</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/samples/ title><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">Samples</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/users/ title><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">Users</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=https://github.com/jpanther/congo title target=_blank><span class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentcolor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6.0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6.0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6
<span class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"><span class="icon relative inline-block px-1 align-text-bottom"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
</span></span><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"></span></button></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><div class="group relative"><button class="group-dark:hover:text-primary-400 flex w-full items-center justify-end transition-colors group-hover:text-primary-600">
<span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentcolor" d="M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z"/><path fill="currentcolor" d="M0 2a2 2 0 012-2h7a2 2 0 012 2v3h3a2 2 0 012 2v7a2 2 0 01-2 2H7a2 2 0 01-2-2v-3H2A2 2 0 010 9V2zm2-1A1 1 0 001 2v7a1 1 0 001 1h7a1 1 0 001-1V2A1 1 0 009 1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066.0 01-.415-.492 1.988 1.988.0 01-.94.31z"/></svg>
</span><span class=text-sm>EN</span><span class=text-[0.6rem]><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3.0l192-192c12.5-12.5 12.5-32.8.0-45.3s-32.8-12.5-45.3.0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3.0s-12.5 32.8.0 45.3l192 192z"/></svg></span></span></button><div class="invisible w-full bg-transparent group-hover:visible"></div><div class="invisible absolute z-50 flex flex-col whitespace-nowrap rounded border border-neutral-300 bg-neutral text-start text-base shadow group-hover:visible ltr:right-0 rtl:left-0 dark:border-neutral-600 dark:bg-neutral-800"><div class="flex flex-grow"><a href=/congo/docs/hosting-deployment/ class="flex w-full items-center justify-between bg-primary-100 px-2 py-1 dark:bg-primary-900">English (Australia)<span class="ms-2 w-6 text-primary-600 dark:text-primary-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentcolor" d="M438.6 105.4c12.5 12.5 12.5 32.7.0 45.2l-256 256c-12.5 12.5-32.7 12.5-45.2.0L9.372 278.6c-12.496-12.5-12.496-32.7.0-45.2 12.498-12.5 32.758-12.5 45.258.0L159.1 338.7 393.4 105.4c12.5-12.52 32.7-12.52 45.2.0h0z"/></svg></span></span></a></div><div class="flex flex-grow"><a href=/congo/ja/docs/hosting-deployment/ class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2">日本語</a></div><div class="flex flex-grow"><a href=/congo/zh-cn/docs/hosting-deployment/ class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2">简体中文</a></div></div></div></li></ul></nav></header><div class="relative flex grow flex-col"><main id=main-content class=grow><article><header class=max-w-prose><ol class="text-sm text-neutral-500 print:hidden dark:text-neutral-400"><li class="hidden inline"><a class="dark:underline-neutral-600 decoration-neutral-300 hover:underline" href=/congo/>Welcome to Congo! :tada:</a><span class="px-1 text-primary-500">/</span></li><li class=inline><a class="dark:underline-neutral-600 decoration-neutral-300 hover:underline" href=/congo/docs/>Documentation</a><span class="px-1 text-primary-500">/</span></li><li class="hidden inline"><a class="dark:underline-neutral-600 decoration-neutral-300 hover:underline" href=/congo/docs/hosting-deployment/>Hosting & Deployment</a><span class="px-1 text-primary-500">/</span></li></ol><h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">Hosting & Deployment
</h1><div class="mb-12 mt-8 text-base text-neutral-500 print:hidden dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><span title="Reading time">4 mins</span><span class="px-2 text-primary-500">&#183;</span>
<span class=mb-[2px]><a href=https://github.com/jpanther/congo/tree/dev/exampleSite/content/docs/hosting-deployment/index.md class="text-lg hover:text-primary-500" rel="noopener noreferrer" target=_blank title="Edit content"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M490.3 40.4c21.9 21.87 21.9 57.33.0 79.2l-30 30.1-98-97.98 30.1-30.06C414.3-.2135 449.7-.2135 471.6 21.66L490.3 40.4zM172.4 241.7 339.7 74.34l98 97.96L270.3 339.6C264.2 345.8 256.7 350.4 248.4 353.2l-88.8 29.6C150.1 385.6 141.5 383.4 135 376.1 128.6 370.5 126.4 361 129.2 352.4l29.6-88.8C161.6 255.3 166.2 247.8 172.4 241.7v0zM192 63.1c17.7.0 32 15.23 32 32 0 18.6-14.3 32-32 32H96c-17.67.0-32 15.2-32 32V416c0 17.7 14.33 32 32 32H352c17.7.0 32-14.3 32-32V319.1c0-16.8 14.3-32 32-32s32 15.2 32 32V416c0 53-43 96-96 96H96c-53.02.0-96-43-96-96V159.1c0-53 42.98-96 96-96h96z"/></svg></span></a></span></div></div></header><section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row"><div class="order-first px-0 lg:order-last lg:max-w-xs lg:ps-8"><div class="toc pe-5 print:hidden lg:sticky lg:top-10"><details open class="-ms-5 mt-0 overflow-hidden rounded-lg ps-5"><summary class="block cursor-pointer bg-neutral-100 py-1 ps-5 text-lg font-semibold text-neutral-800 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden">Table of Contents</summary><div class="border-s border-dotted border-neutral-300 py-2 ps-5 dark:border-neutral-600"><nav id=TableOfContents><ul><li><a href=#github-pages>GitHub Pages</a></li><li><a href=#netlify>Netlify</a></li><li><a href=#render>Render</a></li><li><a href=#cloudflare-pages>Cloudflare Pages</a></li><li><a href=#shared-hosting-vps-or-private-web-server>Shared hosting, VPS or private web server</a></li></ul></nav></div></details></div></div><div class="min-h-0 min-w-0 max-w-prose grow"><p>There are many ways to deploy your Hugo website built with Congo. The theme is designed to be flexible in almost any deployment scenario.</p><p>Congo is built using relative URLs throughout the theme. This enables sites to easily be deployed to sub-folders and hosts like GitHub Pages. There&rsquo;s usually no special configuration required for this to work as long as the <code>baseURL</code> parameter has been configured in the <code>config.toml</code> file.</p><p>The official Hugo <a href=https://gohugo.io/hosting-and-deployment/ target=_blank rel=noreferrer>Hosting and Deployment</a> docs are the best place to learn how to deploy your site. The sections below contain some specific theme configuration details that can help you deploy smoothly with certain providers.</p><p><strong>Choose your provider:</strong></p><ul><li><a href=#github-pages>GitHub Pages</a></li><li><a href=#netlify>Netlify</a></li><li><a href=#render>Render</a></li><li><a href=#cloudflare-pages>Cloudflare Pages</a></li><li><a href=#shared-hosting-vps-or-private-web-server>Shared hosting, VPS or private web server</a></li></ul><hr><h2 id=github-pages class="relative group">GitHub Pages <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#github-pages aria-label=Anchor>#</a></span></h2><p>GitHub allows hosting on <a href=https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages target=_blank rel=noreferrer>GitHub Pages</a> using Actions. To enable this functionality, enable Pages on your repo and create a new Actions workflow to build and deploy your site.</p><p>The file needs to be in YAML format, placed within the <code>.github/workflows/</code> directory of your GitHub repository and named with a <code>.yml</code> extension.</p><div class="flex rounded-md bg-primary-100 px-4 py-3 dark:bg-primary-900"><span class="pe-3 text-primary-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
</span></span><span class=dark:text-neutral-300><strong>Important:</strong> Ensure you set the correct branch name under <code>branches</code> and in the deploy step <code>if</code> parameter to the source branch used in your project.</span></div><div class=highlight><pre tabindex=0 class=chroma><code class=language-yaml data-lang=yaml><span class=line><span class=cl><span class=c># .github/workflows/gh-pages.yml</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w></span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class=l>GitHub Pages</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w></span><span class=nt>on</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>push</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>branches</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=l>main</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w></span><span class=nt>jobs</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>build-deploy</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>runs-on</span><span class=p>:</span><span class=w> </span><span class=l>ubuntu-latest</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>concurrency</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>group</span><span class=p>:</span><span class=w> </span><span class=l>${{ github.workflow }}-${{ github.ref }}</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>steps</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=nt>name</span><span class=p>:</span><span class=w> </span><span class=l>Checkout</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>uses</span><span class=p>:</span><span class=w> </span><span class=l>actions/checkout@v3</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>with</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>submodules</span><span class=p>:</span><span class=w> </span><span class=kc>true</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>fetch-depth</span><span class=p>:</span><span class=w> </span><span class=m>0</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=nt>name</span><span class=p>:</span><span class=w> </span><span class=l>Setup Hugo</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>uses</span><span class=p>:</span><span class=w> </span><span class=l>peaceiris/actions-hugo@v2</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>with</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>hugo-version</span><span class=p>:</span><span class=w> </span><span class=s2>&#34;latest&#34;</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>extended</span><span class=p>:</span><span class=w> </span><span class=kc>true</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=nt>name</span><span class=p>:</span><span class=w> </span><span class=l>Build</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>run</span><span class=p>:</span><span class=w> </span><span class=l>hugo --minify</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=nt>name</span><span class=p>:</span><span class=w> </span><span class=l>Deploy</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>uses</span><span class=p>:</span><span class=w> </span><span class=l>peaceiris/actions-gh-pages@v3</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>if</span><span class=p>:</span><span class=w> </span><span class=l>${{ github.ref == &#39;refs/heads/main&#39; }}</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>with</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>github_token</span><span class=p>:</span><span class=w> </span><span class=l>${{ secrets.GITHUB_TOKEN }}</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>publish_branch</span><span class=p>:</span><span class=w> </span><span class=l>gh-pages</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>publish_dir</span><span class=p>:</span><span class=w> </span><span class=l>./public</span><span class=w>
</span></span></span></code></pre></div><p>Push the config file to GitHub and the action should automatically run. It may fail the first time and you&rsquo;ll need to visit the <strong>Settings > Pages</strong> section of your GitHub repo to check the source is correct. It should be set to use the <code>gh-pages</code> branch.</p><figure><picture><source srcset="/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_330x0_resize_q75_h2_box.webp 330w,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_660x0_resize_q75_h2_box.webp 660w
,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_1024x0_resize_q75_h2_box.webp 1024w
,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_1320x0_resize_q75_h2_box.webp 1320w" sizes=100vw type=image/webp><img width=769 height=231 alt="Screen capture of GitHub Pages source settings" loading=lazy decoding=async src=/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_660x0_resize_q75_box.jpg srcset="/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_330x0_resize_q75_box.jpg 330w,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_660x0_resize_q75_box.jpg 660w
,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_1024x0_resize_q75_box.jpg 1024w
,/congo/docs/hosting-deployment/github-pages-source_hu82845702bc541a9fb3f6cd5fc157ad89_175631_1320x0_resize_q75_box.jpg 1320w" sizes=100vw></picture></figure><p>You should also visit the <strong>Settings > Actions > General</strong> section and check that the workflow permissions allow actions to make changes to your repo.</p><figure><picture><source srcset="/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_330x0_resize_q75_h2_box.webp 330w,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_660x0_resize_q75_h2_box.webp 660w
,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_1024x0_resize_q75_h2_box.webp 1024w
,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_1320x0_resize_q75_h2_box.webp 1320w" sizes=100vw type=image/webp><img width=759 height=252 alt="Screen capture of GitHub Workflow Permissions settings" loading=lazy decoding=async src=/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_660x0_resize_q75_box.jpg srcset="/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_330x0_resize_q75_box.jpg 330w,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_660x0_resize_q75_box.jpg 660w
,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_1024x0_resize_q75_box.jpg 1024w
,/congo/docs/hosting-deployment/github-workflow-permissions_hu82845702bc541a9fb3f6cd5fc157ad89_349304_1320x0_resize_q75_box.jpg 1320w" sizes=100vw></picture></figure><p>Once the settings are configured, re-run the action and the site should build and deploy correctly. You can consult the actions log to check everything deployed successfully.</p><h2 id=netlify class="relative group">Netlify <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#netlify aria-label=Anchor>#</a></span></h2><p>To deploy to <a href=https://www.netlify.com target=_blank rel=noreferrer>Netlify</a>, create a new continuous deployment site and link it to your source code. The build settings can be left blank in the Netlify UI. You will only need to configure the domain you&rsquo;ll be using.</p><figure><picture><source srcset="/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_330x0_resize_q75_h2_box.webp 330w,/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_660x0_resize_q75_h2_box.webp 660w
,/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_958x662_resize_q75_h2_box.webp 958w
,/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_958x662_resize_q75_h2_box.webp 958w" sizes=100vw type=image/webp><img width=479 height=331 alt="Screen capture of Netlify build settings" loading=lazy decoding=async src=/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_660x0_resize_q75_box.jpg srcset="/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_330x0_resize_q75_box.jpg 330w,/congo/docs/hosting-deployment/netlify-build-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_73715_660x0_resize_q75_box.jpg 660w
,/congo/docs/hosting-deployment/netlify-build-settings.jpg 958w
,/congo/docs/hosting-deployment/netlify-build-settings.jpg 958w" sizes=100vw></picture></figure><p>Then in the root of your site repository, create a <code>netlify.toml</code> file:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-toml data-lang=toml><span class=line><span class=cl><span class=c># netlify.toml</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=p>[</span><span class=nx>build</span><span class=p>]</span>
</span></span><span class=line><span class=cl> <span class=nx>command</span> <span class=p>=</span> <span class=s2>&#34;hugo mod get -u &amp;&amp; hugo --gc --minify -b $URL&#34;</span>
</span></span><span class=line><span class=cl> <span class=nx>publish</span> <span class=p>=</span> <span class=s2>&#34;public&#34;</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=p>[</span><span class=nx>build</span><span class=p>.</span><span class=nx>environment</span><span class=p>]</span>
</span></span><span class=line><span class=cl> <span class=nx>HUGO_VERSION</span> <span class=p>=</span> <span class=s2>&#34;0.119.0&#34;</span>
</span></span><span class=line><span class=cl> <span class=nx>NODE_ENV</span> <span class=p>=</span> <span class=s2>&#34;production&#34;</span>
</span></span><span class=line><span class=cl> <span class=nx>TZ</span> <span class=p>=</span> <span class=s2>&#34;UTC&#34;</span> <span class=c># Set to preferred timezone</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=p>[</span><span class=nx>context</span><span class=p>.</span><span class=nx>production</span><span class=p>.</span><span class=nx>environment</span><span class=p>]</span>
</span></span><span class=line><span class=cl> <span class=nx>HUGO_ENV</span> <span class=p>=</span> <span class=s2>&#34;production&#34;</span>
</span></span></code></pre></div><p>This configuration assumes you are deploying Congo as a Hugo module. If you have installed the theme using another method, change the build command to simply <code>hugo --gc --minify -b $URL</code>.</p><p>When you push the config file to your repo, Netlify should automatically deploy your site. You can check the deploy logs in the Netlify UI to check for any errors.</p><h2 id=render class="relative group">Render <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#render aria-label=Anchor>#</a></span></h2><p>Deploying to <a href=https://render.com target=_blank rel=noreferrer>Render</a> is very straightforward and all configuration is via the Render UI.</p><p>Create a new <strong>Static Site</strong> and link it to your project&rsquo;s code repository. Then simply configure the build command to be <code>hugo --gc --minify</code> and publish directory to be <code>public</code>.</p><figure><picture><source srcset="/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_330x0_resize_q75_h2_box.webp 330w,/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_660x0_resize_q75_h2_box.webp 660w
,/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_1024x0_resize_q75_h2_box.webp 1024w
,/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_1256x454_resize_q75_h2_box.webp 1256w" sizes=100vw type=image/webp><img width=628 height=227 alt="Screen capture of Render settings" loading=lazy decoding=async src=/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_660x0_resize_q75_box.jpg srcset="/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_330x0_resize_q75_box.jpg 330w,/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_660x0_resize_q75_box.jpg 660w
,/congo/docs/hosting-deployment/render-settings_hu2dd769ba6150bc188f19ac555e8a2ca4_96294_1024x0_resize_q75_box.jpg 1024w
,/congo/docs/hosting-deployment/render-settings.jpg 1256w" sizes=100vw></picture></figure><p>The site will automatically build and deploy whenever you push a change to your repo.</p><h2 id=cloudflare-pages class="relative group">Cloudflare Pages <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#cloudflare-pages aria-label=Anchor>#</a></span></h2><p>Cloudflare offers the <a href=https://pages.cloudflare.com/ target=_blank rel=noreferrer>Pages</a> service that can host Hugo blogs. It builds the site from a git repository and then hosts it on Cloudflare&rsquo;s CDN. Follow their <a href=https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site target=_blank rel=noreferrer>Hugo deployment guide</a> to get started.</p><p>The Rocket Loader™ feature offered by Cloudflare tries to speed up rendering of web pages with JavaScript, but it breaks the appearance switcher in the theme. It can also cause an annoying light/dark screen flash when browsing your site due to scripts loading in the wrong order.</p><p>This problem can be fixed by disabling it:</p><ul><li>Go to the <a href=https://dash.cloudflare.com target=_blank rel=noreferrer>Cloudflare dashboard</a></li><li>Click on your domain name in the list</li><li>Click <em>Optimization</em> in the <em>Speed</em> section</li><li>Scroll down to <em>Rocket Loader™</em> and disable it</li></ul><p>Hugo sites built with Congo still load very quickly, even with this feature disabled.</p><h2 id=shared-hosting-vps-or-private-web-server class="relative group">Shared hosting, VPS or private web server <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#shared-hosting-vps-or-private-web-server aria-label=Anchor>#</a></span></h2><p>Using traditional web hosting, or deploying to your own web server, is as simple as building your Hugo site and transferring the files to your host.</p><p>Make sure that the <code>baseURL</code> parameter in <code>config.toml</code> is set to the full URL to the root of your website (including any sub domains or sub-folders).</p><p>Then build your site using <code>hugo</code> and copy the contents of the output directory to the root of your web server and you will be ready to go. By default, the output directory is named <code>public</code>.</p><p><em>If you need a hosting provider, check out <a href="https://www.vultr.com/?ref=8957394-8H" target=_blank rel=noreferrer>Vultr</a> or <a href=https://m.do.co/c/36841235e565 target=_blank rel=noreferrer>DigitalOcean</a>. Signing up using these affiliate links will give you up to $100 in free credit so you can try the service.</em></p></div></section><footer class="max-w-prose pt-8 print:hidden"><div class=pt-8><hr class="border-dotted border-neutral-300 dark:border-neutral-600"><div class="flex justify-between pt-3"><span><a class="group flex" href=/congo/docs/advanced-customisation/><span class="me-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"><span class="ltr:inline rtl:hidden">&larr;</span><span class="ltr:hidden rtl:inline">&rarr;</span></span>
<span class="flex flex-col"><span class="mt-[0.1rem] leading-6 group-hover:underline group-hover:decoration-primary-500">Advanced Customisation</span>
<span class="mt-[0.1rem] text-xs text-neutral-500 dark:text-neutral-400"></span></span></a></span><span></span></div></div></footer></article><div class="pointer-events-none absolute bottom-0 end-0 top-[100vh] w-12"><a href=#the-top class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" aria-label="Scroll to top" title="Scroll to top">&uarr;</a></div></main><footer class="py-10 print:hidden"><div class="flex items-center justify-between"><div><p class="text-sm text-neutral-500 dark:text-neutral-400">© 2023 Congo contributors</p><p class="text-xs text-neutral-500 dark:text-neutral-400">Powered by <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href=https://gohugo.io/ target=_blank rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href=https://github.com/jpanther/congo target=_blank rel="noopener noreferrer">Congo</a></p></div><div class="flex flex-row items-center"><div class="me-14 cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"><button id=appearance-switcher-0 type=button aria-label="appearance switcher"><div class="flex h-12 w-12 items-center justify-center dark:hidden" title="Switch to dark appearance"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M32 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z"/></svg></span></div><div class="hidden h-12 w-12 items-center justify-center dark:flex" title="Switch to light appearance"><span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M256 159.1c-53.02.0-95.1 42.98-95.1 95.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.1z"/></svg></span></div></button></div></div></div></footer><div id=search-wrapper class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm sm:p-6 md:p-[10vh] lg:p-[12vh] dark:bg-neutral-900/50" data-url=https://jpanther.github.io/congo/><div id=search-modal class="top-20 mx-auto flex min-h-0 w-full max-w-3xl flex-col rounded-md border border-neutral-200 bg-neutral shadow-lg dark:border-neutral-700 dark:bg-neutral-800"><header class="relative z-10 flex flex-none items-center justify-between px-2"><form class="flex min-w-0 flex-auto items-center"><div class="flex h-8 w-8 items-center justify-center text-neutral-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c
<span class="icon relative inline-block px-1 align-text-bottom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentcolor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></button></header><section class="flex-auto overflow-auto px-2"><ul id=search-results></ul></section></div></div></div></body></html>