- 5 NestJS services add /metrics endpoint via app.getHttpAdapter() - prometheus.yml scales to 8 services with rule_files and alertmanager - monitoring compose replaces blackbox with Loki+Promtail - Grafana datasource adds Loki - docker-compose.deploy.yml scales to 11 services - deploy.env.example completes Neo4j/ES/ClickHouse/LLM vars - teacher-bff adds health.controller - CI removes continue-on-error on lint step - teacher-portal lint script changed to eslint src
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
# 服务器部署环境变量模板
|
||
# 使用方式:复制到 /opt/edu/.env 并填入生产值
|
||
# cp infra/deploy.env.example /opt/edu/.env
|
||
# vim /opt/edu/.env
|
||
#
|
||
# 安全警告:
|
||
# - 此文件含敏感信息,禁止提交到 Git
|
||
# - .gitignore 已忽略 .env
|
||
# - 仅 SRE AI 或人类决策者可编辑
|
||
|
||
# ============ 数据库(服务器已有 MySQL)============
|
||
# DATABASE_URL 中的 host 需用容器名(如 edu-mysql)而非 localhost
|
||
# 因为应用容器通过 edu-shared 网络访问 MySQL 容器
|
||
DATABASE_URL=mysql://edu:changeme@edu-mysql:3306/next_edu_cloud
|
||
|
||
# ============ Redis(服务器已有 Redis)============
|
||
# 同理用容器名
|
||
REDIS_URL=redis://edu-redis:6379
|
||
|
||
# ============ JWT(生产密钥,必须修改)============
|
||
# 生成方式:openssl rand -hex 32
|
||
JWT_SECRET=CHANGE_ME_TO_STRONG_RANDOM_SECRET
|
||
JWT_ISSUER=next-edu-cloud
|
||
JWT_AUDIENCE=next-edu-cloud
|
||
|
||
# ============ 服务端口 ============
|
||
API_GATEWAY_PORT=8080
|
||
TEACHER_PORTAL_PORT=3000
|
||
|
||
# ============ Kafka(P3+ 启用,留空则 Outbox publisher 持续重试)============
|
||
KAFKA_BROKERS=
|
||
|
||
# ============ 可观测性(P6 启用)============
|
||
# OTLP collector 端点,留空则服务跳过 trace 上报
|
||
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
||
LOG_LEVEL=info
|
||
|
||
# ============ Neo4j(content 服务,留空则降级模式)============
|
||
NEO4J_URL=
|
||
NEO4J_PASSWORD=
|
||
|
||
# ============ Elasticsearch(msg 服务,留空则降级模式)============
|
||
ES_URL=
|
||
|
||
# ============ ClickHouse(data-ana 服务,留空则降级模式)============
|
||
CLICKHOUSE_HOST=
|
||
CLICKHOUSE_PORT=8123
|
||
CLICKHOUSE_DATABASE=edu_analytics
|
||
CLICKHOUSE_USER=
|
||
CLICKHOUSE_PASSWORD=
|
||
|
||
# ============ LLM 配置(ai 服务,留空则降级模式)============
|
||
OPENAI_API_KEY=
|
||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||
ANTHROPIC_API_KEY=
|