# ============================================ # 中科兴皖 Docker 部署环境变量 # 复制为 .env 后修改密码与密钥,勿提交 .env 到 git # ============================================ # Compose Profile:full=全栈自带中间件 | app=仅应用(连接甲方已有 MySQL/Redis/MinIO) # 若已有 MySQL/Redis 但需自带 MinIO:COMPOSE_PROFILES=app,storage COMPOSE_PROFILES=full # 对外 HTTP 端口(Nginx) HTTP_PORT=8112 # 应用镜像(交付包 docker load 后须与 images/zkxw-app-images.tar 内 tag 一致) ZKXW_BACKEND_IMAGE=zkxw-backend:latest ZKXW_WEB_IMAGE=zkxw-web:latest # ---------- MySQL(profile=full 时使用,服务名 mysql)---------- MYSQL_ROOT_PASSWORD=change-me-mysql-root # profile=app 时改为甲方数据库地址,例如: # DATABASE_URL=mysql+pymysql://user:pass@10.0.0.10:3306/zkxw DATABASE_URL=mysql+pymysql://root:change-me-mysql-root@mysql:3306/zkxw # ---------- 应用 ---------- APP_NAME=中科兴皖 DEBUG=false API_V1_PREFIX=/api SECRET_KEY=change-me-jwt-secret-use-long-random-string ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=43200 DEFAULT_TENANT_NO=zkxw WEB_AUTH_DEFAULT_ROLE=super_admin # ---------- Redis(profile=full 时使用,服务名 redis)---------- # profile=app 时改为甲方 Redis 地址 REDIS_HOST=redis REDIS_PORT=6379 REDIS_DB=0 REDIS_PASSWORD= REDIS_TIMEOUT_SEC=30 REDIS_SSL_ENABLED=false # ---------- MinIO(profile=full 或 storage 时使用,服务名 minio:9000)---------- STORAGE_TYPE=minio MINIO_ENDPOINT=minio:9000 MINIO_ACCESS_KEY=zkxw_minio MINIO_SECRET_KEY=change-me-minio-secret MINIO_BUCKET=zkxw MINIO_SECURE=false # 浏览器访问附件前缀(相对路径;由 zkxw-web 镜像内 Nginx 反代到 minio:9000,勿改为 :9000) MINIO_BASE_URL=/minio/zkxw # profile=app 且使用甲方 MinIO 时示例: # MINIO_ENDPOINT=10.0.0.12:9000 # MINIO_BASE_URL=http://10.0.0.12:9000/zkxw # 并需同步修改 web-admin/.env.docker 中 VITE_MINIO_BASE_URL 后重新 build web 镜像 # ---------- API 加密(Docker 交付默认关闭;若启用须与 web-admin/.env.docker 一致)---------- API_ENCRYPT_ENABLED=false API_ENCRYPT_FAIL_OPEN=false # API_ENCRYPT_FIXED_SECRET= # API_ENCRYPT_TS_SKEW_SEC=300 # API_ENCRYPT_NONCE_TTL_SEC=300 # 走 Nginx 同域 /api 反代,一般无需额外 CORS # BACKEND_CORS_ORIGINS=["http://your-host:8112"] # 登录 RSA(留空时各 Worker 共用镜像内置默认密钥;生产建议配置独立 PEM) # LOGIN_RSA_PRIVATE_KEY_PEM= # 全量 API 请求日志(需 sys_api_request_log 表,否则可关闭) API_REQUEST_LOG_ENABLED=false # ---------- 微信服务号 OA 模板消息 ---------- # AppID / 模板 ID / 字段可写在本示例;Secret 勿提交 git(留空) # 发版打包:scripts/package-docker-deploy.sh 会从本机 deploy/docker/.env 注入 # WX_MP_SECRET / WXPAY_SECRET / LOGIN_RSA 等到交付包 .env(有值才覆盖) WX_MP_NOTIFY_ENABLED=true WX_MP_APPID=wxe576b24f873f47cb # 必填:微信公众平台 → 服务号 → 开发 → 基本配置 → AppSecret(仅写在本机 .env) WX_MP_SECRET= WX_MP_TEMPLATE_APPROVAL=ZKKnm3PrH97iKt4SDrONiw0TvpDyRbQXdmbF6wz-eak WX_MP_TEMPLATE_CC=rHu7intrAqOqSlxmjqq7FfyC1GKbRi3XaP1-ZEcnvqs WX_MP_TEMPLATE_APPLICANT_PROGRESS=rHu7intrAqOqSlxmjqq7Fb6ylcB3u3quKSBYUcR6NU4 # 审批字段(生产) WX_MP_TPL_FIELD_TITLE=thing12 WX_MP_TPL_FIELD_APPLICANT=thing18 WX_MP_TPL_FIELD_NODE=thing7 WX_MP_TPL_FIELD_TIME=time17 WX_MP_TPL_FIELD_PROCESS=thing8 # 抄送字段 WX_MP_TPL_CC_FIELD_TITLE=thing5 WX_MP_TPL_CC_FIELD_APPLICANT=thing2 WX_MP_TPL_CC_FIELD_TIME=time3 WX_MP_TPL_CC_FIELD_PROCESS=thing1 # 申请人进度字段 WX_MP_TPL_PROGRESS_FIELD_BUSINESS=thing5 WX_MP_TPL_PROGRESS_FIELD_PROCESS=thing1 WX_MP_TPL_PROGRESS_FIELD_APPROVER=thing6 WX_MP_TPL_PROGRESS_FIELD_RESULT=const4 WX_MP_TPL_PROGRESS_FIELD_TIME=time11 # ---------- 微信支付 / 小程序凭证(登录、模板消息跳转)---------- # WXPAY_MCHID= WXPAY_MINI_APPID=wx2b139581f4c855e4 # 必填:小程序 AppSecret(仅写在本机 .env,打包时注入交付包) WXPAY_SECRET= # WXPAY_API_KEY= # WXPAY_NOTIFY_URL=https://your-domain.com/api/payment/notify