Compare commits
11 Commits
4dd0661e1e
...
dev
Author | SHA1 | Date | |
---|---|---|---|
e178141357 | |||
6062818475 | |||
f77557151a | |||
fb7e31ed69 | |||
0478e8e108 | |||
2663bb5351 | |||
4aa7fa4b00 | |||
d7a1e6f58a | |||
f622cba366 | |||
e86660d34e | |||
cfb07a6e93 |
@@ -8,7 +8,7 @@ FROM debian:bookworm-slim
|
|||||||
RUN apt-get update && apt-get install -y git hugo nginx cron curl bash sudo htop
|
RUN apt-get update && apt-get install -y git hugo nginx cron curl bash sudo htop
|
||||||
|
|
||||||
# User and Group
|
# User and Group
|
||||||
RUN groupadd -r hugo && useradd -r -g hugo hugo
|
#RUN groupadd -r hugo && useradd -r -g hugo hugo
|
||||||
|
|
||||||
# Hugo Directory Tree
|
# Hugo Directory Tree
|
||||||
RUN mkdir -pv /var/www/hugo/
|
RUN mkdir -pv /var/www/hugo/
|
||||||
@@ -17,12 +17,11 @@ RUN mkdir -pv /var/www/hugo/
|
|||||||
RUN mkdir -pv /var/www/html/
|
RUN mkdir -pv /var/www/html/
|
||||||
|
|
||||||
# Copy Cron Job to Update Git Repo
|
# Copy Cron Job to Update Git Repo
|
||||||
COPY files/hugo.crontab /etc/cron.d/hugo
|
COPY files/crontab /etc/crontab
|
||||||
COPY files/hugo.cronjob.sh /var/www/hugo/cronjob.sh
|
COPY files/cronjob.sh /var/www/hugo/cronjob.sh
|
||||||
RUN crontab /etc/cron.d/hugo
|
|
||||||
|
|
||||||
# Hugo User Permissions
|
# Hugo User Permissions
|
||||||
RUN chown -Rv hugo:hugo /var/www/
|
RUN chown -Rv www-data:www-data /var/www/
|
||||||
RUN chmod +x /var/www/hugo/cronjob.sh
|
RUN chmod +x /var/www/hugo/cronjob.sh
|
||||||
|
|
||||||
# Copy Start Script
|
# Copy Start Script
|
||||||
@@ -33,4 +32,4 @@ RUN chmod +x /root/main.sh
|
|||||||
# Install + Run Website
|
# Install + Run Website
|
||||||
WORKDIR /var/www/
|
WORKDIR /var/www/
|
||||||
USER root
|
USER root
|
||||||
CMD /root/main.sh "$REPO" "$PROD" "$DEV"
|
CMD /root/main.sh "$REPO" "$BRANCH" "$PROD" "$DEV"
|
||||||
|
@@ -13,6 +13,7 @@ services:
|
|||||||
- 1380:1380 # Development files with drafts served by Hugo Server.
|
- 1380:1380 # Development files with drafts served by Hugo Server.
|
||||||
environment:
|
environment:
|
||||||
- REPO=$REPO
|
- REPO=$REPO
|
||||||
|
- BRANCH=$BRANCH
|
||||||
- PROD=$PROD
|
- PROD=$PROD
|
||||||
- DEV=$DEV
|
- DEV=$DEV
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
@@ -9,6 +9,7 @@ COMPOSE_BAKE=true
|
|||||||
## Git Website Repository
|
## Git Website Repository
|
||||||
#
|
#
|
||||||
REPO=https://git.hyperling.com/me/hugo-jackanope
|
REPO=https://git.hyperling.com/me/hugo-jackanope
|
||||||
|
BRANCH=main
|
||||||
|
|
||||||
#
|
#
|
||||||
## Web Environments
|
## Web Environments
|
||||||
|
1
Config/HugoExample/files/crontab
Normal file
1
Config/HugoExample/files/crontab
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* * * * * www-data /var/www/hugo/cronjob.sh
|
@@ -1 +0,0 @@
|
|||||||
* * * * * hugo /var/www/hugo/cronjob.sh
|
|
@@ -1,18 +1,24 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
REPO="$1"
|
REPO="$1"
|
||||||
echo "REPO=$REPO"
|
echo "REPO='$REPO'"
|
||||||
|
|
||||||
PROD="$2"
|
BRANCH="$2"
|
||||||
|
if [[ -n $BRANCH ]]; then
|
||||||
|
BRANCH="--branch $BRANCH"
|
||||||
|
fi
|
||||||
|
echo "BRANCH='$BRANCH'"
|
||||||
|
|
||||||
|
PROD="$3"
|
||||||
typeset -u PROD
|
typeset -u PROD
|
||||||
echo "PROD=$PROD"
|
echo "PROD='$PROD'"
|
||||||
|
|
||||||
DEV="$3"
|
DEV="$4"
|
||||||
typeset -u DEV
|
typeset -u DEV
|
||||||
echo "DEV=$DEV"
|
echo "DEV='$DEV'"
|
||||||
|
|
||||||
echo "*** Creating Git Repo ***"
|
echo "*** Creating Git Repo ***"
|
||||||
sudo -u hugo git clone --recurse-submodules $REPO /var/www/hugo/site
|
sudo -u www-data git clone --recurse-submodules $BRANCH $REPO /var/www/hugo/site
|
||||||
status="$?"
|
status="$?"
|
||||||
|
|
||||||
echo "*** Validating Git Repo ***"
|
echo "*** Validating Git Repo ***"
|
||||||
@@ -25,7 +31,7 @@ echo "* Site exists!"
|
|||||||
|
|
||||||
echo "*** Copying Static Files to NGINX ***"
|
echo "*** Copying Static Files to NGINX ***"
|
||||||
rm -rfv /var/www/html/*
|
rm -rfv /var/www/html/*
|
||||||
sudo -u hugo /var/www/hugo/cronjob.sh
|
sudo -u www-data /var/www/hugo/cronjob.sh
|
||||||
|
|
||||||
echo "*** Starting Cron ***"
|
echo "*** Starting Cron ***"
|
||||||
service cron start
|
service cron start
|
||||||
@@ -58,12 +64,20 @@ if [[ "$DEV" == "Y"* || "$DEV" == "T"* ]]; then
|
|||||||
echo "* Dev server not detected, starting..."
|
echo "* Dev server not detected, starting..."
|
||||||
cd /var/www/hugo/site
|
cd /var/www/hugo/site
|
||||||
killall hugo 2>/dev/null
|
killall hugo 2>/dev/null
|
||||||
sudo -u hugo hugo server -D --noBuildLock --bind 0.0.0.0 -p 1380 &
|
sudo -u www-data hugo server -D --noBuildLock --bind 0.0.0.0 -p 1380 &
|
||||||
fi
|
fi
|
||||||
sleep 30
|
sleep 30
|
||||||
done &
|
done &
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "*** Following Mail Files ***"
|
||||||
|
cd /var/mail
|
||||||
|
touch mail www-data
|
||||||
|
chown -v mail:mail mail
|
||||||
|
chown -v www-data:mail www-data
|
||||||
|
chmod -v 660 mail www-data
|
||||||
|
tail -f mail www-data &
|
||||||
|
|
||||||
cd
|
cd
|
||||||
|
|
||||||
echo "*** Finished $0 @ `date` ***"
|
echo "*** Finished $0 @ `date` ***"
|
||||||
|
@@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y git php-cli sudo curl
|
|||||||
# Cache Node Dependencies
|
# Cache Node Dependencies
|
||||||
RUN mkdir -p /var/www/api
|
RUN mkdir -p /var/www/api
|
||||||
WORKDIR /var/www/api
|
WORKDIR /var/www/api
|
||||||
RUN echo '{ "dependencies": { "express": "" } }' > package.json
|
RUN echo '{ "dependencies": { "express": ">=4.18.1 < 5.0.0" } }' > package.json
|
||||||
RUN npm install
|
RUN npm install
|
||||||
|
|
||||||
# Install + Run Website
|
# Install + Run Website
|
||||||
|
@@ -24,8 +24,10 @@ echo -e "\n`date` - Take down services for a cold backup."
|
|||||||
manage.sh -d
|
manage.sh -d
|
||||||
|
|
||||||
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
|
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
|
||||||
cd $DOCKER_HOME
|
$time zip -r $file.tmp \
|
||||||
$time zip -r $file.tmp . 1>/dev/null
|
$DOCKER_HOME \
|
||||||
|
/etc/crontab /etc/cron.d /var/spool/cron \
|
||||||
|
/var/{log,mail} 1>/dev/null
|
||||||
mv -v $file.tmp $file
|
mv -v $file.tmp $file
|
||||||
|
|
||||||
echo -e "\n`date` - Done with zipping, check size."
|
echo -e "\n`date` - Done with zipping, check size."
|
||||||
|
@@ -130,7 +130,7 @@ fi
|
|||||||
if [[ -z $up && -z $down && -z $build && -z $pull && -z $clean
|
if [[ -z $up && -z $down && -z $build && -z $pull && -z $clean
|
||||||
&& -z $interact && -z $logs && -z $stats
|
&& -z $interact && -z $logs && -z $stats
|
||||||
]]; then
|
]]; then
|
||||||
docker ps
|
docker ps --size
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user