Currently jekyll serve serves the website to the internet. However jekyll serve is intended for local development rather than serving production. This leads to some disadvantages.
jekyll has had critical security issues in the past and its multiple uses lead to larger than necessary surface area to secure. jekyll dependencies regularly raise security warnings in GitHub
jekyll is not designed for the purpose of serving static files in production --> jekyll serve isn't as efficient as could be
Proposed solution
utilize jekyll only for building the website and introduce nginx for only serving the website
isolate the two pieces when serving the website using a multistage docker build
Familiarize PiE staff with Docker
Possible dev path
Starting from scratch with an empty Dockerfile, build up to the final thing in 3 parts
validate its working between each part
Part 0
Familiarize with some Docker building blocks in parts 1 and 2 of Docker's tutorial
Part 1
Serve an arbitrary text file (such as the website's readme.md) using the Nginx image
Problem
jekyll serve
serves the website to the internet. Howeverjekyll serve
is intended for local development rather than serving production. This leads to some disadvantages.jekyll
has had critical security issues in the past and its multiple uses lead to larger than necessary surface area to secure.jekyll
dependencies regularly raise security warnings in GitHubjekyll
is not designed for the purpose of serving static files in production -->jekyll serve
isn't as efficient as could beProposed solution
Possible dev path
Part 0
Part 1
Part 2
Part 3