Introduction
The Melton Foundation wanted to find a way to keep their fellows more engaged, a group of dashing young fellows comes by and decides to save the day with a new app! Said app needs a frontend-backend component, like most apps do. But hosting a backend costs money, time, patience, love and care - So I (Pari) come to help out.
The Melton API is largely written in python and uses GitHub as a versioning system. They need a way to host it such that it is publically available through a public DNS address. Ideally the hosting also has some alert management, logging,etc.
The hosting destination was quite clear for me: Indenwolken - My VPS running some of my other tools and services. But getting the code in a usable form onto the server wasn't straightforward.
Solutions that were needed:
- DockerFile to create a docker image - simpler to host
- Docker image hosting - Probably will use dockerhub
- CI system - To run tests, build the image - Potentially could use Jarvis or GithubActions
- CD/Orchestration system - To connect to to the server and start the docker image - Potentially could use Rancher, Nomad or Ansible
- Logging system - To collect and store logs - Could use the default docker logging driver or Loki
- Alerting - To figure out when the service is down and alert me - Notification via Telegram/PagerDuty
I will go through each of the topics page by page, and summarise it in the end.