Skip to content

feat: Add local development setup with Docker Compose#179

Open
ZaidAli3642 wants to merge 1 commit intokubeflow:mainfrom
ZaidAli3642:feat/local-dev-setup
Open

feat: Add local development setup with Docker Compose#179
ZaidAli3642 wants to merge 1 commit intokubeflow:mainfrom
ZaidAli3642:feat/local-dev-setup

Conversation

@ZaidAli3642
Copy link
Copy Markdown

@ZaidAli3642 ZaidAli3642 commented Mar 27, 2026

Summary

  • Add Docker Compose configuration to run the full stack locally (Milvus + API server)
  • Add .env.example with environment variable template
  • Add scripts/local_ingest.py for local data ingestion without Kubeflow Pipelines
  • Add root Dockerfile for local development
  • Update README.md with Local Development Setup section

Problem

Currently there is no way to run the project locally. The README assumes a Kubernetes cluster with GPU nodes, KServe, and Kubeflow Pipelines. This makes it difficult for new contributors to set up and test the project.

Solution

Provide a Docker Compose setup that runs the full stack locally with 4 commands:

cp .env.example .env
ollama pull llama3.1:8b
docker-compose up --build -d
docker exec docs-agent-api python local_ingest.py

This uses:

- Docker Compose for Milvus (instead of Helm + Kubernetes)
- Ollama for LLM inference (instead of KServe + vLLM which requires NVIDIA GPUs)
- local_ingest.py for data ingestion (instead of Kubeflow Pipelines)


## Test plan

- [ ] docker-compose up --build -d starts all 4 services
- [ ] docker exec docs-agent-api python local_ingest.py ingests docs
- [ ] curl test returns a valid response
- [ ] Existing Kubernetes deployment files are not modified

Add Docker Compose configuration and supporting files to enable
local development without a Kubernetes cluster.

Changes:
- Add docker-compose.yml (Milvus + API server)
- Add Dockerfile for local development
- Add .env.example with environment variable template
- Add scripts/local_ingest.py for local data ingestion
- Update README.md with Local Development Setup section
- Fix whitespace in server-https/Dockerfile

Signed-off-by: Zaid Saleem <zaidali36422@gmail.com>
@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign franciscojavierarceo for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant