hugo live server as systemd service (template)
uses environment file to bring up live reload site with uci-doc and uci-shortcode themes nestedmaster
parent
e28d770727
commit
90868a74b0
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
[[ ! $1 ]] && echo must specify a site name to run && exit
|
||||||
|
RDIR=$(cd $(dirname $(readlink -f "$0")) >/dev/null 2>&1 ; pwd -P)
|
||||||
|
# source any environment for particular site
|
||||||
|
shopt -s extglob
|
||||||
|
ENV_FILE=$(ls $RDIR/sites/${1}* 2> /dev/null | grep -v '.off$\|.example$\|.tmpl$\|.template$')
|
||||||
|
|
||||||
|
if [[ $ENV_FILE ]]; then
|
||||||
|
source $ENV_FILE
|
||||||
|
echo '***********************'
|
||||||
|
echo "sourcing $ENV_FILE environment file for hugo run"
|
||||||
|
cat $ENV_FILE
|
||||||
|
echo '************************'
|
||||||
|
else
|
||||||
|
echo warning no environoment file set for $1 in $RDIR/sites
|
||||||
|
fi
|
||||||
|
DATA_DIR=${DATA_DIR:-${HOME}/.local/hugo}
|
||||||
|
HUGO=${HUGO:-$(command -v hugo)}
|
||||||
|
PORT=${PORT:-8096}
|
||||||
|
echo site files in $DATA_DIR/$1 listening on port $PORT
|
||||||
|
# [[ $(netstat -tulpn | grep LISTEN | grep 0.0.0.0:$PORT) ]] && echo tcp port $PORT is busy can not start hugo server && exit
|
||||||
|
CMD="$HUGO server
|
||||||
|
$([[ $BASE_URL = "https://"* ]] && echo " --liveReloadPort 443")
|
||||||
|
--bind 0.0.0.0
|
||||||
|
--themesDir $RDIR/themes
|
||||||
|
--source $DATA_DIR/$1
|
||||||
|
--port $PORT
|
||||||
|
--appendPort=$([[ $REVERSE_PROXY = true ]] && echo false || echo true)
|
||||||
|
--baseURL ${BASE_URL:-localhost}
|
||||||
|
"
|
||||||
|
# --config /mnt/data/$SRC/config.yaml
|
||||||
|
# --logFile /opt/docs-kebler-net/server.log
|
||||||
|
echo '*********** running command **********'
|
||||||
|
echo $CMD
|
||||||
|
echo '**************************************'
|
||||||
|
eval $CMD
|
|
@ -0,0 +1,9 @@
|
||||||
|
# defaults shown. uncomment and edit for your site
|
||||||
|
#PORT="8096"
|
||||||
|
# parent directory of where site files should be stored.
|
||||||
|
#DATA_DIR="${HOME}/.local/hugo"
|
||||||
|
# if using reverse proxy port will not be appended to base url
|
||||||
|
#REVERSE_PROXY=false
|
||||||
|
# be sure to use https if site is being served such, e.g. using Caddy.
|
||||||
|
# example: BASE_URL="https://site.domain.net"
|
||||||
|
#BASE_URL="localhost"
|
|
@ -0,0 +1,18 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Live Hugo Server for a Site
|
||||||
|
After=network-online.target
|
||||||
|
Requires=opt.mount
|
||||||
|
After=opt.mount
|
||||||
|
Requires=mnt-data.mount
|
||||||
|
After=mnt-data.mount
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
# User=sysadmin
|
||||||
|
Group=sysadmin
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/bin/bash /opt/hugo/run %i
|
||||||
|
# Restart=on-failure
|
||||||
|
# RestartSec=3
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# install template system space
|
||||||
|
DIR="$(dirname "$(readlink -f "$0")")"
|
||||||
|
sudo \cp -f $DIR/hugo@.service /etc/systemd/system
|
||||||
|
echo "hugo service template copied to systemd"
|
||||||
|
cat /etc/systemd/system/hugo@.service
|
Loading…
Reference in New Issue