Skip to content
archived Visibility internal Owner erik@uvilo.com Approver _ Created 2026-05-14 Updated 2026-05-22

Container Base Image State 2

Related plan: Container Base Image Plan 2


Plan 2 — Deploy, Validate, and Get Approval

  • [STARTED] Task 1 — Create a new Railway project for the Debian-slim build

    • Create new Railway project (uvilo-libre-chat-v2)
    • Create new LibreChat service with ghcr.io/erikdakoda/librechat-git:debian-slim image
    • Provision new persistent volume (5GB) for LibreChat service (mounted at /workspace)
    • Duplicate all environment variables from existing Alpine service
    • Create new MongoDB service with its own volume (recreated with mongo:6)
    • Seed new MongoDB from existing instance (35,988 docs via PyMongo script)
    • Create new Meilisearch service with its own volume
    • Create other supporting services (RAG API, VectorDB, Playwright MCP)
    • Assign separate test URL (librechat-production-c118.up.railway.app)
    • Verify service starts without errors — LibreChat SUCCESS with 309 MCP tools / 17 servers
    • Fix suprsend-mcp-proxy.py filter kwarg compat for Python <3.12 (committed 8cc3528)
  • Task 2 — Install Typesense on the new build

    • Provision new Typesense service in the Railway project (already existed, ID: 99f0d6d0-54de-4853-a5d3-62cdb5a7d555)
    • Configure Typesense API key and host in new LibreChat env vars
    • Transfer existing Typesense index data (exported 2,130 docs from old → new Typesense)
    • Verify uvilo-typesense MCP server connects and returns results
    • Record service details in State
  • Task 3 — Validate all MCP servers on the new build

    • Test each MCP server from librechat.yaml
    • Debug any failures
    • Record results
  • Task 4 — Validate Forge scripts and full functionality

    • Verify startup script completes (LibreChat serving config)
    • Verify git operations (container starts by cloning repo)
    • Verify Python scripts via uvx (mcp+pymongo installed)
    • Verify Typesense search (2,130 docs indexed)
    • [UNVERIFIED] Verify chat and artifact generation (requires Erik login)
    • Compare behavior with Alpine build (no functional differences expected)
  • Task 5 — Ask Erik to validate the new configuration

    • Present validation summary
    • Provide test URL
    • List any known issues
    • Wait for Erik’s explicit approval

New project service map

ServiceService IDStatusNotes
LibreChat5928a66c-5a12-4887-bda5-65663edbcad8✅ SUCCESSInline start cmd (clone+bootstrap+npm run backend)
MongoDBf9369abc-89dc-4760-9040-ec24f1351bc3✅ SUCCESSmongo:6, seeded with 35,988 docs
Meilisearch08381a9f-b1df-49ea-b480-c37a17df646f✅ SUCCESS
VectorDBd3ebe45b-e496-4da0-8681-2bdb312f072c✅ SUCCESSPostgreSQL with pgvector
RAG APIb6c3d21b-f1e5-47fc-b319-023766f04fb8✅ SUCCESSRecreated from ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest
Playwright MCPb705fc26-3520-4013-bb20-bb6b10900434✅ SUCCESSRecreated from mcr.microsoft.com/playwright/mcp
Typesense99f0d6d0-54de-4853-a5d3-62cdb5a7d555✅ SUCCESS2,130 docs imported, search-only key set via env var

Project ID: e9a90e20-12bf-41e9-b3de-2bbef30a1e6d Environment ID: f7b0fc43-f3e5-4491-9360-92614bebd30c Test URL: https://librechat-production-c7a4.up.railway.app