APP_NAME=CodeGalaxy APP_ENV=dev DB_DRIVER=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=code_galaxy DB_USERNAME=root DB_PASSWORD= DB_CHARSET=utf8mb4 DB_COLLATION=utf8mb4_unicode_ci DB_PREFIX=galaxy_ REDIS_HOST=localhost REDIS_AUTH=(null) REDIS_PORT=6379 REDIS_DB=0 # redis队列配置 REDIS_HOST_QUEUE=localhost REDIS_AUTH_QUEUE=(null) REDIS_PORT_QUEUE=6379 REDIS_DB_QUEUE=0 # 控制台stdout日志级别配置 STDOUT_LOG_LEVEL=info,notice,warning,error,critical,alert,emergency # 是否开启cors中间件,默认不开启 MIDDLEWARE_ENABLE_CORS=true # 是否开启MySQL日志,默认不开启 LISTENER_ENABLE_DBLOG=false # 服务端口,默认为9501 SERVER_PORT=9501 ##### 日志配置 ##### # 日志路径,不配置默认为 BASE_PATH . '/runtime/logs' # LOG_BASE_PATH= # 日志级别,不配置默认为WARNING LOG_LEVEL_DEFAULT=DEBUG # 日志格式,不配置默认为JSON LOG_FORMATTER_CLASS_DEFAULT=Monolog\Formatter\LineFormatter LOG_LEVEL_QUEUE=DEBUG LOG_FORMATTER_CLASS_QUEUE=Monolog\Formatter\LineFormatter #jwt配置 AUTH_SSO_CLIENTS= SSO_JWT_SECRET= SIMPLE_JWT_SECRET= # 生产环境请使用 `openssl rand -base64 32` 生成,并在所有 API 实例保持一致。 SWARM_CREDENTIAL_KEY= ENCRYPT_KEY= #SIMPLE_JWT_TTL=30 #SIMPLE_JWT_REFRESH_TTL=60 AUTH_DEBUG=false DEVTOOLS_ACCESS_ENABLED=false DEVTOOLS_REDIS_PREFIX=galaxy:devtool:token: # 首次安装页面的高强度令牌。首个用户创建后,安装页面会永久关闭。 GALAXY_INSTALL_TOKEN= #发送邮件配置 SMTP_SERVER_CHARSET=UTF-8 SMTP_SERVER_DEBUG=0 SMTP_SERVER_AUTH=true SMTP_SERVER_SECURE=ssl SMTP_SERVER_HOST=smtp.qq.com SMTP_SERVER_PORT=465 SMTP_SERVER_NAME= SMTP_SERVER_PASSWORD= SMTP_FROM_EMAIL= SMTP_FROM_NICK_NAME= # Docker Swarm 项目后台采样与告警(秒) PROJECT_MONITOR_ENABLED=true PROJECT_MONITOR_INTERVAL=60 PROJECT_MONITOR_DOCKER_EVENTS=true # BuildKit 构建执行器 BUILDKIT_IMAGE=registry.cn-shanghai.aliyuncs.com/swoole-public/buildkit:v0.31.1-rootless BUILDKIT_KUBERNETES_IMAGE=registry.cn-shanghai.aliyuncs.com/swoole-public/buildkit:v0.31.1 BUILDKIT_GIT_IMAGE=registry.cn-shanghai.aliyuncs.com/swoole-public/git:latest BUILDKIT_DOCKERHUB_MIRROR= BUILDKIT_KUBERNETES_CACHE_SIZE=10Gi KUBERNETES_INGRESS_CLASS=traefik BUILDKIT_PULL_POLICY=if-not-present BUILDKIT_NETWORK_MODE=bridge BUILDKIT_HTTP_PROXY= BUILDKIT_HTTPS_PROXY= BUILDKIT_NO_PROXY=127.0.0.1,localhost BUILDKIT_TIMEOUT=1800 BUILDKIT_LOG_POLL_INTERVAL=5 BUILDKIT_MAX_LOG_BYTES=8388608 # 队列 Reserved Lease;系统会自动保证至少比 BuildKit/Release 超时长 300 秒 QUEUE_HANDLE_TIMEOUT=2100 # Workspace 镜像(发布到所有目标 Swarm 节点可访问的 Registry) WORKSPACE_IMAGE=registry.cn-shanghai.aliyuncs.com/swoole-public/workspace:2026.07 APP_WORKSPACE_IMAGE= #图形验证码配置 CAPTCHA_LENGTH=6 CAPTCHA_FONT_SIZE=32 CAPTCHA_IMAGE_WIDTH=250 CAPTCHA_IMAGE_HEIGHT=80 CAPTCHA_USE_CURVE=false CAPTCHA_USE_NOISE=true CAPTCHA_USE_FONT=3 #上传 COS_REGION=ap-shanghai COS_APPID= COS_SECRET_ID= COS_SECRET_KEY= COS_BUCKET= COS_BASEURL= # 服务地址 APP_BASE_URL=http://127.0.0.1:9501 # GitHub/GitLab/Gitea 等仓库服务可访问的 Galaxy API 地址;容器部署时不要填写 localhost WEBHOOK_BASE_URL=http://127.0.0.1:9501 AGENT_SERVER_URL= # 原生 SSH 容器终端。内部 Token 必须使用高强度随机值,API 与 ssh-relay 进程保持一致。 SSH_RELAY_ENABLED=false SSH_RELAY_INTERNAL_TOKEN= SSH_RELAY_LISTEN=:9522 SSH_RELAY_API_URL=http://127.0.0.1:9501 SSH_RELAY_WEBSOCKET_URL=ws://127.0.0.1:9501/cluster/swarm/terminal SSH_RELAY_HOST_KEY_FILE=runtime/ssh/host_key SSH_RELAY_PUBLIC_HOST= SSH_RELAY_PUBLIC_PORT=9522 SSH_RELAY_USER=galaxy # Private Helm SDK service used by Kubernetes application-market templates. # Keep the listener on loopback and use the same random token in PHP and Go. HELM_SERVICE_ENABLED=true HELM_SERVICE_LISTEN=127.0.0.1:9530 HELM_SERVICE_URL=http://127.0.0.1:9530 HELM_SERVICE_INTERNAL_TOKEN= # 管理员组织,该组织可以修改系统IDE、构建集群等配置,用于临时充当系统管理 ADMIN_ORG=29 # 管理员邮箱 ADMIN_EMAILS= # 微信通知渠道配置(公众号) EASYWECHAT_OA_APPID= EASYWECHAT_OA_SECRET= EASYWECHAT_OA_TOKEN= EASYWECHAT_OA_AES_KEY= PROJECT_RETENTION_ENABLED=true PROJECT_RETENTION_INTERVAL=3600 PROJECT_RECOVERY_INTERVAL=300 PROJECT_RETENTION_METRIC_DAYS=30 PROJECT_RETENTION_EVENT_DAYS=90 PROJECT_RETENTION_ALERT_DAYS=180 PROJECT_RETENTION_BUILD_LOG_DAYS=90 PROJECT_RETENTION_AUDIT_DAYS=365 # WAF 镜像可替换为私有镜像仓库,生产环境建议固定已验证的 digest。 WAF_ENABLED=false WAF_IMAGE=owasp/modsecurity-crs@sha256:7698c48a41a43138ae317feeec964d1515b861cc1d9e50617bc1cdfe9f314e1d WAF_COLLECTOR_ENABLED=true WAF_CONTROL_URL= WAF_CONTROL_SECRET= # 多 API 实例需挂载同一持久化目录,且运行用户可读写。 # WAF_DATA_DIRECTORY=/path/to/shared/waf-data WAF_DATA_UPDATER_ENABLED=true