fix: ensure DEV mode warning appears in Docker logs on startup

- Add FastAPI @app.on_event("startup") handler to display warning
- Previously only appeared when running directly (not via uvicorn)
- Add DEPLOYMENT_MODE and PRESERVE_DEV_DATA to docker-compose.yml
- Update CHANGELOG.md with fix documentation

Fixes issue where dev mode banner wasn't visible in Docker logs
because uvicorn imports app without executing __main__ block.
This commit is contained in:
2025-11-01 13:40:15 -04:00
parent 7aa93af6db
commit 73c0fcd908
3 changed files with 15 additions and 0 deletions

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Fixed
- **Dev Mode Warning in Docker** - DEV mode startup warning now displays correctly in Docker logs
- Added FastAPI `@app.on_event("startup")` handler to trigger warning on API server startup
- Previously only appeared when running `python api/main.py` directly (not via uvicorn)
- Docker compose now includes `DEPLOYMENT_MODE` and `PRESERVE_DEV_DATA` environment variables
## [0.3.0] - 2025-10-31
### Added - Price Data Management & On-Demand Downloads

View File

@@ -136,6 +136,11 @@ def create_app(
app.state.db_path = db_path
app.state.config_path = config_path
@app.on_event("startup")
async def startup_event():
"""Display DEV mode warning on startup if applicable"""
log_dev_mode_startup_warning()
@app.post("/simulate/trigger", response_model=SimulateTriggerResponse, status_code=200)
async def trigger_simulation(request: SimulateTriggerRequest):
"""

View File

@@ -10,6 +10,10 @@ services:
- ${VOLUME_PATH:-.}/logs:/app/logs
- ${VOLUME_PATH:-.}/configs:/app/configs
environment:
# Deployment Configuration
- DEPLOYMENT_MODE=${DEPLOYMENT_MODE:-PROD}
- PRESERVE_DEV_DATA=${PRESERVE_DEV_DATA:-false}
# AI Model API Configuration
- OPENAI_API_BASE=${OPENAI_API_BASE}
- OPENAI_API_KEY=${OPENAI_API_KEY}