Files
env-docker/Config/HugoExample/Dockerfile

36 lines
852 B
Docker

# 2025-08-13 Hyperling
## Image ##
FROM debian:bookworm-slim
## Setup ##
# System Dependencies
RUN apt-get update && apt-get install -y git hugo nginx cron curl bash sudo htop
RUN service nginx start
RUN service cron start
# User and Group
RUN groupadd -r hugo && useradd -r -g hugo hugo
# Hugo Directory Tree
RUN mkdir -pv /var/www/hugo && chown -Rv hugo:hugo /var/www/hugo
# NGINX Directory Tree
RUN mkdir -pv /var/www/html/ && chown -Rv hugo:hugo /var/www/html/
# Copy Cron Job to Update Git Repo
COPY files/hugo.crontab /etc/cron.d/hugo
COPY files/hugo.cronjob.sh /var/www/hugo/cronjob.sh
RUN chmod +x /var/www/hugo/cronjob.sh
RUN crontab /etc/cron.d/hugo
# Copy Start Script
COPY files/main.sh /root/main.sh
RUN chmod +x /root/main.sh
## Main ##
# Install + Run Website
WORKDIR /var/www/
USER root
CMD /root/main.sh "$REPO" "$PROD" "$DEV"