5.0 KiB
5.0 KiB
Kuno
Kuno 是一个轻量级多语言内容管理系统(CMS),采用 Go 后端和 Next.js 前端技术栈,专为创建丰富的内容生态系统而设计。
主要特性
- 多语言支持: 支持 70+ 种语言
- 现代技术栈: Go 后端 + Next.js 前端
- 响应式设计: 支持各种屏幕尺寸
- Markdown 编辑器: 方便的内容编辑体验
- 深色/浅色模式: 用户体验友好
- 管理面板: 完整的后台管理功能
- 分类管理: 灵活的内容分类系统
- Docker 部署: 一键部署,易于维护
部署说明
默认登录信息
- 用户名:
admin - 密码:
xuemian168
重要提示: 首次登录后请立即修改默认密码!
维护模式和密码重置
恢复模式
如果您忘记了管理员密码,可以通过以下步骤重置:
- 在 1Panel 应用管理界面中,编辑 Kuno 应用配置
- 将 "恢复模式" 设置为 "启用"
- 重启应用容器
- 使用默认凭据登录:
- 用户名:
admin - 密码:
xuemian168
- 用户名:
- 登录后立即修改密码
- 将 "恢复模式" 重新设置为 "禁用"
- 再次重启应用容器
安全提示: 恢复模式会临时启用默认密码访问,请在重置密码后立即禁用此模式。
数据持久化
应用会将所有数据存储在 /app/data 目录中,包括:
- SQLite 数据库文件
- 用户上传的文件
- 配置文件
环境变量说明
NEXT_PUBLIC_API_URL: API 端点地址DB_PATH: SQLite 数据库路径 (默认:/app/data/kuno.db)GIN_MODE: Go 后端运行模式 (生产环境建议使用release)NODE_ENV: Node.js 环境 (生产环境建议使用production)JWT_SECRET: JWT 认证密钥 (请使用随机字符串)RECOVERY_MODE: 恢复模式 (默认:false,启用时允许使用默认密码登录)
使用指南
- 部署完成后,访问应用地址
- 使用默认账号登录
- 立即修改默认密码
- 开始创建和管理内容
系统要求
- CPU: 1 核心
- 内存: 1GB RAM
- 存储: 10GB 可用空间
- 架构: x86_64/amd64
故障排除
安装一直处于进行中状态
如果应用在1Panel中显示"安装中"且长时间未完成,请按以下步骤排查:
立即尝试的解决方案:
- 刷新页面 - 有时仅仅是界面显示问题
- 检查网络 - 确保服务器可以访问 Docker Hub
- 查看系统资源 - 确保有足够的磁盘空间和内存
如果问题持续存在:
1. 检查Docker容器状态
# 查看所有容器状态
docker ps -a
# 查看Kuno相关容器
docker ps -a | grep kuno
2. 检查容器日志
# 查看容器启动日志
docker logs <容器名称或ID>
# 实时查看日志
docker logs -f <容器名称或ID>
3. 检查镜像拉取状态
# 查看镜像拉取进度
docker pull ictrun/kuno:latest
# 查看本地镜像
docker images | grep kuno
4. 检查端口占用
# 检查端口是否被占用
netstat -tlnp | grep <端口号>
# 或使用
ss -tlnp | grep <端口号>
5. 检查磁盘空间
# 检查磁盘使用情况
df -h
# 检查Docker空间使用
docker system df
6. 常见解决方案
-
重新安装应用:
- 删除应用
- 清理残留容器:
docker container prune - 重新从应用商店安装
-
手动拉取镜像:
docker pull ictrun/kuno:latest -
检查网络连接:
- 确保服务器可以访问Docker Hub
- 检查防火墙设置
-
查看1Panel系统日志:
journalctl -u 1panel -f -
重启Docker服务:
systemctl restart docker -
手动验证镜像:
# 测试镜像是否可用 docker run --rm ictrun/kuno:latest --version -
使用1Panel命令行工具:
# 查看1Panel应用状态 1pctl app list 1pctl app logs kuno
应用无法访问
如果应用安装成功但无法访问:
-
检查容器是否正常运行
docker ps | grep kuno docker logs <容器名称> -
验证端口配置是否正确
netstat -tlnp | grep <端口号> -
检查防火墙是否开放对应端口
# CentOS/RHEL firewall-cmd --list-ports firewall-cmd --add-port=<端口号>/tcp --permanent # Ubuntu/Debian ufw status ufw allow <端口号> -
确认容器健康状态
docker inspect <容器名称> | grep Health -A 10
常见错误代码对照
- 错误代码 500: 通常是数据库初始化问题,检查数据目录权限
- 错误代码 502: 容器未正常启动,查看容器日志
- 连接超时: 网络或防火墙问题,检查端口开放状态
- 镜像拉取失败: 网络问题或镜像不存在,尝试手动拉取镜像
备份建议
定期备份 data 目录以确保数据安全。