系统在Docker首次构建和启动时会自动创建超级管理员账号。这是通过容器启动脚本 docker-entrypoint.sh 实现的。
- 用户名:
admin - 邮箱:
admin@example.com - 初始密码:
admin123456
如果需要自定义默认管理员账号信息,可以通过环境变量配置:
在 docker-compose.yml 的 backend 服务中修改以下环境变量:
environment:
DEFAULT_ADMIN_USERNAME: your_admin_username
DEFAULT_ADMIN_EMAIL: your_admin@example.com
DEFAULT_ADMIN_PASSWORD: your_secure_password- 复制
backend/.env.example为backend/.env - 修改以下变量:
DEFAULT_ADMIN_USERNAME=your_admin_username
DEFAULT_ADMIN_EMAIL=your_admin@example.com
DEFAULT_ADMIN_PASSWORD=your_secure_password- 在 docker-compose.yml 中引用:
backend:
env_file:
- ./backend/.env- 容器启动: Docker容器启动时执行
docker-entrypoint.sh脚本 - 数据库连接: 脚本等待数据库服务就绪
- 数据库迁移: 执行 Prisma 数据库迁移,创建必要的表结构
- 创建管理员: 运行
create-admin.js脚本- 检查是否已存在管理员账号
- 如果不存在,创建新的管理员账号
- 如果已存在,跳过创建步骤
- 启动应用: 启动后端API服务
如果需要重新创建管理员账号:
- 连接到数据库
- 删除现有的管理员用户记录
- 重启backend容器
# 重启backend容器
docker-compose restart backend# 进入backend容器
docker-compose exec backend sh
# 运行创建脚本
node create-admin.js如果只是忘记密码,使用密码重置脚本:
# 进入backend容器
docker-compose exec backend sh
# 运行密码重置脚本
node reset-admin-password.js- 立即修改密码: 首次登录后立即修改默认密码
- 使用强密码: 密码应包含大小写字母、数字和特殊字符,长度至少12位
- 定期更换: 定期更换管理员密码
- 限制访问: 不要将管理员账号信息泄露给未授权人员
- 生产环境: 在生产环境中务必使用自定义的强密码,不要使用默认密码
检查以下几点:
-
数据库连接: 确认数据库服务正常运行
docker-compose ps postgres
-
查看日志: 检查backend容器日志
docker-compose logs backend
-
数据库状态: 确认数据库表已正确创建
docker-compose exec backend npx prisma studio
如果看到 "管理员账号已存在" 的提示,说明:
- 管理员账号已经创建成功
- 可以直接使用现有账号登录
- 如需重置密码,使用
reset-admin-password.js脚本
backend/docker-entrypoint.sh- Docker容器启动脚本backend/create-admin.js- 创建管理员账号脚本backend/reset-admin-password.js- 重置管理员密码脚本backend/Dockerfile- Docker镜像构建文件docker-compose.yml- Docker Compose配置文件