Files
blackroad-operating-system/railway.toml
Claude c6eb02e399 Fix Railway deployment for monorepo as single web service
This commit fixes the Railway build failure by:

1. **Root requirements.txt**: Added root-level requirements.txt that
   references backend/requirements.txt, enabling Railway's Nixpacks
   to auto-detect Python project and install dependencies correctly.
   Fixes "pip: not found" error.

2. **backend/__init__.py**: Created package init file to make backend
   a proper Python package, allowing uvicorn to import backend.app.main.

3. **railway.toml**: Simplified configuration for single-service
   monorepo deployment:
   - Uses NIXPACKS builder (auto-detects Python)
   - Starts with: uvicorn backend.app.main:app --host 0.0.0.0 --port $PORT
   - Health check at /health
   - Configured for app.blackroad.systems deployment

Technical details:
- Backend entrypoint: backend/app/main.py:app (FastAPI)
- Health endpoint: /health returns JSON with service status
- Frontend: BR-95 desktop UI served at / from backend/static/index.html
- API health: /api/health provides comprehensive integration status

Deployment target:
- Railway project: gregarious-wonder
- Service: BlackRoad-Operating-System
- Domain: app.blackroad.systems
2025-11-20 20:50:29 +00:00

26 lines
919 B
TOML

# ==============================================================================
# BlackRoad Operating System - Railway Configuration
# ==============================================================================
#
# This configuration deploys the monorepo as a SINGLE web service to Railway.
#
# Service: BlackRoad-Operating-System
# Project: gregarious-wonder
# Domain: app.blackroad.systems
#
# This is a temporary configuration. The long-term architecture uses satellite
# repos (see DEPLOYMENT_ARCHITECTURE.md), but for now we're deploying the
# monorepo directly to get the BR-95 desktop UI online.
#
# ==============================================================================
[build]
builder = "NIXPACKS"
[deploy]
startCommand = "uvicorn backend.app.main:app --host 0.0.0.0 --port $PORT"
healthcheckPath = "/health"
healthcheckTimeout = 100
restartPolicyType = "ON_FAILURE"
restartPolicyMaxRetries = 10