259 lines
9.8 KiB
Bash
259 lines
9.8 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_LOGIN_MAX_FAILURES=5
|
|
AUTH_LOGIN_WINDOW_SECONDS=300
|
|
AUTH_LOGIN_LOCK_SECONDS=600
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 服务启动
|
|
# -----------------------------------------------------------------------------
|
|
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/
|
|
|
|
CORS_ORIGINS=http://127.0.0.1:5173,http://localhost
|
|
CORS_ALLOW_CREDENTIALS=true
|
|
CORS_STRICT_MODE=false
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 源数据目录
|
|
# -----------------------------------------------------------------------------
|
|
UNPACK_SOURCE_DIRS=D:\Archives
|
|
INSAR_STORAGE_DIRS=D:\LuTan1_Image_Pool
|
|
MONITOR_RADAR_DIRS=D:\LuTan1_Image_Pool
|
|
MONITOR_DINSAR_DIRS=D:\DInSARResult
|
|
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
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 结果目录
|
|
# -----------------------------------------------------------------------------
|
|
RESULT_PUBLISH_ROOT=D:\production_results
|
|
DINSAR_PRODUCT_DIR=D:\production_results\dinsar
|
|
TIMESERIES_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=
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 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_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=
|
|
PYINT_OPENTOPO_DEM_TYPE=SRTMGL1
|
|
PYINT_DEM_STRICT=true
|
|
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_WSL_STEP_TIMEOUT_SECONDS=7200
|
|
TIMESERIES_ALLOW_SYNTHETIC_WATER_MASK=true
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# 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
|