Files
bom-local-service/docker-compose.yml
T
alex ee5bffde88 Fix: Exclude active cache folders in GetCachedFrameAsync to prevent reading incomplete data
- Add active cache folder exclusion to GetCachedFrameAsync
- Prevents TaskCanceledException when reading metadata from folders being written to
- Matches pattern used in GetCachedRadarAsync for consistency
2025-12-16 01:57:02 +10:00

54 lines
2.3 KiB
YAML

services:
bom-local-service:
build:
context: .
dockerfile: Dockerfile
container_name: bom-local-service
ports:
- "${HOST_PORT:-8082}:${CONTAINER_PORT:-8080}"
volumes:
- ./cache:/app/cache
environment:
# ASP.NET Core configuration
# Default to Production for security (use Development only for local debugging)
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Production}
- ASPNETCORE_URLS=http://+:${CONTAINER_PORT:-8080}
# Virtual display for non-headless browser
- DISPLAY=:99
# CORS Configuration (for Home Assistant integration)
# Multiple origins can be comma-separated: "http://homeassistant.local:8123,http://192.168.1.100:8123"
# Use "*" to allow all origins (less secure, but convenient for development)
- CORS__ALLOWEDORIGINS=${CORS__ALLOWEDORIGINS:-*}
- CORS__ALLOWEDMETHODS=${CORS__ALLOWEDMETHODS:-GET,POST,OPTIONS}
- CORS__ALLOWEDHEADERS=${CORS__ALLOWEDHEADERS:-*}
- CORS__ALLOWCREDENTIALS=${CORS__ALLOWCREDENTIALS:-false}
# Application configuration (override appsettings.json)
# Use double underscore (__) for nested config keys
- CACHEDIRECTORY=${CACHEDIRECTORY:-/app/cache}
- CACHERETENTIONHOURS=${CACHERETENTIONHOURS:-24}
- CACHEEXPIRATIONMINUTES=${CACHEEXPIRATIONMINUTES:-12.5}
- CACHEMANAGEMENT__CHECKINTERVALMINUTES=${CACHEMANAGEMENT__CHECKINTERVALMINUTES:-5}
- CACHEMANAGEMENT__INITIALDELAYSECONDS=${CACHEMANAGEMENT__INITIALDELAYSECONDS:-10}
- CACHEMANAGEMENT__UPDATESTAGGERSECONDS=${CACHEMANAGEMENT__UPDATESTAGGERSECONDS:-2}
- CACHEMANAGEMENT__LOCATIONSTAGGERSECONDS=${CACHEMANAGEMENT__LOCATIONSTAGGERSECONDS:-1}
- CACHECLEANUP__INTERVALHOURS=${CACHECLEANUP__INTERVALHOURS:-1}
- SCREENSHOT__DYNAMICCONTENTWAITMS=${SCREENSHOT__DYNAMICCONTENTWAITMS:-2000}
- SCREENSHOT__TILERENDERWAITMS=${SCREENSHOT__TILERENDERWAITMS:-5000}
- DEBUG__ENABLED=${DEBUG__ENABLED:-true}
- DEBUG__WAITMS=${DEBUG__WAITMS:-2000}
- TIMEZONE=${TIMEZONE:-Australia/Brisbane}
shm_size: '1gb'
ipc: host
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]