Files
Edu/infra/deploy.env.example
SpecialX 64b2016fa8 feat(admin-portal): docker 本地测试通过 + 下游工作清单
docker Desktop 本地验证:
- 镜像构建成功(edu/admin-portal:test)
- 容器运行正常(端口 4003)
- /api/health、/api/ready、/login、/admin/dashboard 全部 200

修复项:
- next.config.js 添加 output: standalone
- package.json 添加 autoprefixer 依赖
- login/layout.tsx 提供 AuthProvider/ToastProvider

部署配置:
- docker-compose.deploy.yml 添加 admin-portal 服务
- deploy.env.example 添加 ADMIN_PORTAL_PORT

下游工作清单(nextstep.md):
- api-gateway: 缺 /api/admin/graphql 路由
- teacher-bff: 缺 16 Query + 11 Mutation
- iam: 缺 BatchGetUsers 等 RPC
2026-07-13 16:19:35 +08:00

57 lines
1.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 服务器部署环境变量模板
# 使用方式:复制到 /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
ADMIN_PORTAL_PORT=4003
# ============ KafkaP3+ 启用,留空则 Outbox publisher 持续重试)============
KAFKA_BROKERS=
# ============ 可观测性P6 启用)============
# OTLP collector 端点,留空则服务跳过 trace 上报
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
LOG_LEVEL=info
# ============ Neo4jcontent 服务,留空则降级模式)============
NEO4J_URL=
NEO4J_PASSWORD=
# ============ Elasticsearchmsg 服务,留空则降级模式)============
ES_URL=
# ============ ClickHousedata-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=