PPanel Edge

运行时变量与绑定

配置文件、运行模式、数据库、存储和主机名的完整参考。

配置统一保存在 apps/api/.env,从 apps/api/.env.example 复制。使用下列变量名;NODE_ENV 决定运行模式。生产密钥使用受保护环境或 Workers secrets。

名称用途、默认与限制
ADMIN_HOST可选独立后台主机名;默认主站 /admin。
AI可选 Workers AI 翻译绑定,未配置时跳过该提供商。
ASN_DATABASE_PATH仅自托管:运营方维护的 GeoLite2-ASN/IPinfo Lite MMDB 路径(最大 128 MiB);启动加载,每 30 秒检查变更,更新失败保留旧库;未配置时 ASN 为 null 并在启动记录一次。
ASSETS门户与后台静态资源绑定;不是本站的部署目录。
CLIENT_IP_HEADER自托管可选可信代理覆盖的单个 IP 字面量头;未设置时使用 socket 地址,非法或缺失的可信头按未知处理。Workers 使用 cf-connecting-ip。
DATABASE_URL自托管或迁移直连 PostgreSQL;生产使用 TLS。Workers API 使用 Hyperdrive。
DB_POOL_MAX自托管 PostgreSQL 连接池上限,默认 20,正整数。
EMAIL可选 Email Service 绑定;在目标账户验证可用性。
FILES_PRIVATE私有 R2 桶;禁止 r2.dev、公开域名与匿名读取。
FILES_PUBLIC公开 R2 桶;上传功能需要,可绑定公开域名。
HOSTBun 监听地址,默认 127.0.0.1;容器显式设 0.0.0.0。
HYPERDRIVEWorkers PostgreSQL 绑定,必填;关闭查询缓存,迁移绕过它。
INSTALL_TOKEN安装向导的 secret:生产环境未设置时拒绝安装;设置后任何模式下都必须输入同一个值才会创建 root 账户。安装完成后可删除。
JOB_NOTIFY_QUEUE可选通知类任务门铃 Queue(验证码、用户通知);未配置时使用 JOB_QUEUE。
JOB_QUEUE可选任务门铃 Queue;提交后投递到期任务 ID,未配置时请求内用 waitUntil 加速,Cron 照常兜底。
LOG_DIR仅自托管:可选私有 JSONL 日志目录,每个进程独占一个目录;stdout 仍输出。拒绝符号链接,查询只读。
LOG_INSTANCE_ID日志实例标识,1–128 位字母、数字或 ._:-,默认进程随机 UUID;副本应设置不同的稳定值。
LOG_MAX_BYTES每个日志文件的字节上限,默认 52428800(50 MiB),范围 256–104857600;超过 64 KiB 或文件上限的单行只输出到控制台。
LOG_MAX_FILES日志文件总数(含当前文件),默认 10,范围 1–100;轮转和重启时删除最旧文件。
LOG_WORKERS_ACCOUNT_ID可选 Workers Logs 仪表盘账户 ID,32 位小写十六进制;与 LOG_WORKERS_SCRIPT_NAME 同时配置,不含 API 令牌。
LOG_WORKERS_SCRIPT_NAME可选 Workers 脚本名,1–63 位字母、数字、下划线或短横线;仅用于仪表盘链接,筛选预填需核对。
MASTER_KEYS必填 secret,多版本主密钥环(v2:…,v1:…);离线保留两份。
METRICS_TOKEN_HASH可选 secret,metrics Bearer 令牌 SHA-256 的 64 位十六进制摘要;缺失/非法均拒绝。
NODE_ENVdevelopment/test 启用全量响应校验,其余值按 production;Bun/Node 读取进程环境,Wrangler 构建时替换。
OUTBOUND_ALLOW_PRIVATE_CIDRS仅自托管:允许 HTTPS 出站访问所列私网的精确 IPv4/IPv6 CIDR(逗号分隔,最多 256 项,默认空);网络地址不得包含主机位,非法值启动失败。全部 DNS 地址必须通过策略;仍校验证书并拒绝重定向。不是后台设置。
REDIS_ALLOW_PLAINTEXT1 允许非本机明文 Redis,仅受信私网;默认拒绝。
REDIS_URL可选 Redis URL;非本机需 rediss://;不支持 Cluster/Sentinel。
SITE_HOSTS主站/Origin 允许主机列表,逗号分隔,非默认端口需保留;生产必填。
STATEStateShard Durable Object 命名空间;选择 do 时必填。
STATE_LOCATIONDO 位置提示,应靠近数据库;对象创建后位置固定。
STATE_SHARDS默认 16;修改会重置令牌和限流所在分片。
SUBSCRIPTION_HOSTS可选订阅专用主机列表,只提供 /s/*。
TRUSTED_PROXY_CIDRS仅自托管:允许提供 CLIENT_IP_HEADER 的 socket 对端 CIDR,逗号分隔 IPv4/IPv6,最多 256 项;非法值启动失败,未设置时需由防火墙保证代理独占访问。
USER_LIST_SNAPSHOT_MAX_BYTES增量用户基线单值上限(UTF-8 字节),默认 1048576,范围 1024–1900000;超过上限返回全量。
VALKEY_URLRedis URL 未设置时的 Valkey 替代项,安全规则相同。
VOLATILE_STOREauto/do/redis,默认 auto;Workers→do,自托管必须配置 Redis/Valkey。

Wrangler 配置项

配置要求
compatibility_date固定兼容日期,验证 nodejs_compat。
placement.modesmart:让 Worker 靠近 PostgreSQL 运行,并测量实际延迟。
triggers.crons* * * * * + 0 * * * *
migrationsStateShard 使用 new_sqlite_classes;保留已发布迁移历史。
assets / run_worker_first保留 API、订阅和后台回退规则。

本地工具与发布

名称用途
PG_CONTAINER / REDIS_CONTAINER默认本地容器 ppanel-edge-pg / ppanel-edge-redis。
DEV_DB本地开发库,默认 ppanel_edge。
CLOUDFLARE_API_TOKEN / CLOUDFLARE_ACCOUNT_ID发布所需 GitHub Environment secrets。
MIGRATOR_DATABASE_URL发布 secret,仅迁移步骤作为 DATABASE_URL 注入。
SITE_URL部署后烟测目标,不带凭据。

桶凭证、SMTP、渠道和翻译提供商在后台设置域配置,不是部署变量。