# ===== 环境变量配置 ===== # 复制此文件为 .env 并修改相应值 # Docker 部署时 docker-compose.yml 会自动读取 .env 文件 # JWT 密钥(生产环境必须设置!) # 生成方式: python -c "import secrets; print(secrets.token_urlsafe(32))" JWT_SECRET_KEY= # 敏感字段落盘加密密钥(生产环境必须设置且长期保持不变!) # 用于加密账号密码、邮箱密码、Cookie、代理密钥等数据库字段 # 生成方式: python -c "import secrets; print(secrets.token_urlsafe(32))" APP_ENCRYPTION_KEY= # 默认管理员账号(仅首次启动建库时生效) ADMIN_USERNAME=admin ADMIN_PASSWORD=admin123 # Docker 对外端口(容器内仍监听 8800;服务器当前使用 8000) APP_PORT=8000 # Docker 构建镜像源(服务器保持 true;本地测试可改为 false) USE_CHINA_MIRRORS=true # MySQL 配置(生产环境必须设置密码;默认只映射到宿主机 127.0.0.1,供本地 dev.sh 使用) # 服务器部署默认使用国内镜像;./dev.sh 默认临时改用 mysql:8.4,避免本地测试走国内镜像。 # MYSQL_IMAGE=docker.m.daocloud.io/library/mysql:8.4 MYSQL_DATABASE=douyu_login MYSQL_USER=douyu_login MYSQL_PASSWORD= MYSQL_ROOT_PASSWORD= MYSQL_BIND_HOST=127.0.0.1 MYSQL_HOST_PORT=3307 # 本地调试后端连接 MySQL(./dev.sh 使用;默认连接上面的宿主机端口) DEV_DB_HOST=127.0.0.1 DEV_DB_PORT=3307 # 直接运行后端时使用;./dev.sh 会自动按 DEV_DB_* 和 MYSQL_* 生成这些变量 # DB_HOST=127.0.0.1 # DB_PORT=3307 # DB_NAME=douyu_login # DB_USER=douyu_login # DB_PASSWORD= # 数据库连接池配置(仅 MySQL 生效) DB_POOL_SIZE=20 DB_MAX_OVERFLOW=20 DB_POOL_TIMEOUT=30 DB_POOL_RECYCLE=1800 # Cookie 安全标志(生产环境 HTTPS 部署时设为 true) COOKIE_SECURE=false # 本地调试端口(./dev.sh / deploy.sh dev 使用;Docker 生产默认 8800) # BACKEND_PORT=8800 # FRONTEND_PORT=5174 # BACKEND_HOST=0.0.0.0 # FRONTEND_HOST=0.0.0.0 # CORS 允许的源(逗号分隔,不设则默认开发环境) # CORS_ORIGINS=https://example.com,https://www.example.com # 应用宝充值 Worker(Docker Compose 内网服务;生产环境必须设置为随机长密钥) # 生成方式: python3 -c "import secrets; print(secrets.token_urlsafe(32))" YYB_WORKER_KEY= # Docker 部署使用默认值;dev.sh 自动覆盖为 http://127.0.0.1:${YYB_WORKER_PORT:-8810} # YYB_WORKER_URL=http://yyb-worker:8810 # YYB_WORKER_TIMEOUT=30 # 本地调试 Worker(仅 dev.sh 使用,默认只绑定 127.0.0.1) # YYB_WORKER_PORT=8810 # DEV_YYB_WORKER_URL=http://127.0.0.1:8810 # Roundcube 邮件验证码读取服务地址(可选;不填则使用默认服务) # MAIL_ROUNDCUBE_URL=http://127.0.0.1:8000/ # Uvicorn reload(开发模式设为 true,生产环境保持 false) UVICORN_RELOAD=false