使用阿里云服务器部署 PriTime
PriTime 是一款可完全自托管的多端待办任务管理应用。任务、清单、标签、四象限、日历、番茄钟、习惯打卡、共享清单、AI 助手一应俱全,支持 Docker 一键部署,数据 100% 存在你自己的阿里云服务器上,并提供 JSON/Excel 全量导出,随时可走。

PriTime 是什么?
PriTime 是一个多端待办任务管理应用,由三部分组成:
- Web 端:Vue 3 + Vite 单页应用,浏览器打开即用
- 服务端 API:Ruby on Rails 8 + PostgreSQL,标准 JSON API
- 桌面端:macOS 原生 SwiftUI 客户端(零第三方依赖)
多端共享同一套 REST API,登录同一账号即可同步。此外还有面向飞牛 fnOS 的 fpk 应用包,NAS 桌面双击图标就能打开。
功能清单:一个不缺
| 能力 | 说明 |
|---|---|
| 任务管理 | 快速创建、子任务拆解、Markdown 描述、附件、拖拽排序 |
| 组织方式 | 清单(自定义图标/颜色)+ 彩色标签,双维度分类 |
| 任务属性 | 四级优先级、截止时间、提醒(准点/提前 5 分钟到 1 天)、9 种重复规则 |
| 重复规则亮点 | 支持法定节假日 / 法定工作日(含调休补班)重复,国内用户刚需 |
| 四象限视图 | 经典艾森豪威尔矩阵,按重要/紧急自动分象限 |
| 日历视图 | 月历展示任务,可订阅节假日、传统节日、二十四节气、未来 7 天天气 |
| 下雨提醒 | 天气源开启后,降雨概率达标自动创建「带伞」提醒任务 |
| 课程表视图 | 学生与固定日程人群的周期性事务管理 |
| 专注模式 | 番茄钟计时,可绑定任务记录投入 |
| 习惯打卡 | 每日打卡、连续天数激励 |
| 纪念日 | 重要日期倒计时 |
| 统计 | 完成率、完成趋势、清单/标签分布图表 |
| 全局搜索 | Ctrl/⌘ + K 快速搜索标题与描述 |
| 共享清单 | 邮箱邀请成员,多人协同维护一份待办,角色权限管理 |
| AI 助手 | 自然语言创建任务(DeepSeek),自动解析时间/优先级/清单/标签 |
| MCP 接口 | Claude Desktop 等 AI 客户端可直接调用 create_task 创建任务 |
| Web Push | 浏览器通知 + 通知中心,逾期醒目提示 |
| 模块管理 | 日历、四象限、专注等模块可自由开关,界面不打扰 |
| 个性化 | 多套主题色 + 免费可商用字体,设置云端同步 |
| 数据导出 | JSON 全量备份(可迁移/导入)+ Excel 查看,数据永远握在自己手里 |
在阿里云服务器上部署 PriTime
前置准备
- 一台阿里云 ECS 服务器(建议 2C4G 及以上配置,系统推荐 Ubuntu 22.04 / Debian 12 / CentOS 7+)
- 安全组放行端口:在阿里云控制台 ECS 安全组规则中放行
8080(Web 访问)和22(SSH)端口 - 域名(可选):如需通过域名访问,提前完成域名解析(阿里云 DNS)指向服务器公网 IP
第一步:安装 Docker 和 Docker Compose
SSH 登录服务器后,依次执行:
# 安装 Docker
curl -fsSL https://get.docker.com | bash
# 启动 Docker 并设置开机自启
systemctl enable --now docker
# 验证安装
docker --version
docker compose version
如果
docker compose命令不可用,可安装独立版本:sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
第二步:获取 PriTime 部署文件
# 创建部署目录
mkdir -p /opt/pritime && cd /opt/pritime
# 克隆仓库(含 docker-compose.yml)
git clone https://github.com/itodo/itodo-plus-plus.git .
第三步:编写 docker-compose.yml
在 /opt/pritime 目录下创建 docker-compose.yml:
version: "3.8"
services:
db:
image: postgres:14
container_name: pritime-db
restart: always
environment:
POSTGRES_USER: pritime
POSTGRES_PASSWORD: your_strong_password # 修改为强密码
POSTGRES_DB: pritime_production
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "pritime"]
interval: 5s
timeout: 5s
retries: 5
api:
build: ./todo_api
container_name: pritime-api
restart: always
depends_on:
db:
condition: service_healthy
environment:
RAILS_ENV: production
DATABASE_URL: postgres://pritime:your_strong_password@db:5432/pritime_production
SECRET_KEY_BASE: $(openssl rand -hex 64) # 生成随机密钥
RAILS_SERVE_STATIC_FILES: "true"
volumes:
- api_storage:/app/storage
expose:
- "3000"
web:
build: ./todo_web
container_name: pritime-web
restart: always
depends_on:
- api
ports:
- "8080:80"
environment:
VITE_API_BASE_URL: /api
第四步:启动服务
cd /opt/pritime
# 生成随机密钥并写入环境变量
export SECRET_KEY_BASE=$(openssl rand -hex 64)
# 启动所有容器(后台运行)
docker compose up -d
# 查看运行状态
docker compose ps
# 查看日志(确认无报错)
docker compose logs -f
启动完成后,浏览器打开 http://你的服务器公网IP:8080 即可开始使用。
第五步:配置域名和 HTTPS(推荐)
通过 Nginx 反向代理 + HTTPS 证书,让访问更安全:
# 安装 Nginx
apt install -y nginx # Ubuntu/Debian
# 或 yum install -y nginx # CentOS
# 配置反向代理
cat > /etc/nginx/conf.d/pritime.conf << 'EOF'
server {
listen 80;
server_name your-domain.com; # 替换为你的域名
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
# 重载 Nginx
nginx -s reload
如需 HTTPS,可使用 Certbot 免费证书,或在阿里云申请免费 SSL 证书后手动配置:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d your-domain.com
第六步:数据备份与恢复
备份数据库:
docker exec pritime-db pg_dump -U pritime pritime_production > backup_$(date +%Y%m%d).sql
恢复数据:
cat backup_20260101.sql | docker exec -i pritime-db psql -U pritime pritime_production
备份文件数据:
# 备份上传的附件等
docker cp pritime-api:/app/storage ./storage_backup
其他使用方式
1. 飞牛 fnOS 一键安装
打包好的 pritime.fpk 在应用中心手动安装即可,Web 与 API 合并为单容器 + 独立数据库容器,数据持久化在包目录,卸载重装数据不丢。NAS 桌面点击图标直达,全程同源、无 CORS 烦恼。
2. 免登录本地模式(不想装服务器?)
Web 端登录页提供「免登录 · 本地模式」:数据直接落在浏览器 IndexedDB,无需任何后端,完整业务逻辑在本地复刻执行。macOS 客户端同样提供本地模式,数据存储在系统级 SQLite(GRDB)。两种模式与服务器模式共用同一套导出/导入格式,以后想上自托管,导出 JSON 再导入即可无缝迁移。
为什么选 PriTime 而不是 SaaS 待办工具?
- 数据主权:任务数据存你自己的阿里云服务器,不经过任何第三方,退出随时全量导出。
- 无订阅费:没有会员、没有广告、没有功能墙,深度使用零成本。
- 本地化细节:法定节假日/调休重复、二十四节气日历、中文天气与下雨提醒,这些是很多国外工具做不到位的地方。
- AI 能力可选:不配置 Key 就是一个纯净的任务工具;配置 DeepSeek Key 后获得自然语言建任务能力,开发者还能通过 MCP 接入自己的 AI 工作流。
- 轻量:单容器即可跑起来,一台最低配云服务器或老 NAS 就够。
适合谁用?
- 拥有阿里云服务器 / NAS,想部署一款自托管任务管理应用的用户
- 在意隐私,不愿把工作、生活待办交给云端 SaaS 的个人用户
- 需要「今天 / 未来 7 天 / 四象限 / 日历」多维视图的效率工具爱好者
- 学生党:课程表 + 重复任务 + 习惯打卡的组合很对口
- 开发者:REST API + MCP 接口,可以自由扩展和接入 AI 客户端