hugo-server man page

hugo-server — A high performance webserver


hugo server [flags]


Hugo provides its own webserver which builds and serves the site. While hugo server is high performance, it is a webserver with limited options. Many run it in production, but the standard behavior is for people to use it in development and use a more full featured server such as Nginx or Caddy.

'hugo server' will avoid writing the rendered and served content to disk, preferring to store it in memory.

By default hugo will also watch your files for any changes you make and automatically rebuild the site. It will then live reload any open browser pages and push the latest content to them. As most Hugo sites are built in a fraction of a second, you will be able to save and see your changes nearly instantly.



append port to baseURL

-b, --baseURL=""

hostname (and path) to the root, e.g.  ⟨


interface to which the server will bind

-D, --buildDrafts[=false]

include content marked as draft

-E, --buildExpired[=false]

include expired content

-F, --buildFuture[=false]

include content with publishdate in the future


filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/


remove files from destination not found in static directories

-c, --contentDir=""

filesystem path to content directory

-d, --destination=""

filesystem path to write files to


do not show build errors in the browser


enables full re-renders on changes


disable different kind of pages (home, RSS etc.)


watch without enabling live browser reload on rebuild


add Git revision, date and author info to the pages

-e, --environment=""

build environment


copy all files when static is changed.


enable to run some cleanup tasks (remove unused cache files) after the build

-h, --help[=false]

help for server


print missing translations


ignores the cache directory

-l, --layoutDir=""

filesystem path to layout directory


port for live reloading (i.e. 443 in HTTPS proxy situations)


interval to poll memory usage (requires --memstats), valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".


log memory usage to this file


minify any supported output format (HTML, XML etc.)


navigate to changed content file on live browser reload


don't sync permission mode of files


prevent HTTP caching


don't sync modification time of files


print warnings on duplicate target paths etc.

-p, --port=1313

port on which the server will listen


render to Destination path (default is render to memory serve from there)

-s, --source=""

filesystem path to read files relative from


display metrics about template executions


calculate some improvement hints when combined with --templateMetrics

-t, --theme=[]

themes to use (located in /themes/THEMENAME/)


filesystem path to themes directory


write trace to file (not useful in general)

-w, --watch[=true]

watch filesystem for changes and recreate as needed

Options Inherited from Parent Commands


config file (default is path/config.yaml|json|toml)


config dir


debug output


enable Logging


log File path (if set, logging enabled automatically)


build in quiet mode

-v, --verbose[=false]

verbose output


verbose logging

See Also


Referenced By


May 2019 Hugo 0.55.6 Hugo Manual