Fix: Docker installation
I tried the docker installation and there is some errors while building the image.
Just a quick review of the implementation of docker in general and I can see there's some services that are build inside the image (Ex.: Redis) while this service could be called individually in the docker-compose.yml, at least I think this should be the optimal way of implementing services. And this way we can lock the version of the service and separate it from the rest of the build (app that was developed).
I will make a fork and PR and try to review the full installation and implementation of the project with docker. It can take some time, and I will probably need some help with some questions, but I will do my best.
I'm going to try to leave a list of how this should be implemented or things I think should be optimized:
- [ ] Improve readability of the
docker-compose.ymlfile - [ ] Review
Dockerfileto solve errors while building image - [ ] Review Services that are build inside the
Dockerfilewith theinstalling_deps.shscripts - [ ] After reviewing the
Dockerfile, review thedocker-compose.ymlfile with the new services - [ ] The final objective should be build the image and after that we should only execute
docker compose up -dand the project should be up and running.
I will take over this Issue and implement some of OPs ideas.
Hello @SteveClement,
did you have a chance to look at Docker installer? I have been working on it a little bit and would not mind to sync with you not to duplicate the effort.
Sorry just saw it now. Will check over the weekend.
I mean there is not much to check. My question is more towards collaboration on common goal (Containers). I have made some changes to make it more container ready and still keep backwards compatibility, but it needs much bigger overhaul. You can check here: https://github.com/ail-project/ail-framework/compare/master...rht-jbittner:ail-framework:master. My final goal is to make it Openshift ready.
Looks good. Will merge.
Thanks for the effort, CIRCL is generally not a fan of containerization so it generally is not up to common industry standards when it comes to docker for example, thus it is highly appreciated.
We will test it out with our cyber range https://github.com/range42 which is exclusively built around orchestration with ansible and docker deployment.
So you want to eventually deploy AIL in containers and for the orchestration you plan to use Ansible instead of say docker-compose?
The orchestration part are the internals of the cyber range. It deploys docker containers. So for example if you have a cyber range exercise and want to deploy an AIL instance the participants can use, having AIL fully dockerized in the right way, would be great.
I went through your changes and they look vrey good. It basically implemented the next steps of what we needed to make it less "hacky". So please do a PR.
The only things I would ask you is to push the file GEMINI.md onto a seprate branch: https://github.com/ail-project/ail-framework/tree/codex This branch will host all the AI generated contexts. Once you submitted your file I will add an AGENTS.md (from chatgp) and a CLAUDE.md from, well, Claude.ai :) We started doing this on other projects and this branch is only to be used for AI generated contexts. I am not fully sure it is a good idea, but it definetly will be easier to digest for people who are AI averse.
All in all, good job! Thanks a lot for your contributions.
Merged your changes into dev for testing: https://github.com/ail-project/ail-framework/pull/295
@Terrtia FYI, merged master -> dev where I will do some more changes (CI/CD is out of date by quite a few python versions)
Where should I put new dockerfile and related files? I am little bit hesitant of changing https://github.com/ail-project/ail-framework/tree/codex/other_installers/docker files as someone could be using those. Any ideas?
You can replace it. This one is broken
Do you have any chat where I can reach out when I have questions about the project or perhaps proposals for enhancement before I submit pr?
Anyways, I have created new merge (pull) request: https://github.com/ail-project/ail-framework/pull/310. Let me know what you think.
I think it would be great to further separate AIL web with scripts or feeder, but that needs deeper understanding of how AIL work which I do not have yet.