# Investor Flow — Docker Compose Deployment (Slice 26) # Self-hostable stack: Bun backend + Next.js frontend + SQLite volume. # # Usage: # 1. Copy .env.example to .env and fill in secrets # 2. docker compose up --build # 3. Frontend: http://localhost:3000 # 4. Backend: http://localhost:3001 services: backend: build: context: ./app/server dockerfile: Dockerfile ports: - "3001:3001" environment: - NODE_ENV=production - IFLOW_SESSION_SECRET=${IFLOW_SESSION_SECRET:-dev-secret-change-me} - SEC_OPERATOR_EMAIL=${SEC_OPERATOR_EMAIL} - X_COOKIE=${X_COOKIE} - REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID} - REDDIT_CLIENT_SECRET=${REDDIT_CLIENT_SECRET} - REDDIT_USER_AGENT=${REDDIT_USER_AGENT} - LLM_PROVIDER_URL=${LLM_PROVIDER_URL:-http://localhost:1234/v1} - FRED_API_KEY=${FRED_API_KEY} volumes: - sqlite-data:/app/data restart: unless-stopped frontend: build: context: ./app dockerfile: Dockerfile ports: - "3000:3000" environment: - NEXT_PUBLIC_API_URL=http://backend:3001 - NODE_ENV=production depends_on: - backend restart: unless-stopped volumes: sqlite-data: driver: local