PUBLIC_API_BASE_URL=/web-api API_HOST=127.0.0.1 API_PORT=8787 POSTGRES_URL=postgresql://address:REPLACE_WITH_PASSWORD@127.0.0.1:5432/address POSTGRES_POOL_MAX=64 POSTGRES_POOL_MIN=4 ADDRESS_SYNC_POSTGRES_STATEMENT_TIMEOUT_MS=900000 ADDRESS_SYNC_PROCESS_TIMEOUT_MS=1800000 SYNC_JOB_TIMEOUT_MS=5400000 SYNC_QUEUE_MAX_FAILURES=3 SYNC_QUEUE_MAX_TIMEOUT_FAILURES=2 ADDRESS_SYNC_CLEANUP_INTERVAL_MS=900000 ADDRESS_SYNC_ARTIFACT_STALE_MS=21600000 # Generate with: openssl rand -base64 32 CONFIG_MASTER_KEY=GENERATE_32_BYTE_BASE64_VALUE # Used only when PostgreSQL has no administrator identity. ADMIN_BOOTSTRAP_PASSWORD=REPLACE_WITH_STRONG_INITIAL_PASSWORD COOKIE_SECURE=false STATIC_ROOT=dist TRUST_PROXY=false ALLOWED_ORIGIN= IP_GEOLOCATION_API_URL=https://ipwho.is/{ip} IP_GEOLOCATION_FALLBACK_API_URL=https://ipapi.co/{ip}/json/ # Server-side AMap WebService key used by China community synchronization (numbered suffixes add extra keys). AMAP_API_KEY= AMAP_API_KEY_2= BAIDU_API_KEY= TENCENT_API_KEY= # Required for the KR initial import (reverse-postcode geocoding); free tier is sufficient. GEOAPIFY_API_KEY= # Optional; broadens SG HDB building matching. Tokens expire after 3 days. ONEMAP_ACCESS_TOKEN= # Optional live-lookup providers (leave empty to disable). GOOGLE_GEOCODING_API_KEY= OS_DATA_HUB_API_KEY= OVERPASS_API_URL= PHOTON_API_URL= # Browser map display. These values only initialize an empty control database; # later administrator changes stored in PostgreSQL take precedence. AMAP_JS_API_KEY= AMAP_JS_SECURITY_CODE= MAP_GOOGLE_CHINA_ENABLED=true MAP_GOOGLE_INTERNATIONAL_ENABLED=true MAP_AMAP_CHINA_ENABLED=false MAP_AMAP_INTERNATIONAL_ENABLED=false # Online translation is optional. Offline pool generation works with this disabled. GOOGLE_TRANSLATION_ENABLED=false YOUDAO_APP_KEY= YOUDAO_APP_SECRET= # Optional override for the custom blacklist keyword file (default: data/blacklist.txt, hot-reloaded ~10s) # ADDRESS_BLACKLIST_FILE=data/blacklist.txt # Python interpreter used by the sync ETL exporters (default: python3, or python on Windows). # PYTHON_BIN=python3 SYNC_CONTROL_URL=http://127.0.0.1:8791 SYNC_CONTROL_PUBLIC=false # Required to trigger sync jobs from the admin console or the sync-control API. SYNC_ADMIN_TOKEN= # Set true so `npm run sync:serve` auto-runs the resumable initial import and daily updates. SYNC_SCHEDULER_ENABLED=false SYNC_QUEUE_MAX_FAILURES=8 SYNC_QUEUE_SUSPEND_MS=86400000 SYNC_JOB_TIMEOUT_MS=10800000 ADDRESS_SYNC_PROCESS_TIMEOUT_MS=5400000