ail-framework icon indicating copy to clipboard operation
ail-framework copied to clipboard

Fix: Docker installation

Open FilipeS0usa opened this issue 1 year ago • 12 comments

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.yml file
  • [ ] Review Dockerfile to solve errors while building image
  • [ ] Review Services that are build inside the Dockerfile with the installing_deps.sh scripts
  • [ ] After reviewing the Dockerfile, review the docker-compose.yml file with the new services
  • [ ] The final objective should be build the image and after that we should only execute docker compose up -d and the project should be up and running.

FilipeS0usa avatar Dec 13 '24 22:12 FilipeS0usa

I will take over this Issue and implement some of OPs ideas.

SteveClement avatar Jul 05 '25 11:07 SteveClement

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.

rht-jbittner avatar Nov 07 '25 12:11 rht-jbittner

Sorry just saw it now. Will check over the weekend.

SteveClement avatar Nov 07 '25 16:11 SteveClement

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.

rht-jbittner avatar Nov 07 '25 16:11 rht-jbittner

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.

SteveClement avatar Nov 07 '25 16:11 SteveClement

So you want to eventually deploy AIL in containers and for the orchestration you plan to use Ansible instead of say docker-compose?

rht-jbittner avatar Nov 07 '25 17:11 rht-jbittner

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.

SteveClement avatar Nov 07 '25 21:11 SteveClement

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)

SteveClement avatar Nov 09 '25 07:11 SteveClement

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?

rht-jbittner avatar Nov 12 '25 14:11 rht-jbittner

You can replace it. This one is broken

Terrtia avatar Nov 12 '25 14:11 Terrtia

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?

rht-jbittner avatar Nov 14 '25 10:11 rht-jbittner

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.

rht-jbittner avatar Nov 19 '25 14:11 rht-jbittner