Skip to content

Complete Docker ecosystem integration and common LLM runtime flow - #20

Merged
abmmhasan merged 509 commits into
mainfrom
plan/docker-ecosystem-bottom-up
Sep 21, 2026
Merged

abmmhasan merged 509 commits into
mainfrom
plan/docker-ecosystem-bottom-up

Conversation

@abmmhasan

@abmmhasan abmmhasan commented Sep 18, 2026 •

Copy link
Copy Markdown
Member

Summary

Complete the LocalDevStack bottom-up Docker ecosystem integration and adapt local AI to the final mutually-exclusive provider architecture.

Local AI architecture

Exactly one provider is active per stack:

supported AMD XDNA2 NPU -> llm-fastflow -> infocyph/llm-fastflow:latest
NVIDIA GPU              -> llm-ollama  -> infocyph/llm-ollama:latest
AMD ROCm GPU             -> llm-ollama  -> infocyph/llm-ollama:amd-latest
CPU fallback             -> llm-ollama  -> infocyph/llm-ollama:latest

llm-fastflow and llm-ollama are mutually exclusive and never intentionally run together. The active service owns the common Docker alias llm:11434.

Provider-neutral consumers use:

LDS_AI_PROVIDER=llm
LDS_AI_URL=http://llm:11434
https://llm.localhost/v1
http://127.0.0.1:11434/v1

Provider-specific routes remain available for diagnostics/native operations.

Runtime/model behavior

  • XDNA2 NPU detection wins automatically when supported.
  • lds llm runtime auto|npu|nvidia|amd|cpu controls explicit runtime selection.
  • FastFlow default model: qwen3.5:9b.
  • Ollama default model: qwen3:14b.
  • New setup leaves LDS_AI_MODEL blank so the active provider default applies.
  • Graphify uses the common llm.localhost:11434/v1 route and validates the selected model through /v1/models.
  • Local Graphify extraction uses ephemeral provider definitions and forces thinking off for strict structured output.
  • LDS_AI_THINK / lds llm think <auto|on|off> provide one common thinking override across Ollama and FastFlow API-backed commands.
  • LDS_LLM_ARCH has been removed; tracked Ollama uses :latest directly and the AMD runtime override selects :amd-latest directly.
  • Nginx owns the loopback-only native port; provider containers remain internal.

Provider persistence

LLMModels         -> Ollama /root/.ollama
LLMFastFlowModels -> FastFlow /models

Neither provider receives a Docker socket or project/repository bind mount by default.

Other completed hardening

  • dynamic LocalDevStack networks + safe legacy-network migration
  • current moving image policy with the verified Elastic 9.5.4 exception
  • selected PHP/Node Alpine runtime builds
  • profile NONE/cancel/current-value semantics
  • provider/tool stdin forwarding
  • relative support-bundle output paths
  • scoped cleanup and diagnostics
  • current Tools/Runner/Nginx/Apache integration
  • current published-image compatibility checks
  • documentation and implementation-plan finalization

Validation

Final branch validation covers:

  • static + ShellCheck
  • CLI/environment/catalog/runtime/network/wrapper/security/QoL/docs contracts
  • mutually-exclusive Ollama/FastFlow Compose matrices
  • common OpenAI-compatible LLM fixture
  • published llm-fastflow:latest and Ollama image references
  • current Tools 0.25 common-llm consumer contract
  • Windows bridge
  • Sphinx documentation
  • selected PHP/Node runtime builds

Plan

docs/plans/docker-ecosystem/07-localdevstack-integration-plan.md

The final AI provider override at the end of the plan supersedes the earlier Ollama-only planning text.

@abmmhasan
abmmhasan marked this pull request as ready for review September 21, 2026 14:36
@abmmhasan
abmmhasan merged commit b7f57c0 into main Sep 21, 2026
14 checks passed
@abmmhasan
abmmhasan deleted the plan/docker-ecosystem-bottom-up branch September 23, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant