ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何私有化部署Habitica:Docker Compose与Kubernetes完整上线指南

如何私有化部署Habitica:Docker Compose与Kubernetes完整上线指南 如何私有化部署HabiticaDocker Compose与Kubernetes完整上线指南【免费下载链接】habiticaA habit tracker app which treats your goals like a Role Playing Game.项目地址: https://gitcode.com/gh_mirrors/ha/habiticaHabitica 是一款把目标管理做成角色扮演游戏的开源习惯追踪应用完成日常任务就能给角色升级、赚金币、买装备拖延则会被怪物攻击扣血。本文将带你用Docker Compose或Kubernetes两条路线快速完成 Habitica 的私有化部署几分钟内就能在自己的服务器上跑起一套属于自己的 RPG 习惯追踪系统。一、部署前了解Habitica 的三件套架构Habitica 的服务端架构非常清晰私有化部署只需要关注三个组件组件说明对应路径Node.js 服务端Express Mongoose监听 3000 端口website/server/index.jsMongoDB 数据库官方要求以副本集replSet模式运行docker-compose.yml客户端可选Vue 开发服务器仅开发调试时需要website/client/项目内置了官方 Docker 部署脚本一键启动命令就是docker compose up对应 package.json 中的docker:aio脚本。生产镜像构建由 Dockerfile-Dev 完成基于node:20自动执行依赖安装、客户端构建和gulp build:prod生产编译。二、Docker Compose 一键部署推荐新手1. 拉取代码并启动git clone https://gitcode.com/gh_mirrors/ha/habitica cd habitica docker compose -f docker-compose.yml up -ddocker-compose.yml 已预配置好三个服务无需手动编写server运行npm start对外暴露3000 端口并自动等待 MongoDB 健康检查通过后才启动mongomongo:7.0镜像以副本集参数启动--replSet rs数据持久化到宿主机./mongodb-data-docker目录并内置了自动初始化副本集的健康检查client仅开发模式需要端口 5173可通过 docker-compose.mongo-only.yml 等变体按需裁剪。2. 验证部署是否成功浏览器访问http://localhost:3000若部署在服务器则换成服务器 IP看到注册页即部署成功注册账号即可开始玩。3. 关键配置速查生产环境建议参考 config.json.example重点修改以下几项均以环境变量注入变量作用建议值NODE_DB_URIMongoDB 连接串需带副本集参数mongodb://mongo/habitrpgBASE_URL对外访问地址http://你的域名或IPSESSION_SECRET/SESSION_SECRET_KEY会话签名密钥随机强字符串NODE_ENV运行环境productionTRUSTED_DOMAINS可信域名白名单你的部署域名 提示MongoDB 必须保持副本集模式运行否则部分服务端功能如事务、预检任务会异常——这正是官方 compose 文件中加入健康检查的原因。三、Kubernetes 部署适合生产扩容仓库的 kubernetes/ 目录提供了一套现成的清单文件和 部署说明支持单节点与多节点4 副本两种模式# 1. 先部署 MongoDB修改 mongo.yaml 中的持久卷 volumeID kubectl create -f kubernetes/mongo.yaml kubectl create -f kubernetes/mongo-service.yaml # 2a. 单节点前端 kubectl create -f kubernetes/habitica.yaml kubectl create -f kubernetes/habitica-service.yaml # 2b. 或多节点前端4 个副本自动负载均衡 kubectl create -f kubernetes/habitica-rc.yaml kubectl create -f kubernetes/habitica-service.yaml几个清单文件的分工kubernetes/mongo.yamlMongoDB Pod挂载 EBS 持久卷保证数据不丢kubernetes/habitica.yaml / kubernetes/habitica-rc.yaml应用 Pod通过NODE_DB_URImongodb://mongosvc/habitrpg连接数据库kubernetes/habitica-service.yamlLoadBalancer类型 Service3000 端口对外提供服务。部署完成后用kubectl describe svc habiticaweb查到负载均衡地址浏览器打开http://地址:3000即可访问。四、上线检查清单 ✅服务监听 3000 端口MongoDB 数据目录已持久化BASE_URL与TRUSTED_DOMAINS已改为真实域名API 与邮件链接依赖它SESSION_SECRET已替换为随机值关闭调试开关DEBUG_ENABLEDfalse定期备份mongodb-data-docker目录或数据库卷。私有化部署的最大价值在于习惯与任务数据完全掌握在自己手中还能为团队/家庭搭建专属的习惯公会用 RPG 机制把坚持变成一场打怪升级的冒险。按照上面的步骤你现在就可以动手部署属于你的 Habitica 了。【免费下载链接】habiticaA habit tracker app which treats your goals like a Role Playing Game.项目地址: https://gitcode.com/gh_mirrors/ha/habitica创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表