47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
# 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
|