在群晖NAS上使用Docker Compose部署陀螺匠系统的详细步骤
前提准备
群晖NAS已安装Docker套件
如果尚未安装,请打开群晖"套件中心",搜索并安装"Docker"
确保群晖NAS的硬件配置满足要求
至少4GB RAM(建议8GB以上)
足够的存储空间(至少20GB可用空间)
建议使用SSD存储以获得更好性能
详细部署步骤
第一步:准备部署文件
在群晖NAS上创建部署目录
打开群晖File Station
创建目录,例如:docker/tuoluojiang
上传项目文件到NAS
将整个项目文件夹上传到docker/tuoluojiang目录
如果文件较多,可以先压缩后再上传,然后在File Station中解压
第二步:配置环境变量
使用群晖控制面板SSH连接NAS
控制面板 → 终端机和SNMP → 启用SSH功能
使用SSH客户端(如PuTTY)连接到您的NAS
创建环境变量文件
配置关键环境变量(在.env文件中)
第三步:调整Docker Compose配置
编辑docker-compose.yml文件
确保以下配置正确
第四步:优化容器配置
优化MySQL配置
优化Redis配置
优化Nginx配置
第五步:部署系统
使用Docker Compose启动服务
执行数据库迁移和填充
设置文件权限
清除缓存
第六步:验证部署
检查容器运行状态
在浏览器中访问系统
打开浏览器,输入http://群晖NAS的IP地址
如果看到登录界面,说明部署已成功
检查系统健康状态
访问http://群晖NAS的IP地址/api/health
如果返回正常的JSON数据,说明后端服务正常
第七步:配置系统自启动
配置Docker容器跟随NAS启动
这个在docker-compose.yml中已经通过restart: always配置
创建自动部署脚本
设置为计划任务
打开群晖控制面板 → 任务计划
创建"触发的任务" → "启动时"
设置任务为运行这个脚本
第八步:系统维护
配置数据备份
在群晖控制面板 → 控制面板 → 共享文件夹中,将/volume1/docker/tuoluojiang设置为定期备份
更新系统
查看日志
排错指南
容器无法启动
检查日志:docker-compose logs
确保端口未被占用:修改docker-compose.yml中的端口映射
网页无法访问
检查群晖防火墙是否允许80端口
确认nginx容器正常运行:docker-compose ps nginx
数据库连接错误
检查.env文件中的数据库配置
确保MySQL容器已启动:docker-compose ps mysql
权限问题
重新执行权限设置命令:
内存不足
监控NAS资源使用情况,必要时升级内存
减少容器资源限制:在docker-compose.yml中调整资源配置
注意事项
安全性
不要直接开放NAS的80/443端口到公网
考虑使用群晖反向代理或网关设备
定期更改数据库密码和管理员密码
性能考虑
群晖NAS资源有限,根据NAS型号适当调整容器资源限制
建议使用SSD卷存储数据库数据
监控系统负载,避免影响NAS其他服务
数据备份
定期备份MySQL数据:docker-compose exec mysql mysqldump -u root -p tuoluojiang > backup.sql
使用群晖自带的备份功能备份整个docker目录
无需手动安装MySQL或Redis,也无需手动创建数据库或用户,Docker会自动完成这些工作
APP_KEY(生成的密钥)是Laravel框架中一个非常重要的配置项,它是一个随机字符串,用于加密和安全目的。以下是对它的详细解释:
APP_KEY详解
作用:
用于加密会话数据、Cookie数据
用于生成安全的CSRF令牌
加密某些数据库中的敏感信息
生成安全的随机数和哈希值
格式:
通常是一个32字符的随机字符串
以base64:为前缀
例如:base64:5S77yUdvF22DEQhZaGxgJh0Dgbvs7Gi4U9JFHWPY7zo=
重要性:
如果没有设置APP_KEY或使用默认值,系统会不安全
每个环境(开发、测试、生产)应该使用不同的APP_KEY
泄露APP_KEY可能导致安全风险
如何生成APP_KEY
注意事项
唯一性:
每个陀螺匠系统实例应该有自己唯一的APP_KEY
不要在不同的环境中共享相同的APP_KEY
安全性:
不要在代码仓库、公共场所或不安全的通信渠道中分享APP_KEY
将.env文件的权限设置为只有必要的用户可读
更换:
如果怀疑APP_KEY被泄露,应该立即更换
更换APP_KEY会使所有当前会话失效,用户需要重新登录
备份:
记得备份您的APP_KEY,因为丢失它可能导致无法解密已加密的数据
APP_KEY在群晖Docker部署中的配置说明
通过File Station访问您上传到群晖的项目文件 进入backend文件夹 查看是否已有.env文件,如果没有,可以复制.env.example并重命名为.env 打开群晖的Docker应用程序 找到并点击您的PHP/后端容器(通常名为tuoluojiang_backend) 点击"终端"选项卡(或"Terminal") 在终端中执行以下命令: 在群晖控制面板启用SSH功能 使用SSH工具连接到您的NAS 进入项目目录: 执行Docker命令: 在本地或其他Laravel环境中生成一个APP_KEY 通过SSH或File Station编辑群晖NAS上的backend/.env文件 将APP_KEY值设置为生成的密钥,格式为: 查看.env文件内容,确认APP_KEY行已正确填写 或通过Docker执行: APP_KEY是Laravel应用程序用于加密数据的密钥,必须设置 它不在docker-compose.yml中配置,而是在backend/.env文件中配置 最简单的方式是通过Docker命令:docker-compose exec backend php artisan key:generate 如果手动设置,确保格式为:APP_KEY=base64:随机字符串在群晖NAS上配置APP_KEY的步骤
1. 准备.env文件
2. 生成APP_KEY的具体操作
3. 确认APP_KEY是否设置成功
4. APP_KEY与其他环境变量的关系
简单总结
还没有评论,来说两句吧...