Files
insar-management-system-v2/.env.example
T

294 lines
11 KiB
Bash

# =============================================================================
# InSAR Management System v2 - 示例环境变量
# =============================================================================
# 说明:
# 1. 复制为 .env 后按现场路径修改。
# 2. 根目录 .env 是后端与前端共同的事实来源。
# 3. 路径请使用 Windows 绝对路径;WSL 中的 Python / 脚本使用 Linux 路径。
# =============================================================================
# -----------------------------------------------------------------------------
# 数据库与认证
# -----------------------------------------------------------------------------
DATABASE_URL=postgresql+asyncpg://postgres:your_password@localhost:5432/insar_management
INIT_ADMIN_USERNAME=admin
INIT_ADMIN_PASSWORD=change_me
INIT_ADMIN_RESET_PASSWORD=false
DB_SCHEMA_RESET_ON_MISMATCH=false
DB_SCHEMA_RESET_CONFIRM=false
AUTH_SESSION_COOKIE_NAME=ims_session
AUTH_COOKIE_SAMESITE=lax
AUTH_COOKIE_SECURE=false
AUTH_PBKDF2_ITERATIONS=240000
AUTH_LOGIN_MAX_FAILURES=5
AUTH_LOGIN_WINDOW_SECONDS=300
AUTH_LOGIN_LOCK_SECONDS=600
TRUSTED_PROXY_IPS=127.0.0.1
# -----------------------------------------------------------------------------
# 服务启动
# -----------------------------------------------------------------------------
PORT=18000
BACKEND_BIND_HOST=127.0.0.1
UVICORN_LOG_LEVEL=info
PYTHON_PATH=C:\ProgramData\anaconda3\envs\InSAR\python.exe
CONDA_EXE=
CONDA_ENV_NAME=
NGINX_PATH=C:\nginx\nginx.exe
NGINX_HEALTH_URL=http://127.0.0.1/
LICENSE_PATH=
CORS_ORIGINS=http://127.0.0.1:5173,http://localhost
CORS_ALLOW_CREDENTIALS=true
CORS_STRICT_MODE=false
ALLOWED_EXPORT_DIRS=
# -----------------------------------------------------------------------------
# 源数据目录
# -----------------------------------------------------------------------------
UNPACK_SOURCE_DIRS=D:\Archives
SOURCE_PRODUCT_DIRS=D:\LuTan1_Image_Pool;D:\Sentinel1_Image_Pool_ZIP
SENTINEL1_STORAGE_DIRS=D:\Sentinel1_Image_Pool
INSAR_STORAGE_DIRS=D:\LuTan1_Image_Pool
MONITOR_RADAR_DIRS=D:\LuTan1_Image_Pool
MONITOR_DINSAR_DIRS=D:\DInSARResult
ORBIT_SOURCE_DIRS=D:\LT1_data_lsarorbit;D:\Sentinel1_EOF_Pool
MONITOR_ORBIT_DIR=D:\LT1_data_lsarorbit
GF3_SOURCE_DIRS=D:\GF3_L1A_Image
GF3_STORAGE_DIRS=D:\GF3_L2_Image
HAZARD_POINTS_DIR=D:\Code\Insar_management_system_v2\backend\Point
HAZARD_POINTS_FILENAME=Point.shp
AOI_REGION_INDEX_FILE=
AOI_REGION_GEOJSON_FILE=
# -----------------------------------------------------------------------------
# 结果目录
# -----------------------------------------------------------------------------
RESULT_PUBLISH_ROOT=D:\production_results
DINSAR_PRODUCT_DIR=D:\production_results\dinsar
TIMESERIES_PRODUCT_DIR=D:\production_results\timeseries
PSINSAR_PRODUCT_DIR=D:\production_results\timeseries
RESULT_QUARANTINE_ROOT=D:\production_results\_quarantine
RESULT_CATALOG_AUTO_REBUILD_ON_STARTUP=true
# -----------------------------------------------------------------------------
# 轨道池
# -----------------------------------------------------------------------------
ORBIT_POOL_ENVI=D:\orbit_pools\envi
ORBIT_POOL_ISCE2=D:\orbit_pools\isce2
ORBIT_POOL_LANDSAR=
ORBIT_QUARANTINE_DIR=
# -----------------------------------------------------------------------------
# DEM / 其他数据
# -----------------------------------------------------------------------------
# Raw D-InSAR DEM source for SARscape/ENVI. Keep the base path without the .wgs84 suffix here.
IDL_DINSAR_DEM_BASE_FILE=D:\SRTM30m\SRTMDEM_RSP_SARscape
SRTM_DEM_DIR=D:\SRTM30m
GF3_GEO_DEM_PATH=D:\DEM\gf3_dem.jp2
WATER_RESULTS_DIR=D:\WaterResult
# -----------------------------------------------------------------------------
# ENVI / SARscape
# -----------------------------------------------------------------------------
IDL_EXECUTABLE=C:\Program Files\Harris\ENVI56\IDL88\bin\bin.x86_64\idl.exe
IDL_WORKBENCH_PATH=C:\Program Files\Harris\ENVI56\IDL88\bin\bin.x86_64\idlde.exe
IDL_WORKER_RUNTIME_DIR=D:\Code\Insar_management_system_v2\backend\runtime\idl_worker
IDL_WORKER_DEFAULT_TIMEOUT_SECONDS=14400
IDL_WORKER_MAX_TIMEOUT_SECONDS=43200
IDL_JOB_RETRY_DELAY_SECONDS=180
IDL_DINSAR_CUSTOM_TARGET_RESOLUTION_M=10.0
IDL_DINSAR_CUSTOM_FILTER_METHOD=GOLDSTEIN
IDL_DINSAR_CUSTOM_UNWRAP_COH_THRESHOLD=0.05
IDL_DINSAR_CUSTOM_GCP_COH_THRESHOLD=0.7
IDL_DINSAR_CUSTOM_GCP_NUMBER=100
IDL_DINSAR_CUSTOM_GEOCODING_COH_THRESHOLD=0.0
IDL_DINSAR_CUSTOM_GEOCODING_PIXEL_SIZE_M=10.0
ENVI_TASK_TIMEOUT_SECONDS=21600
ENVI_PER_TASK_TIMEOUT=21600
ENVI_FILE_STALE_SECONDS=43200
ENVI_STABILITY_CHECK_INTERVAL=15
ENVI_STABILITY_ROUNDS=3
ENVI_STABILITY_MAX_WAIT=3600
# -----------------------------------------------------------------------------
# WSL 共享运行时
# -----------------------------------------------------------------------------
WSL_DISTRO=Ubuntu-24.04
WSL_SHARED_CONDA_ENV=insar_wsl_v1
WSL_SHARED_PYTHON=/home/administrator/miniconda3/envs/insar_wsl_v1/bin/python
WSL_BROKER_JOB_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\wsl_jobs
ISCE2_RUNTIME_ID=isce2_runtime_v1
PYINT_RUNTIME_ID=gamma_pyint_runtime_v1
# -----------------------------------------------------------------------------
# ISCE2 D-InSAR
# -----------------------------------------------------------------------------
ISCE2_ENABLED=true
ISCE2_WSL_DISTRO=Ubuntu-24.04
ISCE2_PYTHON=/home/administrator/miniconda3/envs/insar_wsl_v1/bin/python
ISCE2_PROFILE=lt1_stripmap
ISCE2_STRIPMAP_APP=/home/administrator/miniconda3/envs/insar_wsl_v1/lib/python3.11/site-packages/isce/applications/stripmapApp.py
ISCE2_PIPELINE_SCRIPT=
# ISCE2 should point to the prepared WGS84 DEM after the one-time conversion.
ISCE2_DEM_PATH=D:\SRTM30m\SRTMDEM_RSP_SARscape.wgs84
ISCE2_WORK_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\isce2_work
ISCE2_OUTPUT_ROOT=D:\production_results\dinsar
ISCE2_PER_TASK_TIMEOUT_SECONDS=43200
ISCE2_SMOKE_TEST_ENABLED=false
# Managed LT-1 stripmap production defaults are defined in code:
# split-spectrum ionosphere correction = on,
# dense offsets = on, rubbersheeting range = on, rubbersheeting azimuth = on.
# These are profile-level workflow semantics, not standalone .env toggles.
# The WSL runtime must include cv2 + scipy for ionosphere correction and astropy for rubbersheeting.
# -----------------------------------------------------------------------------
# Gamma / PyINT
# -----------------------------------------------------------------------------
PYINT_ENABLED=true
PYINT_WSL_DISTRO=Ubuntu-24.04
PYINT_WSL_PYTHON=/home/administrator/miniconda3/envs/insar_wsl_v1/bin/python
PYINT_HOME=D:\Code\Insar_management_system_v2\third_party\PyINT
PYINT_APP_SCRIPT=D:\Code\Insar_management_system_v2\third_party\PyINT\pyint\pyintApp.py
PYINT_TEMPLATE_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\pyint_templates
PYINT_WORK_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\pyint_work
PYINT_OUTPUT_ROOT=D:\production_results\dinsar
PYINT_DEM_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\pyint_dem
PYINT_DEM_MODE=local_fabdem
PYINT_FABDEM_ROOT=
# When PYINT_DEM_MODE=prepared_file, point this to the same prepared WGS84 DEM.
PYINT_PREPARED_DEM_PATH=
# 0 means do not derive looks from a target output grid.
PYINT_DEFAULT_TARGET_GRID_SIZE_M=0
# Source DEM resolution recorded in PyINT/Gamma run metadata.
PYINT_DEM_RESOLUTION_M=30.0
PYINT_OPENTOPO_DEM_TYPE=SRTMGL1
PYINT_OPENTOPO_API_KEY=
PYINT_DEM_STRICT=true
# Gamma unwrap support and quality support reporting are intentionally separate.
PYINT_UNWRAP_COH_THRESHOLD=0.05
PYINT_PRODUCT_COH_THRESHOLD=0.20
PYINT_GAMMA_NODATA_VALUE=-9999.0
PYINT_GEO_INTERP=1
PYINT_ATMCOR_ENABLED=false
PYINT_ATMCOR_USE_FOR_DISP=false
PYINT_REFLATTEN_ENABLED=true
PYINT_REFLATTEN_MODEL=plane
PYINT_REFLATTEN_COH_THRESHOLD=0.70
PYINT_REFLATTEN_FALLBACK_COH_THRESHOLD=0.20
PYINT_REFLATTEN_RANGE_STEP=32
PYINT_REFLATTEN_AZIMUTH_STEP=32
PYINT_ORBIT_POLICY=require_txt
PYINT_ORBIT_POOL_TXT=D:\orbit_pools\envi
PYINT_RECORD_INPUT_ASSETS=true
PYINT_LT1_PRECISE_ORBIT_ENABLED=true
PYINT_LT1_PRECISE_ORBIT_MODE=replace
PYINT_LT1_PRECISE_ORBIT_STRICT=true
PYINT_LT1_PRECISE_ORBIT_VALIDATE_WITH_ORB_FILT=false
PYINT_LT1_PRECISE_ORBIT_BACKUP=true
PYINT_LT1_PRECISE_ORBIT_ORB_FILT_DEGREE=5
PYINT_GAMMA_ENV_SCRIPT=D:\Code\Insar_management_system_v2\deploy\wsl\profiles\gamma_env.sh
PYINT_DEFAULT_TIMEOUT_SECONDS=43200
PYINT_SMOKE_TEST_ENABLED=false
# -----------------------------------------------------------------------------
# 时序 InSAR
# -----------------------------------------------------------------------------
TIMESERIES_ENABLED=true
TIMESERIES_WSL_DISTRO=Ubuntu-24.04
TIMESERIES_ENV_NAME=insar_wsl_v1
TIMESERIES_PYTHON=/home/administrator/miniconda3/envs/insar_wsl_v1/bin/python
TIMESERIES_WORK_ROOT=D:\Code\Insar_management_system_v2\backend\runtime\timeseries_work
TIMESERIES_DEM_PATH=D:\SRTM30m\SRTMDEM_RSP_SARscape.wgs84
TIMESERIES_ORBIT_POOL_ISCE2=D:\orbit_pools\isce2
TIMESERIES_EXPERIMENT_ROOT=D:\Code\Insar_management_system_v2\experiments\isce2_sbas_timeseries
TIMESERIES_STACK_PREP_SCRIPT=
TIMESERIES_MATERIALIZE_SCRIPT=
TIMESERIES_PREPARE_DEM_SCRIPT=
TIMESERIES_STACK_RUNNER_SCRIPT=
TIMESERIES_MINTPY_SBAS_SCRIPT=
TIMESERIES_EXPORT_PUBLISH_SCRIPT=
TIMESERIES_STACK_WORKFLOW=interferogram
TIMESERIES_DEFAULT_PROCESSOR_CODE=isce2_stack_mintpy
TIMESERIES_WSL_STEP_TIMEOUT_SECONDS=7200
TIMESERIES_ALLOW_SYNTHETIC_WATER_MASK=true
SARSCAPE_SBAS_PARAMETER_TEMPLATE_PATH=
SARSCAPE_SBAS_ALLOW_EXECUTION=false
SARSCAPE_SBAS_DISCOVERY_TIMEOUT_SECONDS=120
SARSCAPE_SBAS_STEP_TIMEOUT_SECONDS=21600
# -----------------------------------------------------------------------------
# Worker / 健康检查
# -----------------------------------------------------------------------------
JOB_WORKER_HEALTH_TIMEOUT=60
JOB_WORKER_JOB_HEARTBEAT_INTERVAL=5
JOB_WORKER_STALE_RECOVER_INTERVAL=15
JOB_WORKER_STALE_RUNNING_SECONDS=7200
JOB_WORKER_HEARTBEAT_INTERVAL=5
# -----------------------------------------------------------------------------
# 解包
# -----------------------------------------------------------------------------
UNPACK_MIN_DISK_SPACE_GB=50
UNPACK_SCAN_WORKERS=4
UNPACK_EXTRACT_WORKERS=4
UNPACK_MAX_FILES_PER_RUN=100
UNPACK_MAX_RUNTIME_MINUTES=360
UNPACK_DELETE_ARCHIVE=true
UNPACK_TMP_SUFFIX=.unpack_tmp
# -----------------------------------------------------------------------------
# 预览与缓存
# -----------------------------------------------------------------------------
RADAR_THUMBNAIL_MAX_SIZE=1600
RADAR_CACHE_WORKERS=2
RADAR_GEO_CACHE_WORKERS=2
RADAR_GEO_CACHE_VERSION=b1
RADAR_GEO_CACHE_QUALITY=84
RADAR_PREVIEW_BUILD_ON_DEMAND=true
DINSAR_THUMBNAIL_MAX_SIZE=1600
DINSAR_FOOTPRINT_MAX_SIZE=1000
DINSAR_CACHE_WORKERS=4
# -----------------------------------------------------------------------------
# AI / 其他外部服务
# -----------------------------------------------------------------------------
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_API_URL=http://127.0.0.1:11434/api/generate
DEFAULT_VLM_MODEL=qwen3-vl:30b
# -----------------------------------------------------------------------------
# 前端 tile server
# -----------------------------------------------------------------------------
VITE_TILE_SERVER_URL=http://127.0.0.1:8910
VITE_TILE_SERVER_TOKEN=change_me