feat: add production mode

This commit is contained in:
Winston Smith 2023-11-23 00:04:51 +01:00
parent ceafb9184f
commit 64990a8853
3 changed files with 16 additions and 3 deletions

View File

@ -15,6 +15,7 @@ Counting on my modest shell scripting skills, I managed to give life to an abomi
- Build the image via the provided `docker-compose.yml` file. - Build the image via the provided `docker-compose.yml` file.
- Run the service. - Run the service.
Jekyll is started by default in "production mode", a.k.a. it will just build static files. If you want your files to be served by jekyll for testing needs, just change `JEKYLL_ENV` to anything other that `production`.
Variables in .env and the site description are updated at container restart. Variables in .env and the site description are updated at container restart.
**Keep in mind that changing your site name (with `BLOG_NAME` var) will fudge up all reference files (site description, site path etc.).** **Keep in mind that changing your site name (with `BLOG_NAME` var) will fudge up all reference files (site description, site path etc.).**

View File

@ -1,5 +1,6 @@
AUTHOR_EMAIL= AUTHOR_EMAIL=
BLOG_NAME= BLOG_NAME=
JEKYLL_ENV=
LIVERELOAD_PORT= LIVERELOAD_PORT=
GITHUB_USERNAME= GITHUB_USERNAME=
HOST_URL= HOST_URL=

View File

@ -6,13 +6,14 @@ export BASE_URL=$BASE_URL
export GEM_HOME="/usr/local/bundle" export GEM_HOME="/usr/local/bundle"
export GITHUB_USERNAME=$GITHUB_USERNAME export GITHUB_USERNAME=$GITHUB_USERNAME
export HOST_URL=$HOST_URL export HOST_URL=$HOST_URL
export JEKYLL_ENV=${JEKYLL_ENV:-production}
export LIVERELOAD_PORT=$LIVERELOAD_PORT export LIVERELOAD_PORT=$LIVERELOAD_PORT
export PATH="$GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH" export PATH="$GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH"
export SITE_PATH="/app/jekyll/$BLOG_NAME" export SITE_PATH="/app/jekyll/$BLOG_NAME"
export SITE_TITLE=$SITE_TITLE export SITE_TITLE=$SITE_TITLE
export THEME=$THEME export THEME=$THEME
export TWITTER_USERNAME=$TWITTER_USERNAME export TWITTER_USERNAME=$TWITTER_USERNAME
export WWW_PORT=$WWW_PORT export WWW_PORT=${WWW_PORT:-4000}
export URL=$URL export URL=$URL
update_config() { update_config() {
@ -66,12 +67,22 @@ cd /app/jekyll &&
bundle install bundle install
update_config update_config
update_description update_description
bundle exec jekyll serve --host $HOST_URL [[ "$JEKYLL_ENV" == "production" ]] &&
{
bundle exec jekyll build --trace
} || {
bundle exec jekyll serve --host $HOST_URL
}
} || { } || {
jekyll new $SITE_PATH jekyll new $SITE_PATH
cd $SITE_PATH cd $SITE_PATH
bundle install bundle install
update_config update_config
update_description update_description
bundle exec jekyll serve --host $HOST_URL [[ "$JEKYLL_ENV" == "production" ]] &&
{
bundle exec jekyll build --trace
} || {
bundle exec jekyll serve --host $HOST_URL
}
} }