I am doing a project for my university where I have the following requirements:
- I want to start and stop (docker) containers with different apps
- I have a singe (university) server to my disposal
- I want the starting and stopping to be somewhat automated using the universities GitLab
My current idea is the following:
Users create a new branch on an existing GitLab project. If the branch has some specific format, i.e. Deploy-0x-name
a new container is deployed on the server and accessible through the network. If the branch is deleted, the container is also removed from the server. Now I am unsure what tools to use. I was thinking about using Kubernetes, but it seems that is not ideal for a single server setup. At least that's what I read. Also, I don't really need the load balancing between different container instances as there will only be one instance of every application running. Still, I have to manage multiple applications.
Is there a better alternative for K8s in this situation, or should I use a completely different approach?
Thank you