Skip to content

feat: Docker Compose deployment + Langflow 1.7.3 / OpenWebUI upgrade#31

Closed
andreil-spec wants to merge 3 commits intofeature/docker-compose-deploymentfrom
main
Closed

feat: Docker Compose deployment + Langflow 1.7.3 / OpenWebUI upgrade#31
andreil-spec wants to merge 3 commits intofeature/docker-compose-deploymentfrom
main

Conversation

@andreil-spec
Copy link
Collaborator

Body:

Summary

  • Docker Compose deployment: production-ready deploy/ stack for LangBuilder
    backend+frontend, OpenWebUI, and LangWatch — each as a separate composable file
    sharing a langbuilder-network
  • Langflow 1.7.3 rebase: replaces langbuilder/ with the 1.7.3 upstream rebase,
    including a langbuilder_compat shim that maintains the import langbuilder API
    for existing flows
  • OpenWebUI upgrade: replaces openwebui/ with the latest fork (0.6.40)
  • CI/build fixes: backend Dockerfile ARG corrected (LANGBUILDER_IMAGE), LABELs
    updated to CloudGeometry branding, CI paths trigger includes langbuilder_compat/
  • Auth: LANGFLOW_AUTO_LOGIN=false enforced by default; Google OAuth env vars
    wired through; session cookies configured for HTTP (local) and HTTPS (prod)
  • DB persistence: named Docker volumes for both services; SQLite default with
    optional Postgres path documented in .env.example

andreil-spec and others added 2 commits February 23, 2026 16:43
* 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.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 5, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4efa3630-606e-471c-b931-013f420b0594

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch main
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can generate a title for your PR based on the changes.

Add @coderabbitai placeholder anywhere in the title of your PR and CodeRabbit will replace it with a title based on the changes in the PR. You can change the placeholder by changing the reviews.auto_title_placeholder setting.

* 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
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