文件
hyb-oa/deploy/trialrun/.env.example
T

198 行
5.6 KiB
Bash
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
## hyb-oa 试运行环境变量示例(单机)
##
## 说明:
## - 统一以 deploy/trialrun/.env 作为 trialrun 部署事实源。
## - 默认使用 env_file 注入 server / worker / init 容器环境。
## - 推荐使用无引号值;旧的带引号写法当前仍兼容,但建议后续逐步改成无引号。
## - 普通字符串、布尔值、数字、cron 都可直接写为无引号值。
##
## 使用方式:
## cp deploy/trialrun/.env.example deploy/trialrun/.env
## 然后按需修改 deploy/trialrun/.env 中的值(不要提交 .env)
##
## 同机公网部署建议:
## - 官网继续使用 hyinda.com / www.hyinda.com
## - OA 单独使用 oa.example.com 一类二级域名
## - 正式公网环境请保持 APP_ORIGIN=https://oa.example.com
## - 正式公网环境请保持 COOKIE_SECURE=true
##
# ===== 运行模式与基础域名 =====
NODE_ENV=production
APP_ORIGIN=https://oa.example.com
APP_TIMEZONE=Asia/Shanghai
HOST=0.0.0.0
PORT=3000
COOKIE_SECURE=true
OPENAPI_DOCS_ENABLED=false
SERVE_CLIENT_DIST=true
CLIENT_DIST_DIR=../client/dist
SIGNED_URL_TTL_SECONDS=600
MAX_UPLOAD_SIZE_BYTES=10485760
# ===== 服务端密钥(必须修改) =====
JWT_SECRET=change_me_in_trialrun
FIELD_ENCRYPTION_KEY=
# ===== 密码 / 登录安全 =====
PASSWORD_RESET_CODE_TTL_SECONDS=600
DEV_SHOW_PASSWORD_RESET_CODE=false
AUTH_LOGIN_FAIL_WINDOW_SECONDS=900
AUTH_LOGIN_FAIL_MAX_ATTEMPTS=5
AUTH_LOGIN_LOCK_SECONDS=1800
RATE_LIMIT_ENABLED=true
RATE_LIMIT_LOGIN_MAX=10
RATE_LIMIT_LOGIN_WINDOW=1 minute
PUBLIC_SECURITY_HARDENING_ENABLED=true
# ===== 可观测性 =====
METRICS_ENABLED=true
OTEL_TRACES_ENABLED=false
# ===== OIDC / SSO(可选) =====
OIDC_ENABLED=false
OIDC_ISSUER_URL=
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_REDIRECT_URI=https://oa.example.com/api/auth/oidc/callback
OIDC_SCOPES=openid profile email
# ===== 企业微信入口 / OAuth(可选) =====
WECOM_ENABLED=false
WECOM_ENTRY_ENABLED=false
WECOM_CORP_ID=
WECOM_AGENT_ID=
WECOM_AGENT_SECRET=
WECOM_OAUTH_ENABLED=false
WECOM_REDIRECT_URI=https://oa.example.com/api/auth/wecom/callback
WECOM_ALLOWED_RETURN_HOSTS=oa.example.com
WECOM_CHECKIN_SYNC_ENABLED=false
# 企业微信打卡同步 Secret:显式配置优先;留空时复用已授权调用打卡 API 的 WECOM_AGENT_SECRET
WECOM_CHECKIN_SECRET=
WECOM_CONTACT_SYNC_ENABLED=false
WECOM_CONTACT_SECRET=
WECOM_CONTACT_DEFAULT_DEPARTMENT_ID=
WECOM_HR_MASTER_SYNC_ENABLED=false
# 企业微信 HR 主数据镜像 Secret:人事助手专用 Secret 优先;留空时仅可复用已验证授权应用的 WECOM_AGENT_SECRET
WECOM_HR_ASSISTANT_SECRET=
IM_NOTIFIER_ENABLED=true
# ===== 数据库(Compose 内部连接) =====
POSTGRES_DB=hyb_oa
POSTGRES_USER=hyboa_user
POSTGRES_PASSWORD=hyboa_password
DATABASE_URL=postgresql://hyboa_user:hyboa_password@db:5432/hyb_oa?schema=public
# SHADOW_DATABASE_URL=postgresql://hyboa_user:hyboa_password@db:5432/hyb_oa_shadow
# ===== 存储与上传 =====
STORAGE_DIR=/data/storage
STORAGE_DRIVER=local
S3_ENDPOINT=http://minio:9000
S3_REGION=us-east-1
S3_BUCKET=hyb-oa
S3_ACCESS_KEY_ID=minioadmin
S3_SECRET_ACCESS_KEY=minioadmin
S3_FORCE_PATH_STYLE=true
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
# ===== OCR(off | mock | tencent) =====
OCR_PROVIDER=mock
OCR_CRON_ENABLED=true
OCR_MAX_ATTEMPTS=3
OCR_POLL_CRON=*/5 * * * * *
OCR_BATCH_SIZE=10
OCR_LOCK_TTL_SECONDS=300
OCR_TIMEOUT_MS=5000
TENCENT_SECRET_ID=
TENCENT_SECRET_KEY=
TENCENT_OCR_REGION=ap-beijing
# ===== 验真 / 发票 / 节假日 =====
INVOICE_VERIFICATION_ENABLED=false
LEAVE_HOLIDAY_CALENDAR_ENABLED=true
VERIFICATION_PROVIDER=mock
VERIFICATION_POLL_CRON=* * * * *
VERIFICATION_MAX_ATTEMPTS=3
VERIFICATION_RETRY_COOLDOWN_SECONDS=60
VERIFICATION_TIMEOUT_MS=5000
INVOICE_ARCHIVE_CRON=30 2 * * *
INVOICE_ARCHIVE_UNUSED_DAYS=90
INVOICE_ARCHIVE_BATCH_SIZE=200
# ===== 预算 / 费控 =====
BUDGET_CONTROL_MODE=warn
BUDGET_PRECHECK_ENABLED=false
PAYMENT_BATCH_ENABLED=false
# ===== 周边集成 / ERP =====
ERP_SYNC_ENABLED=false
ERP_SYNC_PROVIDER=mock
ERP_SYNC_ENDPOINT=
ERP_SYNC_TIMEOUT_MS=5000
ERP_SYNC_AUTH_TOKEN=
ERP_JOURNAL_EXPORT_ENDPOINT=
ERP_PROCUREMENT_EXPORT_ENDPOINT=
ERP_ASSET_EXPORT_ENDPOINT=
ERP_MASTER_DATA_ENDPOINT=
ERP_PROCUREMENT_TIMEOUT_MS=5000
ERP_ASSET_TIMEOUT_MS=5000
ERP_MASTER_DATA_TIMEOUT_MS=5000
ERP_MASTER_DATA_SYNC_CRON=
TRAVEL_SYNC_ENABLED=false
INTEGRATION_OUTBOX_CRON=* * * * *
INTEGRATION_OUTBOX_BATCH_SIZE=20
INTEGRATION_OUTBOX_MAX_ATTEMPTS=5
INTEGRATION_OUTBOX_RETRY_SECONDS=120
# ===== 邮件 =====
EMAIL_ENABLED=false
EMAIL_FROM=[email protected]
EMAIL_BASE_URL=https://oa.example.com
SMTP_HOST=
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=
SMTP_PASS=
# ===== 委派 / 作业 =====
DELEGATION_REVOKE_CRON=0 * * * *
JOB_DRIVER=pgboss
JOBS_ENABLED=true
PG_BOSS_SCHEMA=pgboss
# ===== AI(默认关闭) =====
AI_ASSIST_ENABLED=false
AI_PROVIDER=mock
AI_BASE_URL=
AI_MODEL=
AI_TIMEOUT_MS=10000
AI_AUTH_TOKEN=
# ===== Trialrun 初始化管理员 =====
TRIALRUN_ADMIN_EMAIL=[email protected]
TRIALRUN_ADMIN_PHONE=13800000000
TRIALRUN_ADMIN_PASSWORD=
TRIALRUN_ADMIN_EMPLOYEE_NO=T0000
TRIALRUN_ADMIN_NAME=Trialrun Admin
TRIALRUN_ADMIN_TITLE=系统管理员
TRIALRUN_ADMIN_HIRE_DATE=2020-01-01
# ===== 功能开关环境闸门(trialrun 推荐) =====
PORTAL_HOME_ENABLED=true
GLOBAL_SEARCH_ENABLED=true
ANNOUNCEMENTS_ENABLED=true
PRESENCE_BOARD_ENABLED=true
ATTENDANCE_ENABLED=false
ATTENDANCE_UNIFIED_ENABLED=true
WEEKLY_REPORT_ENABLED=true
EMPLOYEE_LIFECYCLE_ENABLED=true
TODO_BOARD_ENABLED=true
WORKFLOW_DEFINITION_ADMIN_ENABLED=false
CUTOVER_CONSOLE_ENABLED=false
PROJECT_DOMAIN_ENABLED=true
PROJECT_LINKING_ENABLED=true
PROJECT_COMMUNICATION_LOG_ENABLED=true
PROJECT_CLOSURE_CHECKLIST_ENABLED=true
CONFIDENTIAL_DOC_REFS_ENABLED=true