LibreChat/.github
Danny Avila a121ae3dea
🩺 fix: Capture GitNexus Serve Output and Add Startup Health Check (#12599)
* fix: capture gitnexus serve output and add startup health check

gitnexus serve was backgrounded with no log capture, so crash
reasons were invisible in Fly logs. Now pipes output to stdout
and waits up to 30s for the server to be ready before starting
Caddy, with early exit if the process dies.

* fix: install newer libstdc++ for LadybugDB native addon

@ladybugdb/core prebuilt binary requires GLIBCXX_3.4.32 (GCC 13+)
but node:24-slim ships Bookworm's libstdc++6 which only has 3.4.31.
Pull libstdc++6 from Debian Trixie to satisfy the runtime dependency.

* fix: separate build tools from libstdc++ upgrade to avoid conflict

Installing Trixie's libstdc++6 alongside Bookworm's g++ fails because
the Trixie libc6 transitive dep conflicts with Bookworm's libc6-dev.
Split into two RUN steps: compile native addons first, remove g++,
then upgrade libstdc++ from Trixie with no conflicting packages.

* fix: name repo as LibreChat and add dev branch deploy support

- Use REPO_NAME build arg (default: LibreChat) as the WORKDIR so
  gitnexus registers the index with a proper name instead of "repo"
- Deploy workflow now triggers on both main and dev branch index runs
- Dev branch registers as "LibreChat-dev", main as "LibreChat"
- workflow_dispatch gains a branch selector input

* feat: serve both main and dev indexes from one container + auto-embed main

- Dockerfile now copies multiple indexes from indexes/<name>/.gitnexus
  and registers each with gitnexus, so one server handles both branches
- Deploy workflow downloads latest successful main + dev artifacts in
  parallel and bundles them into a single deploy
- list_repos returns LibreChat and LibreChat-dev; queries target either
  via the repo parameter
- Main branch pushes auto-enable --embeddings for semantic search;
  dev and PRs remain graph-only for speed (opt-in via dispatch input)
- Bump index job timeout to 25m to account for embedding generation

* fix: raise Fly machine memory to 1GB + add swap + cap Node heap

The 512MB machine was getting OOM-killed when gitnexus serve's default
--max-old-space-size=8192 over-committed memory during query spikes.

- Bump VM memory 512mb -> 1gb
- Add 512MB swap file to absorb transient spikes
- Cap Node heap at 768MB via NODE_OPTIONS so it stays within the
  machine's real capacity and leaves headroom for Caddy and the OS
2026-04-10 12:35:11 -04:00
..
ISSUE_TEMPLATE
workflows 🩺 fix: Capture GitNexus Serve Output and Add Startup Health Check (#12599) 2026-04-10 12:35:11 -04:00
CODE_OF_CONDUCT.md
configuration-release.json
configuration-unreleased.json
CONTRIBUTING.md
FUNDING.yml
playwright.yml
pull_request_template.md
SECURITY.md