Hugo - how I run it with systemd

I was looking for a solution to run a little blog, I did try wordpress but it’s not what I was looking for, then I discovered Hugo. It’s a Go program that will parse Markdown files (your articles in fact) and generate a static website for you. I don’t want to describe the full configuration on this article, but I want to share the systemd unit file I wrote.

[Unit]
Description=Hugo webserver
After=network.target
After=nginx.service

[Service]
User=hugo
Group=hugo
Type=simple
ExecStart=/usr/local/bin/hugo server --source /home/hugo  -b https://tech.cccp.io/ --canonifyURLs --log --logFile /home/hugo/logs/hugo.log --appendPort=false
ProtectSystem=yes
ProtectHome=no
NoNewPrivileges=yes
PrivateTmp=yes

[Install]
WantedBy=multi-user.target

This command line allow me to reverse proxy it with Nginx and serve it on the URL you’re seeing now.