产品更新与路线图平台ShipShipShip
简介
什么是 ShipShipShip?
ShipShipShip
是一个使用SvelteKit
和Go
构建的现代化、可自托管的更新日志(Changelog
)和路线图(Roadmap
)平台。 它可以帮助您与社区分享产品更新,并通过对即将推出的功能进行投票来收集反馈。
从功能上看,和老苏介绍的 Fider
有点类似
文章传送门:需求和建议搜集平台Fider
主要特点
- 📋丰富的变更日志管理- 支持使用
Markdown
和富文本编辑器创建、编辑和组织事件 - 🗳️社区投票- 允许用户对即将推出的功能进行投票并收集反馈。
- 📊看板路线图- 具有多种事件状态(待办事项、投票中、进行中、已发布等)的拖放式看板
- 📧邮件订阅系统- 用户可以订阅以接收有关新功能和版本更新的电子邮件
- 🎨现代化界面- 响应式设计,具有深色/浅色主题和实时更新
- 🛠️自托管- 通过
Docker
部署,让您完全控制自己的数据。 - 🔌 RESTful API - 提供完整的
API
访问权限,用于集成和自定义工作流程。 - 📮电子邮件通知- 通过管理界面配置
SMTP
设置以发送新闻通讯
应用场景
- 发布产品更新: 以结构化和美观的方式向用户展示新功能、修复和改进。
- 收集用户反馈: 通过让用户对规划中的功能进行投票,了解用户的真实需求和优先级。
- 展示开发路线图: 使用看板清晰地展示产品未来的发展方向。
- 构建社区: 通过邮件订阅等功能,围绕产品建立一个活跃的社区。
ShipShipShip
是一个现代化、灵活且易于部署的产品更新与反馈管理工具,适合希望与社区保持紧密互动的产品团队使用。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 shipshipship
,选择第一个 nelkinsky/shipshipship
,版本选择 latest
。
本文写作时,
latest
版本对应的应该是1.1.2-beta
之后的版本
卷
在 docker
文件夹中,创建一个新文件夹 shipshipship
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/shipshipship/data | /app/data | 存放数据库和应用数据 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8144 | 8080 |
环境
可变 | 默认值 | 描述 |
---|---|---|
ADMIN_USERNAME | 管理员登录用户名,设为 admin | |
ADMIN_PASSWORD | 管理员登录密码,设为 admin | |
JWT_SECRET | JWT 密钥,设为 your-secret-key-change-in-production ,建议更复杂一些 | |
PORT | 8080 | 服务器端口 |
DB_PATH | ./data/changelog.db | SQLite 数据库路径 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 shipshipship 和 子目录
mkdir -p /volume1/docker/shipshipship/data# 进入 shipshipship 目录
cd /volume1/docker/shipshipship# 运行容器
docker run -d \--restart unless-stopped \--name shipshipship \-p 8144:8080 \-e ADMIN_USERNAME=admin \-e ADMIN_PASSWORD=admin \-e JWT_SECRET=your-secret-key-change-in-production \-v $(pwd)/data:/app/data \nelkinsky/shipshipship:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3.8'services:changelog:image: nelkinsky/shipshipship:latestcontainer_name: shipshipshiprestart: unless-stoppedports:- "8144:8080"volumes:- ./data:/app/dataenvironment:- ADMIN_USERNAME=admin- ADMIN_PASSWORD=admin- JWT_SECRET=your-secret-key-change-in-production
然后执行下面的命令
# 新建文件夹 shipshipship 和 子目录
mkdir -p /volume1/docker/shipshipship/data# 进入 shipshipship 目录
cd /volume1/docker/shipshipship# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8144
就能看到主界面,但是现在什么都没有
后台管理地址为 http://群晖IP:8144/admin
我们环境变量中设置的用户名为 admin
,密码为 admin
页面设置
可以修改公共页面的相关信息
回到公共页面时,你会发现 Project Title
已经改变了
事件管理
这里可以创建和管理更新事件,发布路线图状态并启用用户投票
- 📝 Backlog(积压) - 想法和计划的功能
- 🗳️ Proposed(建议) - 用户可以投票的功能
- 🔄 Upcoming(即将推出)- 目前正在开发中的功能
- 🚀 Released(已发布)- 已发布的功能(主要时间线)
- 📦 Archived(已归档)- 内部事件(不向公众开放)
创建完成后
回到公共页面,如果是 Proposed
类别,别人就可以投票了,否则就只能发表意见
更多用法,可以参考官方的动图
参考文档
GauthierNelkinsky/ShipShipShip: A lightweight, self-hostable changelog and roadmap web application that lets you share product updates with your community and gather feedback through voting on upcoming features. Built with SvelteKit and Go.
地址:https://github.com/GauthierNelkinsky/ShipShipShip
ShipShipShip - Modern Changelog & Roadmap Platform
地址:https://shipshipship.io/
Chessload
地址:https://changelog.chessload.com/