jpanasuk commited on
Commit
5ae3446
Β·
1 Parent(s): db81b0e

v1.0.5 final: tabby+flowise ripped out (verified broken), do-not-use recipes, GHCR token flow in update-check, 404-aware self-check, 10-service pack

Browse files
Files changed (3) hide show
  1. README.md +23 -16
  2. docker-compose.starter.yml +17 -33
  3. recipes.py +6 -6
README.md CHANGED
@@ -132,22 +132,29 @@ basecamp wire # wiring audit
132
  | # | Service | What it is | Port |
133
  |---|---------|-----------|------|
134
  | 1 | **code-server** | VS Code in the browser (the IDE) | 8443 |
135
- | 2 | **tabby** | Self-hosted AI code completion (Copilot replacement) | 8082 |
136
- | 3 | **qdrant** | Vector DB β€” code RAG backbone | 6333 |
137
- | 4 | **chroma** | Lightweight vector DB (alternative) | 8005 |
138
- | 5 | **n8n** | Workflow automation | 5678 |
139
- | 6 | **lobe-chat** | AI chat UI (wired to stack Ollama) | 3210 |
140
- | 7 | **anythingllm** | RAG workspace (docs + codebase Q&A) | 3001 |
141
- | 8 | **librechat** | Multi-model chat UI (needs mongo β€” included) | 3080 |
142
- | 9 | **meilisearch** | Full-text search (code/docs search) | 7700 |
143
- | 10 | **flowise** | No-code agent builder | 7860 |
144
- | 11 | **postgres** | Postgres + pgvector β€” Hermes long-term memory | 5432 |
145
- | 12 | **mongo** | MongoDB β€” LibreChat's database | 27017 |
146
-
147
- The IDE comes pre-loaded with **Continue.dev** (AI assistant) and the
148
- **Tabby** extension (inline completions). Point Continue at
149
- `http://ollama:11434/v1` (or `http://tabbyapi:5000/v1`) and Tabby at
150
- `http://starter-tabby:8082` β€” your stack's models power the whole pack.
 
 
 
 
 
 
 
151
 
152
  Default credentials are in the compose file β€” change them before exposing
153
  anything publicly.
 
132
  | # | Service | What it is | Port |
133
  |---|---------|-----------|------|
134
  | 1 | **code-server** | VS Code in the browser (the IDE) | 8443 |
135
+ | 2 | **qdrant** | Vector DB β€” code RAG backbone | 6333 |
136
+ | 3 | **chroma** | Lightweight vector DB (alternative) | 8005 |
137
+ | 4 | **n8n** | Workflow automation | 5678 |
138
+ | 5 | **lobe-chat** | AI chat UI (wired to stack Ollama) | 3210 |
139
+ | 6 | **anythingllm** | RAG workspace (docs + codebase Q&A) | 3001 |
140
+ | 7 | **librechat** | Multi-model chat UI (needs mongo β€” included) | 3080 |
141
+ | 8 | **meilisearch** | Full-text search (code/docs search) | 7700 |
142
+ | 9 | **postgres** | Postgres + pgvector β€” Hermes long-term memory | 5432 |
143
+ | 10 | **mongo** | MongoDB β€” LibreChat's database | 27017 |
144
+
145
+ **Removed (verified broken, 2026-08-09):** `tabby` (its bundled llama-server
146
+ dlopens libcuda.so.1 even with `--device cpu` β€” crash-loops in CPU-only
147
+ containers; needs GPU access) and `flowise` (upstream dependency bug β€”
148
+ `@langchain/core` export error crashes boot on `latest` and 3.1.4).
149
+ Both have full "do not use" recipes in basecamp so the agent warns before
150
+ anyone ships them again.
151
+
152
+ The IDE comes pre-loaded with **Continue.dev** (AI assistant). Point
153
+ Continue's model at `http://ollama:11434/v1` (or
154
+ `http://tabbyapi:5000/v1`) β€” your stack's models power the whole pack.
155
+ (Inline code completion via the Tabby extension is available but needs a
156
+ completion server; tabby's own image is currently broken in CPU-only
157
+ containers β€” see the recipe.)
158
 
159
  Default credentials are in the compose file β€” change them before exposing
160
  anything publicly.
docker-compose.starter.yml CHANGED
@@ -20,7 +20,6 @@ networks:
20
 
21
  volumes:
22
  code-server-data:
23
- tabby-data:
24
  qdrant-data:
25
  chroma-data:
26
  n8n-data:
@@ -54,24 +53,15 @@ services:
54
  exec dumb-init /usr/bin/code-server --bind-addr 0.0.0.0:8080 --disable-telemetry
55
  "
56
 
57
- # ── 2. AI CODE COMPLETION β€” self-hosted Copilot ──
58
- tabby:
59
- image: tabbyml/tabby:20260330
60
- container_name: starter-tabby
61
- restart: unless-stopped
62
- networks: [tabby-tavern_ai-network]
63
- ports:
64
- - "8082:8080" # completion server UI/API
65
- volumes:
66
- - tabby-data:/data
67
- environment:
68
- - TABBY_MODEL_CACHE_DIR=/data/models
69
- command: serve --device cpu --model StarCoder2-3B --chat-model StarCoder2-3B
70
- # --device cpu: keep completions off the 12GB card (TabbyAPI owns it).
71
- # Version 20260330's serve has NO embedding supervisor (the crashy
72
- # Nomic-Embed subprocess with -ngl 9999 only exists in newer 'latest').
73
- # NOTE: for GPU-backed completion, use --device cuda and a larger model;
74
- # the stack's TabbyAPI (tabbyapi:5000) serves the chat side.
75
 
76
  # ── 3. VECTOR DB β€” code RAG backbone ──
77
  qdrant:
@@ -152,6 +142,7 @@ services:
152
  - librechat-data:/app/librechat
153
  environment:
154
  - MONGO_URI=mongodb://mongo:27017/LibreChat
 
155
  - OPENAI_API_KEY=ollama
156
  - OPENAI_API_BASE=http://ollama:11434/v1 # wired to stack Ollama
157
  - ALLOW_SOCIAL_LOGIN=true
@@ -181,20 +172,13 @@ services:
181
  - MEILI_MASTER_KEY=basecamp-dev-key # change me
182
  - MEILI_ENV=development
183
 
184
- # ── 10. NO-CODE AGENT BUILDER ──
185
- flowise:
186
- image: flowiseai/flowise:3.1.4
187
- container_name: starter-flowise
188
- restart: unless-stopped
189
- networks: [tabby-tavern_ai-network]
190
- ports:
191
- - "7860:3000"
192
- volumes:
193
- - flowise-data:/root/.flowise
194
- environment:
195
- - PORT=3000
196
- - FLOWISE_USERNAME=admin
197
- - FLOWISE_PASSWORD=basecamp # change me
198
 
199
  # ── 11. LONG-TERM MEMORY β€” Postgres + pgvector ──
200
  # Hermes's pluggable memory backend: vector store for embeddings so the
 
20
 
21
  volumes:
22
  code-server-data:
 
23
  qdrant-data:
24
  chroma-data:
25
  n8n-data:
 
53
  exec dumb-init /usr/bin/code-server --bind-addr 0.0.0.0:8080 --disable-telemetry
54
  "
55
 
56
+ # ── 2. (removed) tabby β€” self-hosted Copilot
57
+ # REMOVED 2026-08-09: tabby's bundled llama-server dlopens libcuda.so.1 at
58
+ # startup even with --device cpu (binary is CUDA-compiled), and the
59
+ # container has no NVIDIA libs. Verified: 'error while loading shared
60
+ # libraries: libcuda.so.1' β†’ exit 127 crash-loop on 20260330 pin too.
61
+ # Would need --gpus all + CUDA libs β€” the 12GB card belongs to TabbyAPI.
62
+ # Completions alternative: point the code-server Tabby extension at a
63
+ # completion-capable model on the stack's own engines.
64
+ # Re-add when the tabby image ships a true CPU-only build.
 
 
 
 
 
 
 
 
 
65
 
66
  # ── 3. VECTOR DB β€” code RAG backbone ──
67
  qdrant:
 
142
  - librechat-data:/app/librechat
143
  environment:
144
  - MONGO_URI=mongodb://mongo:27017/LibreChat
145
+ - JWT_SECRET=basecamp-jwt-secret-change-me # required (JwtStrategy)
146
  - OPENAI_API_KEY=ollama
147
  - OPENAI_API_BASE=http://ollama:11434/v1 # wired to stack Ollama
148
  - ALLOW_SOCIAL_LOGIN=true
 
172
  - MEILI_MASTER_KEY=basecamp-dev-key # change me
173
  - MEILI_ENV=development
174
 
175
+ # ── 10. (removed) flowise β€” no-code agent builder
176
+ # REMOVED 2026-08-09: flowiseai/flowise is BROKEN upstream (both 'latest'
177
+ # and 3.1.4 crash at boot with ERR_PACKAGE_PATH_NOT_EXPORTED β€”
178
+ # @langchain/langgraph-checkpoint requires './utils/uuid' which
179
+ # @langchain/core doesn't export). Verified on both tags. Ripped out
180
+ # rather than shipping a known-broken tool. Re-add when upstream fixes
181
+ # their dependency tree.
 
 
 
 
 
 
 
182
 
183
  # ── 11. LONG-TERM MEMORY β€” Postgres + pgvector ──
184
  # Hermes's pluggable memory backend: vector store for embeddings so the
recipes.py CHANGED
@@ -271,9 +271,9 @@ WIRING_RECIPES = {
271
  "tabby": {
272
  "where": "CLI flags at container start + /data volume for models.",
273
  "keys": "command: serve --device cpu|--device cuda --model <name> --chat-model <name>; env: TABBY_MODEL_CACHE_DIR; API: /v1/health, /v1/completions (code completion)",
274
- "fix": "For CPU: `serve --device cpu --model StarCoder2-3B --chat-model StarCoder2-3B`. The VS Code extension points at http://<host>:8082. Completions are separate from chat β€” TabbyAPI serves chat, Tabby serves inline code completion.",
275
- "verify": "curl http://<host>:8082/v1/health returns {\"health\":\"ok\"}.",
276
- "pitfalls": "KNOWN CRASH (verified 2026-08): newer 'latest' images spawn a Nomic-Embed subprocess with `-ngl 9999` (all layers to GPU) that exits 127 on constrained GPUs (12GB shared with other inference), crash-looping the container. FIX: pin tabbyml/tabby:20260330 β€” its `serve` has NO embedding supervisor, so nothing crashes; run `--device cpu` to keep completions off the card. NOTE: `--disable-embedding` is NOT a valid flag in 20260330 (rejected at CLI parse). The embedding/chat models download on first boot β€” first start is slow.",
277
  },
278
  "meilisearch": {
279
  "where": "Env vars.",
@@ -291,9 +291,9 @@ WIRING_RECIPES = {
291
  "flowise": {
292
  "where": "Env vars (PORT, FLOWISE_USERNAME, FLOWISE_PASSWORD) + /root/.flowise volume.",
293
  "keys": "PORT=3000, FLOWISE_USERNAME, FLOWISE_PASSWORD; API: /api/v1/ping",
294
- "fix": "Set FLOWISE_USERNAME/PASSWORD for auth. Pin a VERSIONED tag β€” `flowiseai/flowise:latest` is BROKEN as of 2026-08 (ERR_PACKAGE_PATH_NOT_EXPORTED in @langchain/core ./utils/uuid crashes node on startup). Use flowiseai/flowise:3.1.4 or newer.",
295
- "verify": "curl http://<host>:7860/api/v1/ping returns pong.",
296
- "pitfalls": "KNOWN BUG (verified 2026-08): latest image crashes at boot in ReActAgentChat/ReActAgentLLM nodes with '@langchain/core' exports error. Pin 3.1.4+. Login with FLOWISE_USERNAME/FLOWISE_PASSWORD.",
297
  },
298
  "postgres": {
299
  "where": "Container env (db/user/password) + data volume.",
 
271
  "tabby": {
272
  "where": "CLI flags at container start + /data volume for models.",
273
  "keys": "command: serve --device cpu|--device cuda --model <name> --chat-model <name>; env: TABBY_MODEL_CACHE_DIR; API: /v1/health, /v1/completions (code completion)",
274
+ "fix": "DO NOT USE in CPU-only containers β€” BROKEN as of 2026-08-09 (verified on 20260330 pin): tabby's bundled llama-server dlopens libcuda.so.1 at startup EVEN with --device cpu (binary is CUDA-compiled), and crashes with exit 127 'cannot open shared object file' when the container lacks NVIDIA libs. Needs --gpus all + CUDA libs. Removed from the starter pack; re-add only with GPU access or a true CPU-only tabby build.",
275
+ "verify": "curl http://<host>:8082/v1/health β€” expected to FAIL in CPU-only containers until tabby ships a CPU-only build.",
276
+ "pitfalls": "VERIFIED 2026-08-09: (1) 'latest' images spawn Nomic-Embed with -ngl 9999 β†’ exit 127 on constrained GPUs; (2) even the 20260330 pin crash-loops in CPU-only containers: llama-server dlopens libcuda.so.1 β†’ 'cannot open shared object file' β†’ exit 127. (3) StarCoder2-3B is completion-only (no chat template) β€” a separate instruct model is required for --chat-model. Ripped out of the pack.",
277
  },
278
  "meilisearch": {
279
  "where": "Env vars.",
 
291
  "flowise": {
292
  "where": "Env vars (PORT, FLOWISE_USERNAME, FLOWISE_PASSWORD) + /root/.flowise volume.",
293
  "keys": "PORT=3000, FLOWISE_USERNAME, FLOWISE_PASSWORD; API: /api/v1/ping",
294
+ "fix": "DO NOT USE β€” BROKEN UPSTREAM as of 2026-08-09 (verified on latest AND 3.1.4): crashes at boot with ERR_PACKAGE_PATH_NOT_EXPORTED β€” @langchain/langgraph-checkpoint requires './utils/uuid' which @langchain/core doesn't export. Removed from the starter pack. Re-add only when upstream fixes their dependency tree.",
295
+ "verify": "curl http://<host>:7860/api/v1/ping β€” expected to FAIL until upstream fixes the langchain dep.",
296
+ "pitfalls": "KNOWN BUG (verified 2026-08-09, both latest and 3.1.4): ERR_PACKAGE_PATH_NOT_EXPORTED './utils/uuid' in @langchain/core crashes node at boot (ReActAgentChat/ReActAgentLLM nodes). Not a compose problem β€” the image's dependency tree is broken. Ripped out of the pack.",
297
  },
298
  "postgres": {
299
  "where": "Container env (db/user/password) + data volume.",