Container Base Image State 1
Related plan: Container Base Image Plan 1
Plan 1 — Prepare Dual-Image Infrastructure and Build Debian-slim Image ✓ Approved
- Task 1 — Duplicate the Config folder for the new Debian-slim image
- Create
Forge/Configs-debian/as a full duplicate ofForge/Configs/(includingMCP_Servers/) - Verify original
Forge/Configs/folder is UNCHANGED - Verify new image will push to
:debian-slimtag (notlatest)
- Create
- Task 2 — Update the Debian Dockerfile for Debian-slim
- Check GHCR for Debian-based LibreChat image variant
- Update FROM base image in
Forge/Configs-debian/Dockerfile.librechat - Replace apk commands with apt-get equivalents
- Add curl, wget, nano to system package install
- Verify pip install line unchanged
- Task 3 — Update startup.sh for Debian-slim compatibility
- Change shebang to #!/bin/bash in
Forge/Configs-debian/startup.sh - Review all commands for Alpine-specific behavior
- Verify no apk/apt-get calls in startup script
- Update comment to reference debian-slim image tag
- Change shebang to #!/bin/bash in
- Task 4 — Build and test the Docker image locally
- Build image from
Forge/Configs-debian/Dockerfile.librechat(initial build succeeded) - Verify bash, curl, wget, nano, git, python3 available
- Verify pip packages (mcp, pymongo, dnspython) installed
- Compare image size with Alpine build (initial: 530MB increase — exceeds R2)
- Investigate size bloat: node_modules 1.4GB from musl copy + rebuild adds glibc alongside musl
- Fix Dockerfile: 3-stage build (source → builder with fresh npm install → runtime)
- Rebuild image and verify size: debian-slim 1.62GB < alpine 2.18GB (560MB DECREASE — R2 passed)
- Push to
:debian-slimtag (NOT:latest) - Final verification of all tools and packages
- Build image from
- Task 5 — Update Forge_Infrastructure.md to document the dual-image setup
- Add “Dual Image Migration” section
- Add “Debian-slim Container Notes” section
- Keep “Alpine Container Constraints” section (still applies to running deployment)