data | ||
jekyll/descriptions | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
entrypoint.sh | ||
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