Containairized Jekyll.
Go to file
Winston Smith 1f9c311b6c
feat: display current env vars
2024-01-08 22:19:10 +01:00
data chore: better folder structure 2023-12-05 09:27:45 +01:00
jekyll/descriptions chore: better folder structure 2023-12-05 09:27:45 +01:00
.gitignore chore: better folder structure 2023-12-05 09:27:45 +01:00
Dockerfile fix: env var management 2024-01-08 22:16:46 +01:00
README.md chore: better folder structure 2023-12-05 09:27:45 +01:00
docker-compose.yml feat: ruby bundle directory as volume 2024-01-08 22:17:43 +01:00
entrypoint.sh feat: display current env vars 2024-01-08 22:19:10 +01:00

README.md

Dockerized Jekyll

Presentation

A dynamicaly configurable Jekyll container.
I Needed a static site generator which I could put in container I found Jekyll.
Alas, existing containers available on the net where either too old or too complex for my understanding.
Counting on my modest shell scripting skills, I managed to give life to an abomination working mainly by the mighty will of GNU sed.

How to use it ?

  • Edit ./data/.env to fit your needs. A sample is provided.
  • Create ./jekyll/descriptions/<blog_name>_description.txt, with the wanted website description.
    Be carefull to remove whitespaces at line start. It will not properly indented when put in the _config.yml, fudging up the description format. Some sed hackity-hack are done but I can't assure you that it will be easy on your eyes afterwards...
  • Build the image via the provided docker-compose.yml file.
  • Run the service.

Jekyll is started by default in "production mode", a.k.a. it will just build static files from ./jekyll/$BLOG_NAME/ content and put in ./jekyll/$BLOG_NAME/_site which you would serve via your prefered reverse-proxy.
If you want your files to be served by jekyll (for testing needs, enjoying the glorious live-reload feature), just change JEKYLL_ENV to anything other that production. 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.).

Disclaimer

This software is provided as-is and is the offspring of a humble sysadmin mind, constantly learning new things.
It will be improved the time beeing.

TO-DO

  • Properly configure the live-reload port feature.
  • More robust code
  • More easier to use
  • templates