Skip to main content
環境變數在啟動時設定 Panguard 服務。在您的 shell 設定檔、.env 檔案或容器編排系統中設定它們。

Panguard Guard

變數預設值說明
PANGUARD_DATA_DIR~/.panguard-guardGuard 資料、規則和日誌的基礎目錄
PANGUARD_MODEprotect運作模式:learningdetectprotect
OLLAMA_ENDPOINThttp://localhost:11434Ollama API 端點,用於本機 AI 分析
ANTHROPIC_API_KEYAnthropic API 金鑰,用於基於 Claude 的分析(第 2/3 層)
OPENAI_API_KEYOpenAI API 金鑰,用於基於 GPT 的分析(第 2/3 層)
ABUSEIPDB_KEYAbuseIPDB API 金鑰,用於 IP 聲譽查詢
PANGUARD_LOG_LEVELinfo日誌等級:debuginfowarnerror
PANGUARD_LANGenCLI 輸出和通知的語言:enzh-TWja
export PANGUARD_DATA_DIR=~/.panguard-guard
export PANGUARD_MODE=protect
export PANGUARD_LOG_LEVEL=info
export PANGUARD_LANG=en

# AI 提供者(建議至少設定一個)
export OLLAMA_ENDPOINT=http://localhost:11434
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...

# 選用
export ABUSEIPDB_KEY=your-key-here
Guard 使用三層 AI 系統。至少設定 OLLAMA_ENDPOINT 用於本機分析(第 1 層)。在 Pro 和 Business 方案中新增 ANTHROPIC_API_KEYOPENAI_API_KEY 用於雲端分析(第 2/3 層)。

Panguard Manager

變數預設值說明
MANAGER_PORT8443Manager API 的 HTTPS 埠
MANAGER_AUTH_TOKEN必填。 用於 API 存取的共享身份驗證 token
MANAGER_MAX_AGENTS100可註冊的最大代理數量
MANAGER_HEARTBEAT_TIMEOUT_MS120000代理被標記為 stale 前的毫秒數
CORS_ALLOWED_ORIGINS以逗號分隔的允許 CORS 來源清單
export MANAGER_PORT=8443
export MANAGER_AUTH_TOKEN=$(openssl rand -hex 32)
export MANAGER_MAX_AGENTS=100
export MANAGER_HEARTBEAT_TIMEOUT_MS=120000
export CORS_ALLOWED_ORIGINS=https://dashboard.panguard.ai
MANAGER_AUTH_TOKEN 是必填的,且必須在啟動 Manager 前設定。使用至少 32 個字元的強隨機值。連接到此 Manager 的所有代理上必須設定相同的 token。

Panguard Auth Server

變數預設值說明
PANGUARD_PORT3000Auth Server 的 HTTP 埠
JWT_SECRET必填。 用於簽署 JWT token 的密鑰
GOOGLE_CLIENT_IDGoogle OAuth 用戶端 ID(用於社交登入)
GOOGLE_CLIENT_SECRETGoogle OAuth 用戶端密鑰
LEMONSQUEEZY_API_KEYLemonSqueezy API 金鑰,用於訂閱管理
LEMONSQUEEZY_STORE_IDLemonSqueezy 商店 ID
LEMONSQUEEZY_WEBHOOK_SECRETLemonSqueezy webhook 簽名密鑰
export PANGUARD_PORT=3000
export JWT_SECRET=$(openssl rand -hex 64)

# 選用:Google OAuth
export GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
export GOOGLE_CLIENT_SECRET=your-client-secret

# 選用:LemonSqueezy 支付
export LEMONSQUEEZY_API_KEY=your-api-key
export LEMONSQUEEZY_STORE_ID=your-store-id
export LEMONSQUEEZY_WEBHOOK_SECRET=your-webhook-secret
JWT_SECRET 必須是強隨機值。如果它被洩露,所有已簽發的 token 都可以被偽造。如果懷疑洩露,請立即輪換 — 這將使所有活躍的工作階段失效。

Panguard Threat Cloud

變數預設值說明
TC_API_KEYS以逗號分隔的有效 API 金鑰清單
TC_PORT4000Threat Cloud API 的 HTTP 埠
TC_DB_PATH./data/threat-cloud.dbSQLite 資料庫檔案路徑
ALLOW_ANONYMOUS_UPLOADfalse允許未認證的威脅提交
export TC_API_KEYS=key1,key2,key3
export TC_PORT=4000
export TC_DB_PATH=/var/lib/panguard/threat-cloud.db
export ALLOW_ANONYMOUS_UPLOAD=false
ALLOW_ANONYMOUS_UPLOAD=true 讓 Community 層級使用者無需 API 金鑰即可提交威脅資料。上傳的資料仍會經過驗證和聲譽評分。

Docker / 正式環境

變數預設值說明
NODE_ENVdevelopment對於正式部署設定為 production
設定 NODE_ENV=production
  • 停用除錯日誌和錯誤回應中的堆疊追蹤
  • 啟用回應壓縮
  • 啟用更嚴格的安全標頭
  • 停用僅限開發的路由
services:
  manager:
    image: panguard/manager
    environment:
      - NODE_ENV=production
      - MANAGER_PORT=8443
      - MANAGER_AUTH_TOKEN=${MANAGER_AUTH_TOKEN}
      - CORS_ALLOWED_ORIGINS=https://dashboard.panguard.ai

  auth:
    image: panguard/auth
    environment:
      - NODE_ENV=production
      - PANGUARD_PORT=3000
      - JWT_SECRET=${JWT_SECRET}

  threat-cloud:
    image: panguard/threat-cloud
    environment:
      - NODE_ENV=production
      - TC_PORT=4000
      - TC_API_KEYS=${TC_API_KEYS}
      - TC_DB_PATH=/data/threat-cloud.db
    volumes:
      - tc-data:/data

優先順序

環境變數優先於設定檔值。解析順序為:
  1. 環境變數(最高優先順序)
  2. 設定檔值(config.json
  3. 內建預設值(最低優先順序)
對於本機開發,在服務目錄中建立 .env 檔案並使用 dotenv 等工具載入。永遠不要將 .env 檔案提交到版本控制。