# ----------------------------------------------------------------------------- # docker-compose.yml # Sprint: SPRINT_20260125_002_Attestor_trust_automation # Task: PROXY-008 - Docker Compose for tile-proxy stack # Description: Docker Compose configuration for tile-proxy deployment # ----------------------------------------------------------------------------- services: tile-proxy: build: context: ../../.. dockerfile: src/Attestor/StellaOps.Attestor.TileProxy/Dockerfile image: stellaops/tile-proxy:latest container_name: stellaops-tile-proxy ports: - "8090:8080" volumes: - tile-cache:/var/cache/stellaops/tiles - tuf-cache:/var/cache/stellaops/tuf environment: # Upstream Rekor configuration - TILE_PROXY__UPSTREAMURL=${REKOR_UPSTREAM_URL:-https://rekor.sigstore.dev} - TILE_PROXY__ORIGIN=${REKOR_ORIGIN:-rekor.sigstore.dev - 1985497715} # TUF configuration (optional) - TILE_PROXY__TUF__ENABLED=${TUF_ENABLED:-false} - TILE_PROXY__TUF__URL=${TUF_ROOT_URL:-} - TILE_PROXY__TUF__VALIDATECHECKPOINTSIGNATURE=${TUF_VALIDATE_CHECKPOINT:-true} # Cache configuration - TILE_PROXY__CACHE__BASEPATH=/var/cache/stellaops/tiles - TILE_PROXY__CACHE__MAXSIZEGB=${CACHE_MAX_SIZE_GB:-10} - TILE_PROXY__CACHE__CHECKPOINTTTLMINUTES=${CHECKPOINT_TTL_MINUTES:-5} # Sync job configuration - TILE_PROXY__SYNC__ENABLED=${SYNC_ENABLED:-true} - TILE_PROXY__SYNC__SCHEDULE=${SYNC_SCHEDULE:-0 */6 * * *} - TILE_PROXY__SYNC__DEPTH=${SYNC_DEPTH:-10000} # Request handling - TILE_PROXY__REQUEST__COALESCINGENABLED=${COALESCING_ENABLED:-true} - TILE_PROXY__REQUEST__TIMEOUTSECONDS=${REQUEST_TIMEOUT_SECONDS:-30} # Logging - Serilog__MinimumLevel__Default=${LOG_LEVEL:-Information} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/_admin/health"] interval: 30s timeout: 10s retries: 3 start_period: 5s restart: unless-stopped networks: - stellaops volumes: tile-cache: driver: local tuf-cache: driver: local networks: stellaops: driver: bridge