[PR #245] [MERGED] Add Docker machinery for ready-made images #349

Closed
opened 2026-02-16 01:16:59 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/run-llama/llama_deploy/pull/245
Author: @masci
Created: 9/9/2024
Status: Merged
Merged: 9/12/2024
Merged by: @logan-markewich

Base: mainHead: docker


📝 Commits (10+)

📊 Changes

33 files changed (+437 additions, -144 deletions)

View changed files

.github/workflows/docker_release.yml (+51 -0)
docker/Dockerfile.base (+39 -0)
docker/README.md (+62 -0)
docker/docker-bake.hcl (+32 -0)
docker/docker-compose-kafka.yml (+52 -0)
docker/docker-compose-rabbitmq.yml (+46 -0)
docker/docker-compose-redis.yml (+39 -0)
docker/docker-compose-simple.yml (+39 -0)
docker/entrypoint.py (+51 -0)
📝 examples/python_fullstack/README.md (+15 -8)
📝 examples/python_fullstack/docker-compose.yml (+8 -54)
📝 examples/python_fullstack/frontend/.gitignore (+0 -0)
📝 examples/python_fullstack/frontend/assets/favicon.ico (+0 -0)
📝 examples/python_fullstack/frontend/dockerfile (+0 -0)
📝 examples/python_fullstack/frontend/frontend/__init__.py (+0 -0)
📝 examples/python_fullstack/frontend/frontend/frontend.py (+0 -0)
📝 examples/python_fullstack/frontend/frontend/state.py (+0 -0)
📝 examples/python_fullstack/frontend/frontend/style.py (+0 -0)
examples/python_fullstack/frontend/requirements.txt (+2 -0)
📝 examples/python_fullstack/frontend/rxconfig.py (+0 -0)

...and 13 more files

📄 Description

This PR introduces the machinery needed to build (and possibly publish) basic docker images for the control plane and the message queue. This would greatly simplify the deployment of custom workflows, which would not need to carry around the python code needed to setup llama_deploy. For example, the full-stack example would go from this:

├── README.md
├── docker-compose.yml
├── llama_deploy_app
│   ├── control_plane
│   │   ├── deploy.py
│   │   ├── dockerfile
│   │   └── requirements.txt
│   ├── frontend
│   │   ├── assets
│   │   │   └── favicon.ico
│   │   ├── dockerfile
│   │   ├── frontend
│   │   │   ├── __init__.py
│   │   │   ├── frontend.py
│   │   │   ├── state.py
│   │   │   └── style.py
│   │   ├── requirements.txt
│   │   └── rxconfig.py
│   ├── message_queue
│   │   ├── deploy.py
│   │   ├── dockerfile
│   │   └── requirements.txt
│   └── workflows
│       ├── agent_workflow.py
│       ├── data
│       │   └── attention.pdf
│       ├── deploy.py
│       ├── dockerfile
│       ├── rag_workflow.py
│       └── requirements.txt
└── llama_deploy_frontend.png

to this

├── README.md
├── docker-compose.yml
├── frontend
│   ├── assets
│   │   └── favicon.ico
│   ├── dockerfile
│   ├── frontend
│   │   ├── __init__.py
│   │   ├── frontend.py
│   │   ├── state.py
│   │   └── style.py
│   ├── requirements.txt
│   └── rxconfig.py
├── llama_deploy_frontend.png
└── workflows
    ├── agent_workflow.py
    ├── data
    │   └── attention.pdf
    ├── deploy.py
    ├── dockerfile
    ├── rag_workflow.py
    └── requirements.txt

Additionally, we could provide a pre-defined docker-compose.yml file containing the boilerplate needed for running llama_deploy so that users can just do in their compose files (if this is interesting, we can find a way to easily make available the boilerplate compose file):

  control_plane:
    extends:
      file: ../../docker/docker-compose.yml
      service: message_queue

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/run-llama/llama_deploy/pull/245 **Author:** [@masci](https://github.com/masci) **Created:** 9/9/2024 **Status:** ✅ Merged **Merged:** 9/12/2024 **Merged by:** [@logan-markewich](https://github.com/logan-markewich) **Base:** `main` ← **Head:** `docker` --- ### 📝 Commits (10+) - [`36843db`](https://github.com/run-llama/llama_deploy/commit/36843db06c3e855647c4cb9565d981401d65ab9f) first draft of docker build for default images - [`690af05`](https://github.com/run-llama/llama_deploy/commit/690af056ed74dca70a792263233ef2e79e4c82a1) remove unneeded code, move folders up one level - [`d0f9d7b`](https://github.com/run-llama/llama_deploy/commit/d0f9d7ba120dd750436728cc88cd9be4e47963ce) isolate boilerplate to a predefined compose file - [`e6954ff`](https://github.com/run-llama/llama_deploy/commit/e6954ff252a1427d491fb8f9b0355e332529d3de) linting - [`9c873f2`](https://github.com/run-llama/llama_deploy/commit/9c873f22e77d7205bf0613b0cb3b5d5df1c07661) typo - [`26684e6`](https://github.com/run-llama/llama_deploy/commit/26684e6fab302990f36383009e9787bb33b512a0) make entrypoint smarter - [`0da3d76`](https://github.com/run-llama/llama_deploy/commit/0da3d76f0b0c0badda4c6a5c8def8a37f3e1d22c) fix bug - [`5b3ed3c`](https://github.com/run-llama/llama_deploy/commit/5b3ed3ca21efb4d7f062219edab41d5b0462df49) pass extras at build time - [`3b04c01`](https://github.com/run-llama/llama_deploy/commit/3b04c013e4dae46fd63cec2af6505b2c6c96bc7f) redis base compose - [`64f619b`](https://github.com/run-llama/llama_deploy/commit/64f619b16e4ccffb86747104c902f0b9e27cd485) add readme ### 📊 Changes **33 files changed** (+437 additions, -144 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/docker_release.yml` (+51 -0) ➕ `docker/Dockerfile.base` (+39 -0) ➕ `docker/README.md` (+62 -0) ➕ `docker/docker-bake.hcl` (+32 -0) ➕ `docker/docker-compose-kafka.yml` (+52 -0) ➕ `docker/docker-compose-rabbitmq.yml` (+46 -0) ➕ `docker/docker-compose-redis.yml` (+39 -0) ➕ `docker/docker-compose-simple.yml` (+39 -0) ➕ `docker/entrypoint.py` (+51 -0) 📝 `examples/python_fullstack/README.md` (+15 -8) 📝 `examples/python_fullstack/docker-compose.yml` (+8 -54) 📝 `examples/python_fullstack/frontend/.gitignore` (+0 -0) 📝 `examples/python_fullstack/frontend/assets/favicon.ico` (+0 -0) 📝 `examples/python_fullstack/frontend/dockerfile` (+0 -0) 📝 `examples/python_fullstack/frontend/frontend/__init__.py` (+0 -0) 📝 `examples/python_fullstack/frontend/frontend/frontend.py` (+0 -0) 📝 `examples/python_fullstack/frontend/frontend/state.py` (+0 -0) 📝 `examples/python_fullstack/frontend/frontend/style.py` (+0 -0) ➕ `examples/python_fullstack/frontend/requirements.txt` (+2 -0) 📝 `examples/python_fullstack/frontend/rxconfig.py` (+0 -0) _...and 13 more files_ </details> ### 📄 Description This PR introduces the machinery needed to build (and possibly publish) basic docker images for the control plane and the message queue. This would greatly simplify the deployment of custom workflows, which would not need to carry around the python code needed to setup llama_deploy. For example, the full-stack example would go from this: ``` ├── README.md ├── docker-compose.yml ├── llama_deploy_app │   ├── control_plane │   │   ├── deploy.py │   │   ├── dockerfile │   │   └── requirements.txt │   ├── frontend │   │   ├── assets │   │   │   └── favicon.ico │   │   ├── dockerfile │   │   ├── frontend │   │   │   ├── __init__.py │   │   │   ├── frontend.py │   │   │   ├── state.py │   │   │   └── style.py │   │   ├── requirements.txt │   │   └── rxconfig.py │   ├── message_queue │   │   ├── deploy.py │   │   ├── dockerfile │   │   └── requirements.txt │   └── workflows │   ├── agent_workflow.py │   ├── data │   │   └── attention.pdf │   ├── deploy.py │   ├── dockerfile │   ├── rag_workflow.py │   └── requirements.txt └── llama_deploy_frontend.png ``` to this ``` ├── README.md ├── docker-compose.yml ├── frontend │   ├── assets │   │   └── favicon.ico │   ├── dockerfile │   ├── frontend │   │   ├── __init__.py │   │   ├── frontend.py │   │   ├── state.py │   │   └── style.py │   ├── requirements.txt │   └── rxconfig.py ├── llama_deploy_frontend.png └── workflows ├── agent_workflow.py ├── data │   └── attention.pdf ├── deploy.py ├── dockerfile ├── rag_workflow.py └── requirements.txt ``` Additionally, we could provide a pre-defined `docker-compose.yml` file containing the boilerplate needed for running llama_deploy so that users can just do in their compose files (if this is interesting, we can find a way to easily make available the boilerplate compose file): ``` control_plane: extends: file: ../../docker/docker-compose.yml service: message_queue ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 01:16:59 -05:00
yindo closed this issue 2026-02-16 01:16:59 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: run-llama/llama_deploy#349