Coolify 4.4.6 配置参数详解
Coolify 4.4.6 配置体系逐项详解:.env 部署必需层 20 余变量与源码实查扩展族(APP_*/DB_*/REDIS_*/PUSHER_*/SSH_*/HORIZON_* 等)的实测默认值、修改三步流程与生产模板,全部取自运行实例实查。
Coolify 4.4.6 配置参数详解
目标:逐项讲清 Coolify 4.4.6 的配置入口与参数体系——
.env环境变量(APP_/DB_/REDIS_/PUSHER_/ROOT_* 等)的实测默认值、生效方式、修改流程,以及平台内部按源码实查的扩展变量族,并给出生产配置模板。全部默认值与回显取自运行中的 4.4.6 实例(标注实测性:运行实例实查 / 源码默认值实查),查询日期 2026-10-21。
一、环境信息
| 项目 | 值 |
|---|---|
| 平台版本 | 4.4.6(GET /api/v1/version 返回 4.4.6,实测) |
| 应用框架 | Laravel 12.69.3 / PHP 8.4.23(php artisan about 实测) |
| 配置文件 | /data/coolify/source/.env(主服务以只读方式挂载为自身 /var/www/html/.env) |
| 编排服务 | coolify(Web/API/实时通信)、coolify-db(postgres:15-alpine)、coolify-redis(redis:7-alpine) |
| 对外端口 | 8000(Web/API)、6001/6002(实时通信) |
| 实测示例账号 | root / q1w2e3r4 |
| 参数取证方式 | 运行实例 .env 实查 + 平台源码 /var/www/html/config/ 默认值实查(2026-10-21) |
二、前置条件
- 已按 《Coolify 4.4.6 Docker Compose 部署指南》第四章或第五章完成部署并能登录控制台(本文命令均在部署机
/data/coolify/source目录下执行)。 - 理解 Coolify 的单一配置入口:
.env文件同时承担「编排插值」与「应用配置注入」两个角色,所有参数修改都围绕它进行。 - 演示用命令中的账号为 root / q1w2e3r4(示例口令,生产请使用自己的强口令)。
三、参数查看与修改方式
3.1 查看生效配置
方式一:直接查看配置文件(密钥类值由安装时 openssl 自动生成,各实例不同):
cd /data/coolify/source
grep -vE '=base64:|^$' .env | sed 's/=.*PASSWORD=.*/=<自动生成>/'
💡 说明:
.env中APP_ID、APP_KEY、DB_PASSWORD、REDIS_PASSWORD、PUSHER_APP_ID/KEY/SECRET均为安装时随机生成的实例级密钥,查看时注意不要外泄;上面命令把密钥值做了遮蔽处理。
方式二:平台自带的应用信息总览(Laravel 标准 about 命令,实测节选):
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml exec coolify php artisan about
Application Name ................................................... Coolify
Laravel Version .................................................... 12.69.3
PHP Version ......................................................... 8.4.23
Environment ..................................................... production
Debug Mode ............................................................. OFF
Maintenance Mode ....................................................... OFF
Cache ......................................................................
Config .............................................................. CACHED
Events .............................................................. CACHED
Routes .............................................................. CACHED
Views ............................................................... CACHED
Drivers ....................................................................
Broadcasting ........................................................ reverb
Cache ................................................................ redis
Database ............................................................. pgsql
Logs ........................................................ stack / single
Mail ................................................................. array
Queue ................................................................ redis
Session ........................................................... database
Sentry .....................................................................
Enabled ........................................................ MISSING DSN
Release .............................................................. 4.4.6
💡 说明:
Drivers段即核心运行时参数的生效结果——广播走 Reverb(实时通信)、缓存与队列走 Redis、元数据库 pgsql、会话走 database;Config CACHED表示配置已缓存,修改 .env 后必须重建服务(见 3.2)才能生效。
方式三:关键探针验证:
curl -s http://localhost:8000/api/health
OK
3.2 修改参数的标准流程
.env 为只读挂载且配置已缓存,标准修改流程是「改文件 → 重建编排 → 验证」三步,以把 Web 端口改为 8400 为例:
cd /data/coolify/source
echo 'APP_PORT=8400' >> .env
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml down --remove-orphans
docker compose --env-file .env -f docker-compose.yml -f docker-compose.prod.yml up -d --remove-orphans --wait --wait-timeout 60
curl -s http://localhost:8400/api/health
OK
⚠️ 注意:
down会中断控制台约 1 分钟,已部署的应用不受影响;APP_PORT同时决定编排端口映射(${APP_PORT:-8000}:8080),改完同步调整防火墙放行。
3.3 升级对配置的保护
重跑官方安装脚本升级时,.env 先备份后合并,已有键保留原值、新键追加(脚本内 awk -F '=' '!seen[$1]++'),实测回显:
- Creating backup of existing .env file to .env-20261021-080354
- Merging .env.production values into .env
- .env file merged successfully
因此手工追加的参数(APP_PORT、AUTOUPDATE 等)不会被官方模板覆盖;升级前也可手工再备份一份 cp .env .env.bak-$(date +%F)。
四、参数总览
按作用域分组的参数全景(实测性标注:「实例」= 运行实例 .env 实查;「源码」= 平台源码 config 默认值实查,未出现在实例 .env 中、按默认生效):
| 参数组 | 代表变量 | 作用域 | 实测性 |
|---|---|---|---|
| 应用核心 | APP_ID / APP_NAME / APP_KEY / APP_ENV / APP_PORT | 应用标识、加密、端口 | 实例 |
| 元数据库 | DB_USERNAME / DB_PASSWORD / DB_HOST / DB_PORT / DB_DATABASE | PostgreSQL 连接 | 实例 + 源码 |
| 队列缓存 | REDIS_PASSWORD / REDIS_HOST / REDIS_PORT | Redis 连接(队列/缓存) | 实例 + 源码 |
| 实时通信 | PUSHER_APP_ID / PUSHER_APP_KEY / PUSHER_APP_SECRET / PUSHER_BACKEND_PORT | Reverb 凭据与端口 | 实例 |
| 管理员 | ROOT_USERNAME / ROOT_USER_EMAIL / ROOT_USER_PASSWORD | 首次初始化管理员 | 实例 |
| 版本与仓库 | REGISTRY_URL / LATEST_IMAGE / COOLIFY_VERSION | 版本锁定与仓库源 | 实例 |
| 网络地址池 | DOCKER_ADDRESS_POOL_BASE / DOCKER_ADDRESS_POOL_SIZE | Docker 网络分配 | 实例 |
| 安装行为 | AUTOUPDATE / DOCKER_POOL_FORCE_OVERRIDE | 安装/升级脚本开关 | 源码(脚本头部注释) |
| API 限流 | API_RATE_LIMIT | REST API 限流 | 源码 |
| SSH 连接 | SSH_COMMAND_TIMEOUT / SSH_MAX_RETRIES / SSH_MUX_* 等 | 目标服务器连接行为 | 源码 |
| 队列任务 | HORIZON_* / SCHEDULED_JOBS_DISPATCH_MODE | 后台任务并发与超时 | 源码 |
| 会话日志 | SESSION_* / LOG_* / APP_DEBUG | 会话时长、日志通道 | 源码 |
| 扩展族 | MAIL_* / AWS_* / OIDC_* 等单字母前缀族 | 邮件、备份存储、SSO 等 | 源码 |
💡 说明:Coolify 的参数体系分两层——
.env里显式出现的是「部署必需层」(约 20 个变量);其余百余个是「可选调优层」,有默认值、不写即按默认生效,需要时追加进.env即可。
五、核心参数分类详解
5.1 应用核心(APP_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| APP_ID | 安装时自动生成(openssl rand -hex 16) | 实例标识 |
| APP_NAME | Coolify | 应用名,控制台标题 |
| APP_KEY | 安装时自动生成(base64:$(openssl rand -base64 32)) | 加密根密钥;生成后不可更换,更换会导致既有加密数据(会话、凭据)不可解 |
| APP_ENV | production(生产编排默认注入) | 运行环境 |
| APP_DEBUG | false(源码默认) | 调试模式,生产保持关闭(about 实测 Debug Mode OFF) |
| APP_PORT | 8000 | Web/API 端口,编排映射 ${APP_PORT:-8000}:8080 |
5.2 元数据库(DB_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| DB_USERNAME | coolify | 元数据库用户(官方固定值,改动会导致初始化失败) |
| DB_PASSWORD | 安装时自动生成(openssl rand -base64 32) | 元数据库密码 |
| DB_CONNECTION | pgsql(源码默认) | 数据库驱动 |
| DB_HOST / DB_PORT | coolify-db / 5432(源码默认,编排内网服务名解析) | 连接地址;单机部署无需填写 |
| DB_DATABASE | coolify(源码默认) | 库名 |
| DB_READ_HOST / DB_WRITE_HOST 等 | 未设置(源码支持) | 读写分离扩展项,仅外接数据库集群时使用 |
5.3 队列缓存(REDIS_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| REDIS_PASSWORD | 安装时自动生成(openssl rand -base64 32) | 编排以 --requirepass 注入,两侧必须一致 |
| REDIS_HOST / REDIS_PORT | coolify-redis / 6379(源码默认) | 连接地址;单机部署无需填写 |
| REDIS_DB / REDIS_CACHE_DB 等 | 未设置(源码支持) | 逻辑库编号扩展项 |
5.4 实时通信(PUSHER_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| PUSHER_APP_ID / PUSHER_APP_KEY / PUSHER_APP_SECRET | 安装时自动生成(openssl rand -hex 32) | Reverb 凭据三件套 |
| PUSHER_BACKEND_PORT | 6001 | 实时通信后端监听端口;对外映射 ${REVERB_PORT:-${SOKETI_PORT:-6001}}:6001 |
💡 说明:控制台的实时日志、部署状态推送都走这条通道,
PUSHER_BACKEND_PORT与对外映射不一致会表现为「部署日志不动」。实时通信兼容 Pusher 协议,是 4.4 版起内置于主服务的组件(4.4 之前独立部署、由soketi占位服务兼容)。
5.5 管理员与登录(ROOT_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| ROOT_USERNAME | root | 预置管理员用户名 |
| ROOT_USER_EMAIL | root@example.com | 预置管理员邮箱(登录名) |
| ROOT_USER_PASSWORD | q1w2e3r4(示例口令) | 预置管理员密码 |
⚠️ 注意:三项仅在首次初始化时生效;运行后改密码用内置命令
php artisan root:reset-password(交互式,实测见命令篇),或控制台个人设置页修改。本文口令 q1w2e3r4 为演示值,生产务必替换强口令。
5.6 版本与仓库(REGISTRY_URL / LATEST_IMAGE / COOLIFY_VERSION)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| REGISTRY_URL | docker.io | 组件仓库源,内网环境可指向自建仓库地址 |
| LATEST_IMAGE | 4.4.6 | 主服务版本锁;官方编排以 ${LATEST_IMAGE:-latest} 引用 |
| COOLIFY_VERSION | 4.4.6 | 版本标识,升级脚本据此执行迁移 |
5.7 Docker 网络地址池(DOCKER_ADDRESS_POOL_*)
| 变量 | 实测值/默认 | 说明 |
|---|---|---|
| DOCKER_ADDRESS_POOL_BASE | 10.0.0.0/8 | 网络地址池基址,写入 Docker 守护进程配置 |
| DOCKER_ADDRESS_POOL_SIZE | 24 | 池规模(每个子网掩码位) |
💡 说明:Coolify 会为目标服务器上每个应用/服务创建独立网络,地址池决定可用网络数量;与既有网络环境冲突时用
DOCKER_POOL_FORCE_OVERRIDE=true强制覆盖(脚本头注释变量,实测告警回显见部署篇问题 3)。
5.8 安装脚本行为变量(AUTOUPDATE / DOCKER_POOL_FORCE_OVERRIDE)
| 变量 | 默认 | 说明 |
|---|---|---|
| AUTOUPDATE | 未设置(默认开启自动更新) | 设为 false 关闭自动升级;平台每日计划任务 App\Jobs\UpdateCoolifyJob 检查新版本(实测于 schedule:list) |
| DOCKER_POOL_FORCE_OVERRIDE | false | 强制覆盖既有 Docker 地址池配置 |
5.9 API 与限流(API_RATE_LIMIT)
| 变量 | 源码默认 | 说明 |
|---|---|---|
| API_RATE_LIMIT | 200 | REST API 每分钟请配额(按 Token 计);对外提供 API 自动化时按需调高 |
5.10 SSH 连接族(SSH_*)
| 变量 | 源码默认 | 说明 |
|---|---|---|
| SSH_COMMAND_TIMEOUT | 3600 | 单条远程执行超时(秒) |
| SSH_MAX_RETRIES | 3 | 连接失败重试次数 |
| SSH_MUX_PERSIST_TIME | 3600 | 连接复用保持时长(秒) |
| SSH_MUX_ENABLED / SSH_MUX_LOCK_* / SSH_RETRY_* | 源码内置 | 连接复用与重试退避细项 |
💡 说明:SSH 是平台驱动目标服务器的唯一通道,构建慢、部署中途断开等问题优先检查
SSH_COMMAND_TIMEOUT;批量部署大量小任务时调大SSH_MUX_PERSIST_TIME可减少重复握手。
5.11 队列与后台任务(HORIZON_* / SCHEDULED_JOBS_DISPATCH_MODE)
| 变量 | 源码默认 | 说明 |
|---|---|---|
| HORIZON_MAX_PROCESSES | 4 | 队列工作进程数(多应用并发部署的吞吐上限之一) |
| HORIZON_TIMEOUT | 39600 | 单任务最长执行时长(秒,默认 11 小时,兼顾长构建) |
| SCHEDULED_JOBS_DISPATCH_MODE | 未设置 | 计划任务派发模式扩展项 |
5.12 会话与日志(SESSION_* / LOG_*)
| 变量 | 源码默认 | 说明 |
|---|---|---|
| SESSION_DRIVER | database | 会话存储(实测 about:Session database) |
| SESSION_LIFETIME | 10080 | 会话有效期(分钟,默认 7 天) |
| LOG_CHANNEL | stack / single(实测 about:Logs stack / single) | 日志通道;LOG_LEVEL 源码默认 debug(应用日志)/ critical(异常通道) |
| LOG_AUDIT_DAYS / LOG_AUDIT_LEVEL | 源码内置 | 审计日志保留与级别 |
5.13 平台内部扩展变量清单(源码实查,按前缀分组)
以下变量均自 4.4.6 运行实例源码 /var/www/html/config/ 逐项枚举(2026-10-21 实查),未在实例 .env 显式出现时按源码默认生效。列出前缀族与用途,供按需追加:
| 前缀族 | 用途 | 生产相关性 |
|---|---|---|
| MAIL_* | 平台自身外发邮件(MAIL_MAILER/MAIL_HOST/MAIL_FROM_ADDRESS 等 14 项) | 需要邮件通知时配置 |
| AWS_* | S3 兼容存储(备份上传;AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_BUCKET/AWS_ENDPOINT 等) | 远端备份必需 |
| OIDC_* / AUTHENTIK_* / GOOGLE_* / CLERK_* / AZURE_* / ZITADEL_* | 六族 SSO 登录(Base URL/Client ID/Secret/Redirect URI) | 团队 SSO 时按选型配一族 |
| SENTRY_* | 错误追踪上报(实测 about:MISSING DSN 即未配置) | 可选 |
| SENTINEL_* / TERMINAL_* / SERVER_TIMING_ENABLED | 平台哨兵与终端通道细项 | 默认即可 |
| BROADCAST_* / CACHE_* / QUEUE_* / FILESYSTEM_DISK | 驱动选择(实测:reverb/redis/redis) | 一般不动 |
| MIGRATION_ENABLED / SEEDER_ENABLED | 初始化迁移与种子开关(源码默认 true) | 排障时可临时关闭迁移 |
| STRIPE_* / SUBSCRIPTION_PROVIDER / CLOUD_* | 云版订阅计费(自托管不生效) | 忽略 |
| DEV_* / DUSK_* / DEVELOPMENT_QEMU_* | 开发/测试专用 | 生产勿配 |
六、生产配置模板
适用场景:8GB 内存 / 4 核 / NVMe SSD,承载中小团队十余个应用的通用生产配置。在部署篇方案 A/B 完成后,向 /data/coolify/source/.env 追加:
# —— 在部署机 /data/coolify/source/.env 追加 ——
# 对外端口(默认 8000,按需调整)
APP_PORT=8000
# 关闭自动升级,升级改窗口期手工执行
AUTOUPDATE=false
# 版本锁定(与官方发布同步手动推进)
LATEST_IMAGE=4.4.6
COOLIFY_VERSION=4.4.6
# API 自动化限流(有外部系统轮询调用时调高)
API_RATE_LIMIT=300
# 队列并发(默认 4,多应用并行部署可提到 8)
HORIZON_MAX_PROCESSES=8
# SSH 长构建超时(默认 3600,大型构建放宽)
SSH_COMMAND_TIMEOUT=7200
追加后执行 3.2 节三步流程重建生效。关键取舍:关 AUTOUPDATE 换升级可控(平台重启自选窗口);HORIZON_MAX_PROCESSES 与内存预算线性相关(每进程为常驻工作进程);其余保持默认——实测默认值已覆盖单机绝大多数场景,只加有明确理由的参数。
七、常见问题
Q1:改了 .env 为什么不生效?
主服务配置已缓存(about 实测 Config CACHED),且 .env 为只读挂载——改完必须执行 3.2 节的 down + up 重建编排;只 restart 不重建不换挂载内容同样不够。
Q2:APP_KEY 能换吗?
不能随意换。它是全平台加密根密钥,更换后既有会话、加密凭据不可解。仅在全新部署初始化前生成一次;误删后无外部备份时无法恢复,只能重建实例。
Q3:DB_USERNAME 可以改成自己的名字吗?
不要改。官方编排以该值初始化元数据库(POSTGRES_USER: ${DB_USERNAME}),改值会导致库初始化与连接不一致、平台起不来(脚本源码注释原文标注「Causes issues: database "random-user" does not exist」)。
Q4:想把元数据库迁到外接数据库集群怎么办?
填 DB_HOST/DB_PORT 指向外部地址并保证 DB_USERNAME/DB_PASSWORD/DB_DATABASE 与外库一致,同时在编排侧停用内置 postgres 服务;读写分离另有 DB_READ_HOST/DB_WRITE_HOST 族支持(源码实查)。迁移前先做元数据备份。
Q5:API 调用返回 429 太频繁?
调大 API_RATE_LIMIT(源码默认 200/分钟)并重建;请求方可复用 Token 减少握手。API 完整实测见命令篇。
八、参考链接
- 本专栏部署篇(
.env生成与修改流程的完整实测):《Coolify 4.4.6 Docker Compose 部署指南》 - 本专栏认知篇:《Coolify 介绍与选型指南》
- 本专栏命令篇(artisan 命令与 REST API 实测):《Coolify 4.4.6 常用 CLI 命令与工具详解》
- 官方文档站:https://coolify.io/docs (查询日期 2026-10-21)
- 参数默认值取证来源:4.4.6 运行实例
/var/www/html/config/源码实查(2026-10-21)