配置
环境变量
全部可选——不配置任何变量即可启动。
| 变量 | 说明 | 默认 |
|---|---|---|
API_SECRET | 探针上报密钥 + 管理面板初始密码 | 自动生成 |
PORT | 容器内监听端口 | 17986 |
API_USER_NAME | 管理面板用户名 | admin |
HISTORY_RETENTION_DAYS | 历史保留天数(面板设置优先) | 14 |
GEOIP_PROVIDER | maxmind / ipinfo / off | maxmind |
GEOIP_MMDB_PATH | 自定义 GeoLite2 数据库路径 | 空 |
IPINFO_TOKEN | ipinfo.io token(可选) | 空 |
CORS_ALLOWED_ORIGINS | 允许跨域的来源,逗号分隔 | 空 |
DATA_DIR | 数据目录 | /app/data |
DEBUG | 设为 1 输出调试日志 | 空 |
NODE_OPTIONS | Node 堆上限,一般无需配置 | 自动 |
关于内存的那一个
V8 默认按宿主机物理内存算堆上限、不看容器限制。小容器跑在大内存宿主机上时,内存占用会缓慢变大(水位效应),可能触发容器 OOM。
镜像的入口脚本已经内置处理:
# 取容器内存上限的 1/5,限制在 64–384MB;识别不到就用 256MB
_pd_mb=$(( _pd_limit / 1048576 / 5 ))
if [ "$_pd_mb" -lt 64 ]; then _pd_mb=64; fi
if [ "$_pd_mb" -gt 384 ]; then _pd_mb=384; fi
export NODE_OPTIONS="--max-old-space-size=$_pd_mb"sh自己设了 NODE_OPTIONS 就以你的为准,跳过自动逻辑。
不要为了省内存去调小这个值。实测堆实际用量只有 17–20 MB,上限从 288 降到 128 不会让 RSS 少一个字节—— V8 根本没接近上限。详见性能与占用。