- FastAPI + NiceGUI web application - QuantLib-based Black-Scholes pricing with Greeks - Protective put, laddered, and LEAPS strategies - Real-time WebSocket updates - TradingView-style charts via Lightweight-Charts - Docker containerization - GitLab CI/CD pipeline for VPS deployment - VPN-only access configuration
26 lines
798 B
YAML
26 lines
798 B
YAML
services:
|
|
vault-dash:
|
|
image: ${APP_IMAGE}
|
|
container_name: vault-dash
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
APP_ENV: ${APP_ENV:-production}
|
|
REDIS_URL: ${REDIS_URL:-}
|
|
APP_NAME: ${APP_NAME:-Vault Dashboard}
|
|
DEFAULT_SYMBOL: ${DEFAULT_SYMBOL:-GLD}
|
|
CACHE_TTL: ${CACHE_TTL:-300}
|
|
WEBSOCKET_INTERVAL_SECONDS: ${WEBSOCKET_INTERVAL_SECONDS:-5}
|
|
NICEGUI_MOUNT_PATH: ${NICEGUI_MOUNT_PATH:-/}
|
|
NICEGUI_STORAGE_SECRET: ${NICEGUI_STORAGE_SECRET}
|
|
CORS_ORIGINS: ${CORS_ORIGINS:-*}
|
|
ports:
|
|
- "${APP_BIND_ADDRESS:-127.0.0.1}:${APP_PORT:-8000}:8000"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8000/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 20s
|