It consists of:
- an API (Go)
- a web portal (React)
- a web proxy (Go)
- an ssh proxy (Go)
- an oAuth server (Go)
- an hypervisor (Docker)
2 pages about "Pathwar"
dockerself is a program that creates a new Docker container, injects itself, and finally runs itself from within Docker.
For the record, I was working on pathwar (a security learning platform) and was trying to design the less-constraining way of creating new levels.
My current best idea is to inject a custom entrypoint when the platform starts a new container, instead of requiring the level developers to adapt their Dockerfile.
Additionally, to the simplicity that is added for a level developer, this pattern also has the advantage of always putting the latest version of the entrypoint, even if the image was not updated for a very long time.