APP_NAME=Laravel APP_ENV=production # 留空则由 Docker 入口执行 key:generate 写入;勿向容器注入「空」的 APP_KEY 环境变量,否则无法写入有效密钥。 APP_KEY= APP_DEBUG=false APP_URL=http://localhost:18080 # 反向代理/CDN/一级目录部署时按需设置,例如 *、REMOTE_ADDR 或具体代理 IP。 TRUSTED_PROXIES= # Laravel Boost 仅用于本地调试;生产/公开部署应关闭浏览器日志脚本注入。 BOOST_BROWSER_LOGS_WATCHER=false # docker-compose.yml 中 app 服务宿主机端口映射(与 APP_URL 一致) APP_PORT=18080 APP_TIMEZONE=Asia/Shanghai # --- GEOFlow(遗留 config.php 对齐,见 config/geoflow.php)--- SITE_NAME="智能GEO内容系统" SITE_FULL_NAME="GEO+AI内容生成系统" SITE_URL="${APP_URL}" SITE_DESCRIPTION= SITE_KEYWORDS= ADMIN_BASE_PATH=geo_admin # 前台 Blade 翻译语言(与 APP_LOCALE 独立;默认 zh_CN 对齐旧站中文导航) GEOFLOW_PUBLIC_LOCALE=zh_CN # 开发 Docker 入口(docker/entrypoint.sh):迁移完成后是否执行 php artisan optimize(默认 false;生产见 .env.prod.example / entrypoint.prod.sh) AUTO_OPTIMIZE=false GEOFLOW_ITEMS_PER_PAGE=12 GEOFLOW_ADMIN_ITEMS_PER_PAGE=20 # 标题库 AI 生成时从关键词库随机抽取条数上限(1–100) GEOFLOW_TITLE_AI_KEYWORD_SAMPLE_LIMIT=10 # true 时记录知识库检索「查询向量」是否由 embedding 接口生成(验证用,默认 false) GEOFLOW_DEBUG_KNOWLEDGE_QUERY_EMBEDDING=false # URL 智能采集 SSRF 防护默认严格;仅在明确受控的透明代理/Docker/VPN 混合 DNS 环境中开启。 URL_IMPORT_ALLOW_MIXED_DNS=false GEOFLOW_UPLOAD_URL=/assets/images/ GEOFLOW_MAX_UPLOAD_BYTES=2097152 GEOFLOW_CACHE_ENABLED=true GEOFLOW_CACHE_TTL=3600 GEOFLOW_MAX_LOGIN_ATTEMPTS=5 GEOFLOW_LOGIN_LOCKOUT_SECONDS=900 GEOFLOW_SESSION_TIMEOUT=2592000 GEOFLOW_API_LOGIN_RATE_LIMIT_ATTEMPTS=10 GEOFLOW_API_LOGIN_RATE_LIMIT_DECAY=60 GEOFLOW_API_TOKEN_DEFAULT_TTL_DAYS=30 # 首次 seed 写入的默认后台账号;重复执行不会覆盖已有账号。开发环境默认 password,生产环境见 .env.prod.example。 GEOFLOW_ADMIN_USERNAME=admin GEOFLOW_ADMIN_EMAIL=admin@example.com GEOFLOW_ADMIN_PASSWORD=password # 变更后所有管理员会再次看到后台首次部署说明弹窗 GEOFLOW_APP_VERSION=2.0 GEOFLOW_WELCOME_INTRO_VERSION=2.0 # 后台右上角通知会每天最多拉取一次 GitHub version.json;如需关闭,设置为 false GEOFLOW_UPDATE_CHECK_ENABLED=true GEOFLOW_UPDATE_METADATA_URL=https://raw.githubusercontent.com/yaojingang/GEOFlow/main/version.json GEOFLOW_UPDATE_METADATA_CACHE_TTL=86400 APP_LOCALE=zh_CN APP_FALLBACK_LOCALE=en APP_FAKER_LOCALE=en_US APP_MAINTENANCE_DRIVER=file # APP_MAINTENANCE_STORE=database # PHP_CLI_SERVER_WORKERS=4 BCRYPT_ROUNDS=12 LOG_CHANNEL=daily LOG_STACK=single LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug # Docker Compose 默认值;若改为宿主机直连数据库/Redis,再按实际环境修改。 DB_CONNECTION=pgsql DB_HOST=postgres DB_PORT=5432 DB_DATABASE=geo_flow DB_USERNAME=geo_user DB_PASSWORD=geo_password POSTGRES_DATA_DIR=./docker-data/dev/postgres SESSION_DRIVER=database SESSION_LIFETIME=43200 SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null BROADCAST_CONNECTION=reverb REVERB_APP_ID=geoflow-reverb-app REVERB_APP_KEY=geoflow-reverb-key REVERB_APP_SECRET=geoflow-reverb-secret REVERB_HOST=localhost REVERB_PORT=18081 REVERB_SCHEME=http REVERB_BROADCAST_HOST=reverb REVERB_BROADCAST_PORT=8080 REVERB_BROADCAST_SCHEME=http REVERB_SERVER_HOST=0.0.0.0 REVERB_SERVER_PORT=8080 FILESYSTEM_DISK=local # 生产与计划一致用 redis;本机未装 Redis 时可改为 sync 或 database QUEUE_CONNECTION=redis CACHE_STORE=database # CACHE_PREFIX= MEMCACHED_HOST=127.0.0.1 REDIS_CLIENT=phpredis REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 # 须大于应用内最长队列任务 timeout(如 ProcessGeoFlowTaskJob 为 300 秒) REDIS_QUEUE_RETRY_AFTER=360 MAIL_MAILER=log MAIL_SCHEME=null MAIL_HOST=127.0.0.1 MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false VITE_APP_NAME="${APP_NAME}" # --- Docker 入口 geoflow-entrypoint(docker-compose 启动 app/queue 等时)--- # 每次启动执行 composer install(拉代码后依赖变更;设为 false 可加快本地反复重启) COMPOSER_ON_START=true # Docker 构建和启动期 composer install 使用的 Packagist 镜像;留空可恢复官方源。 COMPOSER_PACKAGIST_MIRROR=https://mirrors.aliyun.com/composer/ # Docker 基础镜像可按网络情况切换为镜像代理地址,例如 m.daocloud.io/docker.io/library/php:8.4-cli-bookworm。 PHP_CLI_IMAGE=php:8.4-cli-bookworm PGVECTOR_IMAGE=pgvector/pgvector:pg16 REDIS_IMAGE=redis:7-alpine # 每次启动执行 php artisan migrate --force(数据库结构随仓库更新;设为 false 需自行迁移) AUTO_MIGRATE=true # compose 的 init 服务专用:全新库时 migrate + seed 一次 # AUTO_INIT_ONCE=true # 每次启动执行 db:seed(危险,默认关) # AUTO_SEED=false