HugoMods

HugoMods

Official

Docker app from Florian Dambrine's Repository

Overview

Build and deploy Hugo static websites on Unraid. Automatically clones your Git repository, installs dependencies, and builds your Hugo site. Perfect for generating static sites for blogs, documentation, landing pages, and more with Hugo's blazing-fast static site generation. Features persistent storage for source code and node_modules, automatic dependency management, and support for custom Hugo configurations. Simply provide your Git repository URL and the site will be built in the /src/public directory.

docker-templates-unraid

Docker templates for Unraid

Automatic catalog updates

The Unraid Template Sync catalog app receives authenticated GitHub push webhooks and refreshes the private Community Applications templates automatically. Nginx Proxy Manager restricts traffic to GitHub's current webhook networks; the service validates the webhook secret, exact repository, and branch before cloning or updating its managed checkout. See its README for Nginx Proxy Manager and GitHub webhook setup.

Pomerium behind Nginx Proxy Manager

Use Nginx Proxy Manager as the public TLS endpoint and send protected application hosts directly to Pomerium's HTTP port:

Browser (HTTPS) -> Nginx Proxy Manager -> Pomerium:80 -> application

For containers on the same custom Docker network, configure the NPM proxy host with scheme http, hostname Pomerium, and port 80. When using the Unraid host mapping instead, use the Unraid address and Pomerium's mapped port (by default 8801). Enable NPM's WebSocket support for applications that require it.

Set Trusted Reverse Proxy Hops to 1 in the Pomerium template. A typical WebSocket application route is:

routes:
  - from: https://notes.example.com
    to: http://obsidian:3000
    allow_websockets: true
    preserve_host_header: true
    pass_identity_headers: true
    policy:
      - allow:
          or:
            - email:
                is: user@example.com

Point the public Pomerium Authenticate hostname at the same Pomerium HTTP endpoint in NPM. Send every protected application hostname to that endpoint; Pomerium matches the incoming hostname against its from routes and forwards authorized requests to the corresponding to destinations. Pomerium Verify is only a diagnostic application, and Pomerium Route Sync is optional if config.yaml is maintained directly.

Pomerium Route Sync can generate these route settings by enabling its Allow WebSockets and Preserve Host Header options. These switches apply to every route generated by that container.

Download Statistics

2,951,256
Total Downloads
153,864
This Month
157,035
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
hugomods/hugo:exts
Last Updated2026-08-31
First Seen2026-01-04

Runtime arguments

Network
bridge
Privileged
false
Extra Params
--entrypoint=/bin/sh

Template configuration

Git Repository URLVariable

Public git repository containing your Hugo website (required).

Target
GIT_REPO
Base URLVariable

Base URL for Hugo site (used in build). Example: / or /mysite/

Target
BASE_URL
Default
/
Value
/
Node EnvironmentVariable

Node environment.

Target
NODE_ENV
Default
development
Value
development
Website Source CodePathrw

Persistent Hugo source directory. Repo is cloned here on first start.

Target
/src
Default
/mnt/user/appdata/hugomods/src
Value
/mnt/user/appdata/hugomods/src
Hugo Config DirectoryPathrw

Hugo configuration directory. Create config/_default/hugo.toml to override settings. See https://gohugo.io/configuration/introduction/#configuration-directory

Target
/src/config
Default
/mnt/user/appdata/hugomods/config
Value
/mnt/user/appdata/hugomods/config
node_modules CachePathrw

Persist node_modules to avoid reinstalling on every restart.

Target
/src/node_modules
Default
/mnt/user/appdata/hugomods/node_modules
Value
/mnt/user/appdata/hugomods/node_modules