跳至主要内容

環境變數參考

本頁列出所有服務的環境變數。Docker 模式直接在 docker-compose.yml 設定,Kubernetes 模式透過 Helm values 或 ConfigMap 注入。

Workspace Manager

核心設定

變數預設值說明
PORT3001API 監聽 port
HOST0.0.0.0監聽 host
NODE_ENVdevelopment執行環境
DEBUGtrue除錯模式
DEPLOYMENT_ENVdocker / kubernetes部署模式,決定 workspace provisioner

資料庫

變數預設值說明
DATABASE_URLpostgresql://postgres:postgres@postgres:5432/aileronPostgreSQL 連線字串

Redis / Celery

變數預設值說明
REDIS_URLredis://redis:6379Redis 連線 URL
CELERY_BROKER_URLredis://redis:6379/0Celery broker(使用 DB 0)
CELERY_RESULT_BACKENDredis://redis:6379/1Celery 結果後端(使用 DB 1)
CELERY_TASK_SERIALIZERjson任務序列化格式
CELERY_RESULT_SERIALIZERjson結果序列化格式
CELERY_ACCEPT_CONTENTjson接受的內容格式

認證 (JWT)

變數預設值說明
SECRET_KEY(開發預設值)JWT signing secret,生產環境必須修改
ACCESS_TOKEN_EXPIRE_MINUTES180Access token 有效期(分鐘)
REFRESH_TOKEN_EXPIRE_DAYS7Refresh token 有效期(天)

Keycloak (OAuth2/OIDC)

變數預設值說明
KEYCLOAK_SERVER_URLhttp://aileron-keycloak-dev:8080Keycloak 內部 URL
KEYCLOAK_REALMaileronKeycloak Realm 名稱
KEYCLOAK_CLIENT_IDaileron-frontendOAuth2 Client ID
KEYCLOAK_CLIENT_SECRET(空)OAuth2 Client Secret(public client 不需要)
KEYCLOAK_JWKS_CACHE_TTL3600JWKS 快取時間(秒)

Docker 模式專用

變數預設值說明
DOCKER_HOSTunix:///var/run/docker.sockDocker daemon socket
DOCKER_NETWORKaileron-network-devDocker 網路名稱
WORKSPACE_RUNTIME_URLhttp://workspace-runtime:3002Runtime 內部 URL
HOST_PROJECT_ROOT.主機上的專案根目錄
HOST_WORKSPACE_RUNTIME_DIR./workspace-runtime主機上 runtime 目錄
HOST_WORKSPACE_MANAGER_DIR./workspace-manager主機上 manager 目錄
HOST_WORKSPACES_DIR./data/workspace-data工作區資料目錄

Claude API

變數預設值說明
ANTHROPIC_BASE_URL(空)Claude API Base URL(自訂 proxy 時使用)
ANTHROPIC_AUTH_TOKEN(空)Claude API 認證 Token

Workspace Runtime

核心設定

變數預設值說明
PORT3002API 監聽 port
NODE_ENVdevelopment執行環境
ENVdevelopment應用環境
WORKSPACE_IDdefault-workspace工作區 ID
WORKSPACE_MANAGER_URLhttp://workspace-manager:3001Manager 內部 URL
DEPLOYMENT_ENVdocker / kubernetes部署模式

資料庫

變數預設值說明
DATABASE_URLpostgresql://postgres:postgres@postgres:5432/aileronPostgreSQL 連線字串

Redis 與請求追蹤

變數預設值說明
REDIS_URLredis://redis:6379Redis 連線 URL
REDIS_HOSTredisRedis host
REDIS_PORT6379Redis port
REDIS_DB0Redis DB index
ENABLE_REDIStrue啟用 Redis
REDIS_MAX_CONNECTIONS20連線池最大連線數
REDIS_SOCKET_TIMEOUT30Socket 超時(秒)
REDIS_RETRY_ATTEMPTS3重試次數
REQUEST_TTL_SECONDS3600請求 TTL
CLEANUP_INTERVAL_SECONDS300清理間隔

內部認證

變數預設值說明
INTERNAL_API_TOKENdev-internal-token服務間認證 token

SSH 設定

變數預設值說明
SSH_PORT22SSH 監聽 port
SSH_HOST_KEY_PATH/etc/ssh/ssh_host_rsa_keySSH host key 路徑

Git 設定

變數預設值說明
GIT_USER_NAMEDeveloperGit 使用者名稱
GIT_USER_EMAILdeveloper@workspace.localGit 使用者 email

Terminal Service

變數預設值說明
TERMINAL_PORT3004Terminal WebSocket port
LOG_LEVELdebug日誌等級
MAX_TABS_PER_WORKSPACE10每個 workspace 最大 terminal 分頁數
SESSION_TIMEOUT300Session 超時(秒)
PTY_BUFFER_SIZE1024PTY 緩衝區大小

Claude API

變數預設值說明
ANTHROPIC_BASE_URL(空)Claude API Base URL
ANTHROPIC_AUTH_TOKEN(空)Claude API 認證 Token

Keycloak (OAuth2/OIDC)

變數預設值說明
KEYCLOAK_SERVER_URLhttp://aileron-keycloak-dev:8080Keycloak 內部 URL
KEYCLOAK_REALMaileronRealm 名稱
KEYCLOAK_CLIENT_IDaileron-webOAuth2 Client ID
KEYCLOAK_JWKS_URL(自動組合)JWKS 端點 URL
KEYCLOAK_JWKS_CACHE_TTL3600JWKS 快取時間(秒)

Browser Container Discovery

變數預設值說明
BROWSER_CONTAINER_NAMEworkspace-browser-default-workspaceBrowser 容器名稱
BROWSER_CDP_URLhttp://workspace-browser-default-workspace:9223Chrome DevTools Protocol URL
BROWSER_WEBRTC_INTERNAL_URLhttp://workspace-browser-default-workspace:6080WebRTC 內部 URL

Next.js Container Discovery

變數預設值說明
NEXTJS_CONTAINER_NAMEworkspace-nextjs-default-workspaceNext.js 容器名稱
NEXTJS_INTERNAL_URLhttp://workspace-nextjs-default-workspace:3003Next.js 內部 URL
NEXTJS_API_URLhttp://workspace-nextjs-default-workspace:3013Next.js 管理 API URL

Frontend

變數預設值說明
NODE_ENVdevelopment / production執行環境
DOCKER_ENVtrue / false是否在 Docker 內執行
VITE_API_BASE_URLhttp://localhost:3001Manager API URL(瀏覽器端)
VITE_FRONTEND_PUBLIC_URL(空)Frontend public URL
VITE_KEYCLOAK_SERVER_URLhttp://localhost:8080Keycloak URL(瀏覽器端)
VITE_KEYCLOAK_REALMaileronKeycloak Realm
VITE_KEYCLOAK_CLIENT_IDaileron-frontendKeycloak Client ID
VITE_WORKSPACE_K8S_ALLOWED_NAMESPACESworkspace-system,default允許的 K8s namespace
VITE_WORKSPACE_K8S_DEFAULT_NAMESPACEworkspace-system預設 K8s namespace
VITE_ 前綴

所有 VITE_ 開頭的變數會被打包進前端 JavaScript。不要在此放入機密資訊。


Keycloak

變數預設值說明
KC_HOSTNAMElocalhostKeycloak hostname
KC_HOSTNAME_URLhttp://localhost:8080對外完整 URL
KC_HOSTNAME_ADMIN_URLhttp://localhost:8080管理後台 URL
KC_HOSTNAME_STRICTfalse嚴格 hostname 檢查
KC_HOSTNAME_STRICT_HTTPSfalse嚴格 HTTPS 檢查
KC_HTTP_ENABLEDtrue啟用 HTTP
KC_HTTPS_ENABLEDfalse啟用 HTTPS
KC_PROXY_HEADERSxforwarded信任的 proxy header 類型
KC_DBpostgres資料庫類型
KC_DB_URLjdbc:postgresql://postgres:5432/keycloak資料庫 URL
KC_DB_USERNAMEpostgres資料庫使用者
KC_DB_PASSWORDpostgres資料庫密碼
KC_BOOTSTRAP_ADMIN_USERNAMEadmin初始管理員帳號
KC_BOOTSTRAP_ADMIN_PASSWORDadmin初始管理員密碼
KC_HEALTH_ENABLEDtrue啟用健康檢查端點
KC_METRICS_ENABLEDtrue啟用 metrics 端點

Workspace Browser (neko)

變數預設值說明
WORKSPACE_IDdefault-workspace工作區 ID
NEKO_SERVER_BIND:6080neko 監聽位址
NEKO_DESKTOP_SCREEN1440x900@30桌面解析度與幀率
NEKO_MEMBER_MULTIUSER_USER_PASSWORDneko一般使用者密碼
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORDadmin管理員密碼
NEKO_WEBRTC_ICELITE1啟用 ICE Lite 模式
NEKO_WEBRTC_UDPMUX52000WebRTC UDP mux port
NEKO_WEBRTC_NAT1TO1127.0.0.1NAT 1:1 映射 IP
NEKO_SESSION_IMPLICIT_HOSTINGtrue自動分配 host 權限

Workspace Next.js

變數預設值說明
WORKSPACE_IDdefault-workspace工作區 ID
PORT3003Next.js dev server port
API_PORT3013管理 API port
WORKSPACE_DIR/workspace工作區目錄
NODE_ENVdevelopment執行環境

Workspace Operator (Kubernetes 專用)

變數預設值說明
LOG_LEVELinfo日誌等級
WORKSPACE_CRD_GROUPplatform.aileron.ioCRD API group
WORKSPACE_CRD_VERSIONv1alpha1CRD API version
WATCH_NAMESPACE(空)限定 watch 的 namespace,空值表示 watch 所有

Kubernetes ConfigMap 注入

在 Kubernetes 模式下,以下環境變數由 platform-config ConfigMap 自動注入:

ConfigMap Key說明
PUBLIC_SCHEMEpublic routing scheme
PUBLIC_BASE_DOMAINbase domain
PUBLIC_FRONTEND_URLFrontend 完整 URL
PUBLIC_WORKSPACE_MANAGER_URLManager 完整 URL
PUBLIC_KEYCLOAK_URLKeycloak 完整 URL
PUBLIC_RUNTIME_HOST_PATTERNRuntime host pattern
PUBLIC_BROWSER_HOST_PATTERNBrowser host pattern
PUBLIC_NEXTJS_HOST_PATTERNNext.js host pattern
RUNTIME_PROVISIONERprovisioner 類型
RUNTIME_K8S_NAMESPACE預設 K8s namespace
RUNTIME_K8S_ALLOWED_NAMESPACES允許的 namespace
RUNTIME_K8S_SERVICE_TYPEService type
RUNTIME_K8S_IMAGERuntime 映像
RUNTIME_K8S_BROWSER_IMAGEBrowser 映像
RUNTIME_K8S_NEXTJS_IMAGENext.js 映像
CILIUM_ENABLED是否啟用 Cilium
FIREWALL_DEFAULTS_CONFIGMAP_NAMEFirewall defaults ConfigMap 名稱