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 # 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:-false} - 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]