This project contains the logic for templating ILLiad (Interlibrary Loan software) with Mustache, stylesheets in SASS and scripts in CoffeeScript.
- Uses https://github.com/barnabyalter/microservice_precompiler to render, compile and compress this project.
- Uses Docker, Kubernetes and LFTP to deploy after compile to on-prem Windows Servers.
Requires a proxy to pass from Kubernetes (on AWS) to the ILLiad servers (on-prem)- If a proxy is required for LFTP it can be reenabled by doing
echo "set ftp:proxy ${FTP_PROXY}\n" >> /home/docker/.lftp/rc
- If a proxy is required for LFTP it can be reenabled by doing
Compile:
docker compose run compile
Assuming FTP credentials are set up in docker-compose.yml (for local deploys) or in Kubernetes secrets (for remote deploys):
docker compose build dev-deploy
docker compose run dev-deploy
For more information on how we're serverlessly deploying these templates see this article. This is now implemented in the Hermes server API.
This is run within the Docker build, but to see it locally:
- Uncomment
volumes
in thecompile
service to allow creation of dist/ outside of the container:
volumes:
- .:/app
Note that dist/ is being git-ignored, so won't show up
in git status
output.
- Run the compile script:
ruby compile.rb
We allow other institutions to manage their pages without having to use our static pages by letting them submit PRs into institutions/{ILLIAD_INST_NAME}
in the ILLiad proprietary HTML already prebuilt.