Compare commits
23 Commits
ce111d01f3
...
prod
| Author | SHA1 | Date | |
|---|---|---|---|
| 7b9bbcbc26 | |||
| cbaf052ea2 | |||
| c4c3cb6434 | |||
| e0f846164e | |||
| 9314bb8bb4 | |||
| b9d9771523 | |||
| d2aa3c195b | |||
| dd60d5a721 | |||
| c04eb08f78 | |||
| 418983c490 | |||
| 95060838e2 | |||
| 6973640b4e | |||
| a49d0129e7 | |||
| 394acfa06d | |||
| 04089744e6 | |||
| 75711c6c20 | |||
| c4032b5b94 | |||
| d7820ed373 | |||
| d9f8318e66 | |||
| a5a80276ac | |||
| c070d7cb92 | |||
| c138fe67d6 | |||
| 2697645abe |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -25,6 +25,8 @@ Config/DNS/config/*
|
|||||||
|
|
||||||
# Ignore anything in disabled folders.
|
# Ignore anything in disabled folders.
|
||||||
disabled
|
disabled
|
||||||
|
*.disabled
|
||||||
|
disabled.*
|
||||||
|
|
||||||
# Ignore any .env files which are not explicitly committed to the project.
|
# Ignore any .env files which are not explicitly committed to the project.
|
||||||
*.env
|
*.env
|
||||||
@@ -35,10 +37,16 @@ docker-compose.yml
|
|||||||
# 2024-01-24 Hide static files for Hyperling.com.
|
# 2024-01-24 Hide static files for Hyperling.com.
|
||||||
Config/Hyperling.com/files/*
|
Config/Hyperling.com/files/*
|
||||||
|
|
||||||
# Ignore things like "Config/Hyperling.com-Stage/""
|
# Ignore things like "Config/Hyperling.com-Stage/"
|
||||||
*-Stage
|
*-Stage
|
||||||
Stage-*
|
Stage-*
|
||||||
|
|
||||||
# Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite".
|
# Ignore copies of the Hugo configuration, such as "Config/Hugo-MyWebsite".
|
||||||
Hugo-*
|
Hugo-*
|
||||||
*-Hugo
|
*-Hugo
|
||||||
|
|
||||||
|
# Ignore Prod and Dev copies as well.
|
||||||
|
*-Prod
|
||||||
|
Prod-*
|
||||||
|
*-Dev
|
||||||
|
Dev-*
|
||||||
|
|||||||
@@ -17,12 +17,17 @@ DEV="$4"
|
|||||||
typeset -u DEV
|
typeset -u DEV
|
||||||
echo "DEV='$DEV'"
|
echo "DEV='$DEV'"
|
||||||
|
|
||||||
|
SITE="/var/www/hugo/site"
|
||||||
|
|
||||||
echo "*** Creating Git Repo ***"
|
echo "*** Creating Git Repo ***"
|
||||||
sudo -u www-data git clone --recurse-submodules $BRANCH $REPO /var/www/hugo/site
|
if [[ -d $SITE ]]; then
|
||||||
|
rm -rfv $SITE
|
||||||
|
fi
|
||||||
|
sudo -u www-data git clone --recurse-submodules $BRANCH $REPO $SITE
|
||||||
status="$?"
|
status="$?"
|
||||||
|
|
||||||
echo "*** Validating Git Repo ***"
|
echo "*** Validating Git Repo ***"
|
||||||
if [[ $status != 0 || ! -d /var/www/hugo/site/.git ]]; then
|
if [[ $status != 0 || ! -d $SITE/.git ]]; then
|
||||||
echo "ERROR: Hugo project may not have cloned correctly. status='$status'"
|
echo "ERROR: Hugo project may not have cloned correctly. status='$status'"
|
||||||
echo "Aborting."
|
echo "Aborting."
|
||||||
exit 1
|
exit 1
|
||||||
@@ -62,7 +67,7 @@ if [[ "$DEV" == "Y"* || "$DEV" == "T"* ]]; then
|
|||||||
http_code="`curl -sS http://localhost:1380 -o /dev/null -w "%{http_code}"`"
|
http_code="`curl -sS http://localhost:1380 -o /dev/null -w "%{http_code}"`"
|
||||||
if [[ $http_code != 200 ]]; then
|
if [[ $http_code != 200 ]]; then
|
||||||
echo "* Dev server not detected, starting..."
|
echo "* Dev server not detected, starting..."
|
||||||
cd /var/www/hugo/site
|
cd $SITE
|
||||||
killall hugo 2>/dev/null
|
killall hugo 2>/dev/null
|
||||||
sudo -u www-data 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
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
FROM node:lts-slim
|
FROM node:lts-slim
|
||||||
|
|
||||||
# Cache System Dependencies
|
# Cache System Dependencies
|
||||||
RUN apt-get update && apt-get install -y git php-cli sudo curl
|
RUN apt-get update && apt-get install -y git php-cli sudo curl procps
|
||||||
|
|
||||||
# Cache Node Dependencies
|
# Cache Node Dependencies
|
||||||
RUN mkdir -p /var/www/api
|
RUN mkdir -p /var/www/api
|
||||||
@@ -16,10 +16,18 @@ RUN npm install
|
|||||||
|
|
||||||
# Install + Run Website
|
# Install + Run Website
|
||||||
CMD cd /var/www/api && \
|
CMD cd /var/www/api && \
|
||||||
rm -rfv pages main.js run.sh && \
|
echo "Dockerfile: Ensure symlink is properly deleted if it exists..." && \
|
||||||
git clone https://git.hyperling.com/me/nodejs-website website && \
|
ls -l website/files; rm -v website/files; sleep 0 && \
|
||||||
rm -rfv website/files && \
|
echo "Dockerfile: Clone the website's Git repo..." && \
|
||||||
mv -v website/* ./ && \
|
|
||||||
rm -rfv website && \
|
rm -rfv website && \
|
||||||
echo "Starting Website's Run Script" && \
|
git clone https://git.hyperling.com/me/nodejs-website $BRANCH website && \
|
||||||
|
echo "Dockerfile: Remove dummy files and replace with symlink..." && \
|
||||||
|
rm -rfv website/files && \
|
||||||
|
cd website && \
|
||||||
|
echo -n "Dockerfile: Using branch " && \
|
||||||
|
git branch && \
|
||||||
|
ln -sv ../files ./files && \
|
||||||
|
echo "Dockerfile: Allow files under files/ to be ignored by Git..." && \
|
||||||
|
find ./files -exec git update-index --assume-unchanged {} \; && \
|
||||||
|
echo "Dockerfile: Start website!" && \
|
||||||
./run.sh
|
./run.sh
|
||||||
|
|||||||
@@ -10,11 +10,15 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 8317:8080
|
- 8317:8080
|
||||||
|
environment:
|
||||||
|
- BRANCH=$BRANCH
|
||||||
|
- CPU=$CPU
|
||||||
|
- MEM=$MEM
|
||||||
volumes:
|
volumes:
|
||||||
- ./files:/var/www/api/files
|
- ./files:/var/www/api/files
|
||||||
deploy:
|
deploy:
|
||||||
mode: global
|
mode: global
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpus: '0.25'
|
cpus: $CPU
|
||||||
memory: 256M
|
memory: $MEM
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# 2022-10-29
|
|
||||||
# Hyperling.com configuration.
|
|
||||||
# 2023-01-24 container needs 128M to get started fully then settles to 25M.
|
|
||||||
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
container_name: www-app
|
|
||||||
build:
|
|
||||||
context: ./
|
|
||||||
network: host
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- 8317:8080
|
|
||||||
volumes:
|
|
||||||
- ./files:/var/www/api/files
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '0.10'
|
|
||||||
memory: 128M
|
|
||||||
@@ -7,3 +7,18 @@
|
|||||||
# Subsequent builds consistently take less than 2 seconds.
|
# Subsequent builds consistently take less than 2 seconds.
|
||||||
# Testing was done on the micro server, not a workstation.
|
# Testing was done on the micro server, not a workstation.
|
||||||
COMPOSE_BAKE=true
|
COMPOSE_BAKE=true
|
||||||
|
|
||||||
|
## Branch ##
|
||||||
|
# Allow choosing the branch. By leaving it blank, the main branch will be used.
|
||||||
|
# Should be in the full "--branch my-branch" syntax.
|
||||||
|
BRANCH=
|
||||||
|
#BRANCH="--branch dev"
|
||||||
|
|
||||||
|
## Performance ##
|
||||||
|
# Standard Server
|
||||||
|
CPU=0.25
|
||||||
|
MEM=0.25G
|
||||||
|
# Micro Server
|
||||||
|
# 2023-01-24 container needs 128M to get started fully then settles to 25M.
|
||||||
|
#CPU=0.10
|
||||||
|
#MEM=128M
|
||||||
|
|||||||
@@ -47,3 +47,7 @@ MODELS_DIR=../../Volumes/LibreTranslate/models
|
|||||||
## them from backup type locations such as Volumes/LibreTranslate/ and /var/.
|
## them from backup type locations such as Volumes/LibreTranslate/ and /var/.
|
||||||
## Please see the README for the CRON command related to this setting.
|
## Please see the README for the CRON command related to this setting.
|
||||||
# MODELS_DIR=/tmp/LibreTranslate/models
|
# MODELS_DIR=/tmp/LibreTranslate/models
|
||||||
|
|
||||||
|
## Can also place them under /opt/ which may be recommended by FHS standards.
|
||||||
|
## This keeps them from taking up precious RAM / swap if using tmpfs or similar.
|
||||||
|
# MODELS_DIR=/opt/LibreTranslate/models
|
||||||
|
|||||||
@@ -11,17 +11,24 @@ source $DIR/../source.env
|
|||||||
|
|
||||||
TAG="Docker"
|
TAG="Docker"
|
||||||
DATE="`date "+%Y%m%d-%H%M%S"`"
|
DATE="`date "+%Y%m%d-%H%M%S"`"
|
||||||
BASENAME="/tmp/Backup"
|
BACKUP_DIR="/srv/backup"
|
||||||
file="$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
|
BASENAME="Backup"
|
||||||
|
file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
|
||||||
time="`which time`"
|
time="`which time`"
|
||||||
|
|
||||||
## Main ##
|
## Main ##
|
||||||
|
|
||||||
|
# Ensure backup directory exists with correct permissions.
|
||||||
|
mkdir -pv "$BACKUP_DIR"
|
||||||
|
mkdir -pv "$BACKUP_DIR/TRASH"
|
||||||
|
chmod -Rv 775 "$BACKUP_DIR"
|
||||||
|
chown -Rv root:root "$BACKUP_DIR"
|
||||||
|
|
||||||
# Remove the last backup.
|
# Remove the last backup.
|
||||||
if [[ -e $file ]]; then
|
echo "`date` - Removing existing files."
|
||||||
echo "`date` - Removing existing file."
|
cd "$BACKUP_DIR"
|
||||||
rm -fv "$BASENAME"*"$TAG"*
|
mv -v "$BASENAME"*"$TAG"* TRASH/
|
||||||
fi
|
rm -v TRASH/*
|
||||||
|
|
||||||
echo -e "\n`date` - Take down services for a cold backup."
|
echo -e "\n`date` - Take down services for a cold backup."
|
||||||
manage.sh -d
|
manage.sh -d
|
||||||
|
|||||||
Reference in New Issue
Block a user