The GDHost is a middleware service that will allow user to upload and host application using docker. This project is part of my portfolio so I did not include any user management and authorization.
- Manage Deployments
- Upload/Create/Download Dockerfile
- Manage Container (Create/Stop/Start/Delete/Log)
Please refer example_configuration.json for configuration.
Please refer to deployment.postman_collection.json for API documentation.
- Install docker on the server/machine
- Install mongodb on the server/machine
- Edit example_configuration.json to configuration.json. Env variables will work the same.
- Run the service as executable file. Need /internal/template folder to be in the same folder as executable.
- Use the REST API to manage.
- Archive the application into a zip file. Please do not include .git or hidden files.
- Upload into the server.
- Either upload or generate(currently on go) Dockerfile.
- Run the deployment with ports (need for the first time)
- Extra: You can get the logs from the application with one of the API (SSE)
- Dangling Images are created when image creation.
- Improve Log Format and retrive from the very start(container create)
Please use a proper license for the docker backend.