services: mars-titiler: image: ghcr.io/developmentseed/titiler:latest container_name: mars-titiler ports: - "8002:8000" # 启动自定义的 Mars Titiler 应用 command: [ "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000", "--reload" ] working_dir: /mars-titiler environment: # Python 模块路径 - PYTHONPATH=/mars-titiler # GDAL 性能优化配置 - CPL_TMPDIR=/tmp - GDAL_CACHEMAX=75% - GDAL_INGESTED_BYTES_AT_OPEN=32768 - GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR - GDAL_HTTP_MERGE_CONSECUTIVE_RANGES=YES - GDAL_HTTP_MULTIPLEX=YES - GDAL_HTTP_VERSION=2 - VSI_CACHE=TRUE - VSI_CACHE_SIZE=536870912 - PYTHONWARNINGS=ignore volumes: # 挂载项目目录到容器 - ./app.py:/mars-titiler/app.py:ro # 挂载数据目录 - /mnt/Data/layer_mars:/data:ro # 可选:如果使用 gunicorn 生产环境,取消注释以下配置 # command: [ # "gunicorn", # "-k", "uvicorn.workers.UvicornWorker", # "app:app", # "--bind", "0.0.0.0:8000", # "--workers", "2", # "--timeout", "120" # ] restart: unless-stopped