Remove proxy forward-auth header trust; app runs authorization code flow using OIDC_CLIENT_SECRET and registers redirect URI from SERVICE_URL or OIDC_REDIRECT_URI.
86 lines
2.7 KiB
YAML
86 lines
2.7 KiB
YAML
services:
|
|
data-seed:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.harvester
|
|
exclude_from_hc: true
|
|
restart: "no"
|
|
environment:
|
|
- 'BUGSINK_DSN=${BUGSINK_DSN:-}'
|
|
- 'APP_ENV=${APP_ENV:-production}'
|
|
- 'APP_RELEASE=${APP_RELEASE:-quant-web@1.0.0}'
|
|
- 'CORE_TICKERS=${CORE_TICKERS:-SPY,QQQ,AAPL,MSFT,GOOGL,AMZN,NVDA,META,IWM,TLT}'
|
|
- 'SEED_YEARS=${SEED_YEARS:-5}'
|
|
- 'PARQUET_DIR=/data/parquet'
|
|
- 'TZ=America/New_York'
|
|
volumes:
|
|
- 'parquet-data:/data/parquet'
|
|
entrypoint: ["bash", "-c"]
|
|
command:
|
|
- >
|
|
if [ -f /data/parquet/.seed_complete ]; then echo "Parquet seed already present"; exit 0; fi;
|
|
python /app/sync.py --seed;
|
|
touch /data/parquet/.seed_complete;
|
|
echo "Seed finished";
|
|
|
|
harvester:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.harvester
|
|
restart: unless-stopped
|
|
depends_on:
|
|
data-seed:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
- 'BUGSINK_DSN=${BUGSINK_DSN:-}'
|
|
- 'APP_ENV=${APP_ENV:-production}'
|
|
- 'APP_RELEASE=${APP_RELEASE:-quant-web@1.0.0}'
|
|
- 'CORE_TICKERS=${CORE_TICKERS:-SPY,QQQ,AAPL,MSFT,GOOGL,AMZN,NVDA,META,IWM,TLT}'
|
|
- 'SEED_YEARS=${SEED_YEARS:-5}'
|
|
- 'PARQUET_DIR=/data/parquet'
|
|
- 'TZ=America/New_York'
|
|
volumes:
|
|
- 'parquet-data:/data/parquet'
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'pgrep -x cron > /dev/null || exit 1']
|
|
interval: 60s
|
|
timeout: 5s
|
|
start_period: 30s
|
|
retries: 3
|
|
|
|
streamlit:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
depends_on:
|
|
data-seed:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
- SERVICE_URL_STREAMLIT_8501
|
|
- 'BUGSINK_DSN=${BUGSINK_DSN:-}'
|
|
- 'APP_ENV=${APP_ENV:-production}'
|
|
- 'APP_RELEASE=${APP_RELEASE:-quant-web@1.0.0}'
|
|
- 'CORE_TICKERS=${CORE_TICKERS:-SPY,QQQ,AAPL,MSFT,GOOGL,AMZN,NVDA,META,IWM,TLT}'
|
|
- 'PARQUET_DIR=/data/parquet'
|
|
- 'STRATEGY_DB_PATH=/data/strategies/strategies.db'
|
|
- 'OIDC_ISSUER=${OIDC_ISSUER:-https://auth.aexoradao.com/application/o/quant-web/}'
|
|
- 'OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-quant-web}'
|
|
- 'OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET:-}'
|
|
- 'OIDC_REDIRECT_URI=${OIDC_REDIRECT_URI:-}'
|
|
- 'OIDC_SCOPES=${OIDC_SCOPES:-openid profile email}'
|
|
- 'AUTH_REQUIRED=${AUTH_REQUIRED:-true}'
|
|
- 'DEV_USER=${DEV_USER:-}'
|
|
volumes:
|
|
- 'parquet-data:/data/parquet'
|
|
- 'strategy-data:/data/strategies'
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'curl -sf http://127.0.0.1:8501/_stcore/health || exit 1']
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 30s
|
|
retries: 3
|
|
|
|
volumes:
|
|
parquet-data:
|
|
strategy-data:
|