Managing Media Assets in Hugo for a Private Course Website

Hi Hugo community,

I’m relatively new to Hugo and considering using it for a client project. The client wants a website to sell a course, so the pages need to be private (I plan to handle this with a reverse proxy). However, I’m running into a challenge with media assets.

The client will be uploading a large number of images and videos, and storing these directly in the Git repo doesn’t seem like a good idea due to size and scalability concerns. I’ve looked into headless CMS options like Decap, but they don’t natively support external media libraries like S3 or Cloudflare R2, which would be ideal for this use case.

My questions are:

  1. Is Hugo a good fit for this type of project, given the need for private pages and external media storage?
  2. Are there any recommended workflows or tools for managing large media libraries (e.g., S3, R2) with Hugo?
  3. Should I consider a different static site generator like Astro, which might have better integrations for this use case?

Any advice or suggestions would be greatly appreciated! Thanks in advance for your help.

You can do quite a lot with Hugo as far as external assets:

Whether this is easier or better than the alternatives I’m afraid I can’t tell you.