Update deployment types

This commit is contained in:
Fred Boniface 2023-02-16 20:40:42 +00:00
parent b65914487f
commit 224891d2b5
4 changed files with 59 additions and 10 deletions

43
conf/deploy.sh Normal file
View File

@ -0,0 +1,43 @@
#!/bin/bash
ROOTIN="/data/in"
ROOTOUT="/data/out"
echo "Running UglifyJS on /data/in folder"
uglifyjs-folder "$ROOTIN" -x ".js" -eo "$ROOTOUT"
echo "Running UglifyCSS"
CSSIN="/data/in/style/"
CSSOUT="/data/out/style"
cd $CSSIN
echo "Changed directory"
for f in *
do
if [ -f "$f" ]; then
uglifycss "$f" --output "$f";
fi
done
echo "Moving 'styles' to 'out'"
cp -r $CSSIN $CSSOUT
echo "Running html-minifier-terser on /folder"
HTMLIN="/data/in/"
HTMLOUT="/data/out"
html-minifier-terser --collapse-whitespace --remove-comments --file-ext html --input-dir /data/in/ --output-dir /data/out/
#echo "Moving JSON Manifest file from root to output"
#cat /data/in/manifest.json | jq -c > /data/out/manifest.json
echo "Moving other files folder from in/ to out/"
cp -r /data/in/images /data/out/images
cp -r /data/in/error-pages/*.php /data/out/error-pages/
cp -r /data/in/downloads /data/out/downloads
cp -r /data/in/*.php /data/out/
cp -r /data/in/*.ico /data/out/
cp -r /data/in/page-blocks /data/out/page-blocks
cp -r /data/in/php /data/out/php
echo "Running GZIP & Brotli on all HTML, JS, CSS, JSON, SVG, TTF, VCF, PUB files"
find /data/out -type f -name \*.html -or -name \*.vcf -or -name \*.pub -or -name \*.js -or -name \*.css -or -name \*.json -or -name \*.svg -or -name \*.ttf | while read file; do gzip -k -9 $file; brotli -k -q 11 $file; done

View File

@ -1,12 +1,12 @@
user nginx;
worker_processes auto;
worker_processes 1;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
worker_connections 128;
}
http {
@ -19,8 +19,7 @@ http {
sendfile on;
keepalive_timeout 65;
gzip_static on;
gzip on;
gzip_types text/html text/css application/json text/javascript text/plain font/ttf;
brotli_static on;
server {
listen 80;
@ -37,7 +36,7 @@ http {
index index.php;
try_files $uri $uri/ $uri/index.php &uri/index.html =404;
break;
expires 4320;
expires 7d;
}
location ~ \.php$ {

View File

@ -7,6 +7,5 @@ EMAIL;CHARSET=UTF-8;type=HOME,INTERNET:fred@fjla.uk
TEL;TYPE=HOME,VOICE:03331126831
ADR;CHARSET=UTF-8;TYPE=HOME:;;;Bath;;;United Kingdom
URL;CHARSET=UTF-8:https://fredboniface.co.uk
NOTE;CHARSET=UTF-8:vCard generated at vcardmaker.com
REV:2022-10-06T21:38:40.052Z
END:VCARD
END:VCARD

View File

@ -1,4 +1,12 @@
FROM nginx:mainline-alpine-slim
FROM fedora:latest as compressor
RUN dnf install brotli nodejs npm jq -y
RUN npm i uglifyjs-folder uglifycss html-minifier-terser -g
COPY . /data/in
RUN bash /data/in/conf/deploy.sh
FROM fholzer/nginx-brotli:latest
RUN rm /etc/nginx/nginx.conf
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY . /site
RUN apk update
RUN apk add --upgrade libxml2 libxslt
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
COPY --from=compressor /data/out/ /site/