feat: Docker Compose deployment + Langflow 1.7.3 / OpenWebUI upgrade#31
feat: Docker Compose deployment + Langflow 1.7.3 / OpenWebUI upgrade#31andreil-spec wants to merge 3 commits intofeature/docker-compose-deploymentfrom
Conversation
* Add Docker Compose deployment files and GHCR build workflows * chore: harden deployment configs, clean up unused upstream files - Pin Wandalen/wretry.action@v3.8.0, postgres:16.6-alpine, redis:7.4-alpine - Add resource limits to all containers across all compose files - Remove host ports from internal-only langwatch services (postgres, redis, opensearch, nlp, langevals) — only user-facing ports exposed - Make build-frontend job independent (no needs: build-main) - Remove git/gnupg from production runtime image, upgrade Node 18→20 - Add deploy/README.md with quick start and architecture docs - Remove langbuilder/.github/, openwebui/.github/ (inactive in monorepo) - Remove langbuilder/.coderabbit.yaml (duplicate, exists at repo root) - Remove unused Dockerfiles (Render, CDK, dev, base, ep, extras) * fix: address CodeRabbit review findings - Fix shell injection in GHA workflows by mapping inputs to env vars - Lowercase GHCR image paths (ghcr.io/cloudgeometry) - Add unique GHA cache scopes per build job - Quote OPENSEARCH_JAVA_OPTS in .env.example - Use fail-fast syntax for LW_NEXTAUTH_SECRET - Increase OpenSearch container memory to 1g (heap 512m = 50%) - Add language identifiers to README code blocks - Use npm ci instead of npm install in frontend Dockerfile Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: let OpenWebUI auto-generate WEBUI_SECRET_KEY Remove fail-fast constraint from compose — OpenWebUI natively generates and persists the key on first boot when the env var is not set. --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add fpdf2==2.8.2 to both langbuilder and langbuilder-base pyproject.toml to match the version already present in openwebui.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can generate a title for your PR based on the changes.Add |
* chore: remove old langbuilder and openwebui dirs to prepare for git subtree * Squashed 'langbuilder/' content from commit dbe777eca git-subtree-dir: langbuilder git-subtree-split: dbe777ecaa51042f84c6f31629d59a6596835fd2 * Squashed 'openwebui/' content from commit 140605e66 git-subtree-dir: openwebui git-subtree-split: 140605e660b8186a7d5c79fb3be6ffb147a2f498 * feat: apply CloudGeometry patches on top of upstream subtrees - langbuilder_compat shim: redirects langbuilder.* imports to langflow.* - Dockerfiles: CloudGeometry labels, LANGBUILDER_IMAGE arg, correct frontend path - deploy/docker-compose.langbuilder.yml: map LANGBUILDER_* vars to LANGFLOW_* in container - CI: add langbuilder/langbuilder_compat/** to paths trigger * feat: add docker-compose.local-build.yml for building from source * chore: normalize font file line endings * Squashed 'langbuilder/' changes from dbe777ecaa..699e35688f 699e35688f LE-489: KB Metrics calculation batch caculator (#12049) REVERT: dbe777ecaa fix: pin wheel version git-subtree-dir: langbuilder git-subtree-split: 699e35688f1c6ba5a123f685e2ef6374ba404937 * Squashed 'openwebui/' changes from 140605e660..79f0437980 79f0437980 Merge pull request #22168 from open-webui/dev REVERT: 140605e660 Merge pull request #19462 from open-webui/dev git-subtree-dir: openwebui git-subtree-split: 79f04379801622181ef9c591374a285eac4e1c4d * fix: tune compose for local build — memory, healthcheck, speech, extra_hosts - langbuilder-backend: 1g→2g memory, 90s healthcheck start_period, extra_hosts for Linux (host.docker.internal:host-gateway) - openwebui: 2g memory, 60s healthcheck start_period, AUDIO_STT/TTS_ENGINE=openai env vars for voice support - langbuilder compose: add LANGFLOW_STT_OPENAI_API_KEY forwarded from OPENAI_API_KEY so Langflow playground speech works out of the box - local-build comment: clarify OpenWebUI→LangBuilder connection URL Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: upgrade LangBuilder to Langflow 1.8.0 + port CG components + OpenAI compat shim - Port all CloudGeometry, Chez Antoine, and Amazon custom components to lfx package - Add OpenAI-compatible API router (/v1/models, /v1/chat/completions) for OpenWebUI connection - Add langbuilder_compat v2.0.0 flow JSON migration for old flows on 1.8.0 - Add gpt-5.2-pro to model constants - Add CG sidebar categories (Cloud Geometry, Chez Antoine) to frontend - Add favicon.ico for Docker build - Tune compose files: memory limits, healthchecks, speech/ElevenLabs env vars * fix: make lock button clickable + enable voice mode - Lock button on canvas is now clickable to toggle lock state directly (was display-only with cursor-default and no onClick handler) - Install webrtcvad-wheels in Docker image so voice_mode_available=true (voice button now appears in playground chat when OPENAI_API_KEY is set) * feat: add enterprise components, GPT-5 reasoning support, Postgres compose, fix native tracing - Port 8 enterprise component folders to lfx: google_sheets, hubspot, salesforce, sap, servicenow, sharepoint, workday, zoho - Add reasoning_effort input to OpenAI chat model for GPT-5/o-series models - Enable Postgres service in docker-compose.langbuilder.yml - Comment out LangWatch env vars to prevent connection errors when no LangWatch instance - Fix native tracer: use langflow DB service instead of lfx noop, topologically sort spans to avoid FK violations - Disable nv-ingest extra (incompatible with newer openai SDK) - Regenerate component_index.json with all new components * chore: comment out Postgres in compose — default to SQLite for dev * fix: correct SQLite URI paths and default ports in deploy configs - Use 4-slash SQLite URIs (sqlite:////) for absolute paths in containers - Set explicit LANGFLOW_DATABASE_URL default to prevent fallback to package dir - Fix LANGBUILDER_CONFIG_DIR to use absolute path /app/langbuilder - Change default OpenWebUI port to 8767 to match EC2 security group - Add LANGBUILDER_AUTO_LOGIN to .env.example * fix: display version 1.8.0 when backend-only image has langflow-base 0.8.0 The backend-only Docker image installs langflow-base (0.8.0) without the top-level langflow (1.8.0) package. The version lookup was returning 0.8.0 causing the UI to show the wrong version. * chore: update deployment workflow to use Docker compose instead of bare metal
Body:
Summary
deploy/stack for LangBuilderbackend+frontend, OpenWebUI, and LangWatch — each as a separate composable file
sharing a
langbuilder-networklangbuilder/with the 1.7.3 upstream rebase,including a
langbuilder_compatshim that maintains theimport langbuilderAPIfor existing flows
openwebui/with the latest fork (0.6.40)LANGBUILDER_IMAGE), LABELsupdated to CloudGeometry branding, CI paths trigger includes
langbuilder_compat/LANGFLOW_AUTO_LOGIN=falseenforced by default; Google OAuth env varswired through; session cookies configured for HTTP (local) and HTTPS (prod)
optional Postgres path documented in
.env.example