This is the Jekyll and architecture source code of the pasztor.at website.
If you want to support me in crazy endeavours like this, you can do so on
(Click the image to go to my Patreon page.)
Text and images are protected by copyright, everything else is free for learning / copypasting.
Notable parts of this repository:
- _ansible: contains the Ansible source code to deploy the CDN behind the website
- _docker: contains the Docker containers running on the aforementioned CDN
- _includes, _layouts, _plugins, _sass: Jekyll theme stuff
- _posts: Blog posts and events for Jekyll
- assets: Contains graphics and other assets for the site.
- .build.sh: The Jekyll build script
- .cssh.sh: Cluster SSH to all CDN nodes
- .deploy.sh: rsync script to deploy the generated content
- .dns.json: The Route53 DNS settings
- .dns.sh: The script to deploy Route53 DNS settings
- .optimize.sh: Script to optimize PNG images using optipng
About the CDN
Each node is running three servers: traefik to handle SSL and forward requests, nginx to serve the actual content and PHP-FPM to handle PHP requests. These nodes are run in separate Docker contaienrs using docker-compose.
Content is deployed using rsync after it is generated by Jekyll.