Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.

Hugo CMS

  • It's better coupled with a Front End app than can maybe aggregate content via RSS or other scripted automation, then generate the pages via Hugo/Jekyll/.../etc to wherever you need.

  • App Dev

    My blog (served through the surfer app) is built with Hugo. I was briefly looking at modifying the Github pages app, but for me it was a bit strange that I then would also need to store the source repo for the homepage inside of the app (I already have Gitea for this).

    I have now setup a ci flow with Drone (managing app running on Cloudron as well, agents running elsewhere). Only downside is that the surfer cli is quite slow for lots of small files, uploading my page currently takes 15 minutes.

  • @fbartels can you rework the CI to tar first then untar in surfer? not sure tar is available inside the container.

  • App Dev

    @robi yes, that is also how I am publishing another static app (Homer), but that would require breaking up the deploy process into individual commands (as opposed to the simple surfer put --token $SURFTOKEN --server public/. /.

  • Then surfer needs a pipelining upgrade for the transfer of files in one go.

    From the shell we can pipe tar - over the network which could be as simple as that.

  • Staff

    I am about to finish a surfer sync <src> <dest> feature to be used in such pipelines to update the files. I hope that would work there then.

  • App Dev

    thanks @nebulon. Not quite sure if it would help in my case, since the page is rebuilt in a clean environment each time, so while the content may be the same, at least timestamps will have changed.

  • @atrilahiji said in Hugo CMS:

    โ€œdocument the problem awayโ€

    Yes, I think this is probably the answer. If there was a good step by step guide for beginners as to how to get started with this static site stuff then people could just do it. ๐Ÿ™‚

    What I want is a nice self-hosted documentation site that people can "click to edit this page on GitLab/ Gitea/ Gogs" like lots of people already do GitHub pages and Github. or with Gitbook.

    The impression I get is that this really shouldn't be that hard to do using Surfer together with one of the Git apps on Cloudron (and/ or GitHub Pages), but I'm still not really sure where to start ๐Ÿ™‚

    Perhaps I should spend less time on this forum and more time reading up about it all! Then I could help write the guide! ๐Ÿ˜› that might happen eventually! ๐Ÿ™‚

  • Staff

    @fbartels That is indeed true, I was thinking of adding checksum tests though, but for now the sync already helps to purge files on the remote end, which don't exist anymore in a new build. Of course if the pipeline is used to build artifacts or packages, then the old surfer put should be used to not purge the old ones

  • App Dev

    @nebulon I noticed that in newer surfer version you added some parallelization for put requests. Upgrading surfer to the lastest version brought the deployment time down to four minutes.

Log in to reply