system-prompts-and-models-o.../salesflow-saas/backend/railway.toml
Claude dd8d2ccc9e
fix(docker): CPU-only torch + multi-stage build to fix Railway 4GB limit
Railway build was failing with "Image of size 5.7 GB exceeded limit of
4.0 GB" because sentence-transformers pulled torch with full CUDA/NVIDIA
GPU packages (~3 GB).

Fix: multi-stage Dockerfile that:
1. Installs CPU-only torch first (--index-url pytorch.org/whl/cpu)
   saving ~3 GB (200 MB CPU vs 3.2 GB CUDA)
2. Multi-stage build: builder + runtime (smaller final image)
3. Non-root user (app:1000)
4. tini init for proper signal handling
5. Built-in HEALTHCHECK with 60s start-period
6. railway.toml with healthcheck path and restart policy

Also fixes healthcheck failure: start-period=60s gives the app time
to initialize before Railway starts checking /health.

Expected image size: ~2 GB (down from 5.7 GB).

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-23 13:33:09 +00:00

10 lines
255 B
TOML

[build]
dockerfilePath = "Dockerfile"
[deploy]
healthcheckPath = "/api/v1/health"
healthcheckTimeout = 120
startCommand = "uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-8000} --workers 2"
restartPolicyType = "ON_FAILURE"
restartPolicyMaxRetries = 3