34 lines
805 B
Docker
34 lines
805 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
|
|
|
|
# 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"
|