56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
# Unraid stack that *pulls* prebuilt images from the Gitea registry.
|
|||
|
|
# Use this after CI/CD has pushed at least one tag.
|
||
|
|
#
|
||
|
|
# Place next to a `.env` (see .env.example) and run:
|
||
|
|
# docker compose -f compose.pull.yml pull
|
||
|
|
# docker compose -f compose.pull.yml up -d
|
||
|
|
|
||
|
|
name: investor-flow
|
||
|
|
|
||
|
|
services:
|
||
|
|
backend:
|
||
|
|
image: ${GITEA_REGISTRY:-unraid.local:3003}/transnet/investor-flow-backend:${IFLOW_TAG:-latest}
|
||
|
|
restart: unless-stopped
|
||
|
|
ports:
|
||
|
|
- "${IFLOW_BACKEND_PORT:-3001}:3001"
|
||
|
|
environment:
|
||
|
|
NODE_ENV: production
|
||
|
|
HOST: 0.0.0.0
|
||
|
|
PORT: 3001
|
||
|
|
IFLOW_DB_PATH: /app/data/investor-flow.db
|
||
|
|
IFLOW_SESSION_SECRET: ${IFLOW_SESSION_SECRET:?set IFLOW_SESSION_SECRET}
|
||
|
|
IFLOW_CRYPTO_KEY: ${IFLOW_CRYPTO_KEY:-}
|
||
|
|
SEC_OPERATOR_EMAIL: ${SEC_OPERATOR_EMAIL:-operator@example.com}
|
||
|
|
YF_OPERATOR_EMAIL: ${YF_OPERATOR_EMAIL:-${SEC_OPERATOR_EMAIL:-operator@example.com}}
|
||
|
|
FRED_API_KEY: ${FRED_API_KEY:-}
|
||
|
|
LLM_PROVIDER_URL: ${LLM_PROVIDER_URL:-}
|
||
|
|
ORNITH_LLM_URL: ${ORNITH_LLM_URL:-${LLM_PROVIDER_URL:-}}
|
||
|
|
volumes:
|
||
|
|
- ${IFLOW_DATA_DIR}:/app/data
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3001/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
|
||
|
|
interval: 30s
|
||
|
|
timeout: 5s
|
||
|
|
retries: 3
|
||
|
|
start_period: 40s
|
||
|
|
|
||
|
|
frontend:
|
||
|
|
image: ${GITEA_REGISTRY:-unraid.local:3003}/transnet/investor-flow-frontend:${IFLOW_TAG:-latest}
|
||
|
|
restart: unless-stopped
|
||
|
|
depends_on:
|
||
|
|
backend:
|
||
|
|
condition: service_healthy
|
||
|
|
ports:
|
||
|
|
- "${IFLOW_WEB_PORT:-3000}:3000"
|
||
|
|
environment:
|
||
|
|
NODE_ENV: production
|
||
|
|
HOSTNAME: 0.0.0.0
|
||
|
|
PORT: 3000
|
||
|
|
IFLOW_BACKEND_URL: http://backend:3001
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
|
||
|
|
interval: 30s
|
||
|
|
timeout: 5s
|
||
|
|
retries: 3
|
||
|
|
start_period: 40s
|