极空间部署Traggo时间追踪工具:Docker安装、标签管理与cpolar远程访问
前言
我以前用待办清单安排工作,常常能知道"还有什么没做",却很难回答另一个问题:今天究竟有多少时间花在了这些事情上?任务写在纸上很清楚,执行过程却会被会议、沟通和临时事项打断。如果只凭晚上回忆,很容易高估自己投入在重要任务上的时间,也容易忽略那些反复出现的小段消耗。于是我想在极空间 NAS 上搭建一套可自行维护的时间记录服务,先把每天实际发生的事情留下来,再决定是否调整自己的安排。
这次选用的是 Traggo。它不是以复杂的待办流程为中心,而是通过时间记录和标签描述活动内容。例如,给开发工作添加 #coding,给会议添加 #meeting;记录结束后,可以回到 List 列表或 Calendar 日历查看。这样的做法不承诺让效率立刻翻倍,但能为之后分析工作节奏提供一份更具体的依据。数据保存在自己部署的服务中,也方便管理运行环境和备份目录。
下文会完整演示极空间 SSH 连接、Docker 环境检查、Docker Compose 部署、账号登录、标签与计时操作,并通过 cpolar 配置随机及固定公网地址。重点是让工具真正能运行、能记录、能从外部网络访问,而不是只介绍功能截图。

1. 先认识 Traggo:记录时间,而不是只列待办
我选择 Traggo,是因为它把注意力放在已经发生的活动上:开始记录时选好标签,结束后回看这段时间属于哪类事情。与只在清单里勾选"完成"不同,时间记录能保留活动的起止信息;标签则帮助我区分开发、会议、学习等用途。
这里要先分清两个概念:记录时间不等于自动提升效率。Traggo 不会替我判断哪项工作最有价值,也不会仅凭安装就知道我正在做什么。实际记录需要自己开始、停止并整理标签。它更适合作为一份可回顾的时间日志。
2. 在极空间上准备 SSH 和 Docker
2.1 开启 SSH,连接 NAS
我先在极空间中打开 SSH 服务,再用电脑上的 Windows PowerShell 或 macOS Terminal 连接。命令里的 IP 要换成自己 NAS 的局域网地址,登录账号也应以设备实际配置为准:
shell
ssh root@IP
如果还没有开启 SSH,可以参考原文提到的《极空间别再吃灰了!开启SSH,秒变全能服务器!》中的操作入口。

2.2 检查 Docker 环境
部署前,我会先确认 Docker 已安装,再查看服务能否正常运行。原文给出的命令如下,保留供对照:
shell
docker -v
systemctl status -v
注意: docker -v 用来查看 Docker 客户端版本;systemctl status -v 并不能正确指定 Docker 服务。需要检查 Docker 守护进程时,可以按设备环境使用 systemctl status docker,或者通过 docker info 检查 Docker 是否能正常响应。极空间不同系统版本的服务管理方式可能有所不同,最终以设备实际运行情况为准。
如果 Docker 尚未安装,先完成极空间 Docker 环境的设置,再进行后面的容器部署。

3. 用 Docker Compose 部署 Traggo
3.1 创建项目目录
我把 Traggo 单独放进 /docker/traggo,便于以后定位配置和备份数据。原文创建并进入目录的命令为:
shell
sudo mkdir -p /docker/traggo
cd /docker/traggo

如果当前 SSH 账号无法写入 /docker,先确认目录属主和权限;不要为了图省事直接开放整个 NAS 目录的写权限。
3.2 准备 Compose 配置
在项目目录下新建 docker-compose.yml,填入下面的原文配置:
shell
version: "3.7"
services:
traggo:
image: traggo/server:latest
ports:
- 3030:3030
environment:
TRAGGO_DEFAULT_USER_NAME: "admin"
TRAGGO_DEFAULT_USER_PASS: "mynewpassword"
volumes:
- ./traggodata:/opt/traggo/data
restart: unless-stopped
这里值得留意的是:3030:3030 把容器服务端口映射到 NAS 的 3030 端口;./traggodata:/opt/traggo/data 把记录数据挂载到项目目录下,容器重建时也能保留这部分数据;restart: unless-stopped 用于控制容器的重启行为。
安全提醒: admin 和 mynewpassword 是原文示例凭据,不应原样用于正式环境,尤其不能在开放公网访问前保留弱密码。首次登录后应检查并设置足够强的独立密码,同时确认数据目录已纳入备份。
3.3 启动容器并验证访问
配置保存后,执行原文启动命令:
shell
docker-compose up -d

然后在局域网设备的浏览器里打开 http://极空间IP:3030,把"极空间IP"替换为实际地址。如果能看到 Traggo 的登录页面,说明 Web 服务已经可以访问;接下来还需要登录并创建一条记录,才能确认基本功能可用。

4. 开始使用:从标签到时间记录
4.1 登录和创建标签
我先用 Compose 文件里配置的账号和密码登录:

登录后进入主界面:

接下来创建 Tags(标签) 。我会按照活动类型命名,例如 #coding、#meeting 和 #learning,并用不同颜色区分,方便后来查看。

标签不用一开始就分得过细。先把平常真正会发生的几类活动分清楚,比建立一长串从来不用的分类更有意义。
4.2 在 List 中记录活动
进入 List 菜单,通过 start 开始一段记录,结束活动后再停止并检查标签。这样时间数据对应的是我实际记录的活动,而不是待办清单里事先预计的时长。

4.3 用 Calendar 回顾一天和一周
Calendar 提供另一个查看入口,其中可切换 DAY、WEEK 视图。我通常先看当天记录有没有漏掉,再从一周的角度比较各类活动的分布。

需要时,也可以采用 24 小时制查看时间:

做完这些操作,Traggo 在局域网里就能用于日常记录了。但我偶尔会出门,手机连接移动网络时便不能再直接使用家中的 极空间IP:3030,因此还要处理远程访问。
5. 安装 cpolar,让外出时也能打开 Traggo
Traggo 负责记录时间,cpolar 则负责把本地运行的 Web 服务映射到一个公网可访问的地址,两者职责不同。这里我沿用原文的 Linux 安装方式;实际执行时应确认设备能访问安装源,并了解脚本来源。
5.1 安装并检查运行状态
在 NAS 的终端执行:
shell
sudo curl https://get.cpolar.sh | sh

安装后检查 cpolar 服务状态:
shell
sudo systemctl status cpolar

如果显示 active (running),说明服务正在运行。随后在局域网浏览器中访问 http://极空间IP:9200,使用 cpolar 账号登录 Web UI;localhost 只代表当前打开浏览器的那台设备,不能从另一台电脑直接照抄当作 NAS 地址。

6. 先用随机域名验证公网访问
登录 cpolar Web UI 后,进入 隧道管理 → 创建隧道。这次需要映射的是 Traggo 的 Web 端口,而不是 NAS 的整个管理页面。填写如下:
- 隧道名称:
traggo,也可以自定义,避免与现有名称重复; - 协议:
http; - 本地地址:
3030; - 域名类型:
随机域名; - 地区:
China Top(以界面可选项为准)。

创建后,到 状态 → 在线隧道列表 查看分配的地址。复制 HTTPS 地址,换一台设备或使用手机移动网络打开,确认是否能进入 Traggo 登录界面,并尝试正常登录查看记录。

原文的外网访问测试截图如下:

这里的验证标准不是"链接生成了就算成功",而是外部网络能打开页面、完成身份验证,并能看到此前的时间记录。随机域名适合先测试,地址是否变化以实际服务规则为准。
7. 保留固定二级子域名
如果日常要在手机、电脑上长期使用,我更希望访问地址相对固定。原文接下来演示的是 cpolar 的二级子域名保留与绑定流程;是否可用、对应套餐及期限应以账号当前权益为准。

先到 cpolar 控制台的 预留 → 保留二级子域名 ,地区选择与隧道一致的 China Top,名称示例使用 traggo,填写备注后提交保留。

再回到本地 Web UI 的 隧道管理 → 隧道列表 ,找到前面建立的隧道并点击 编辑。

把域名类型改为 二级子域名 ,在 Sub Domain 中填写刚保留成功的名称,并将地区设为 China Top,最后点击 更新。

更新后到 在线隧道列表,确认地址已经变成所保留的二级子域名形式。

最后再从外部网络用新的 HTTPS 地址访问 Traggo,验证页面、登录和时间记录是否正常。这里打开的应当是 Traggo 页面,而不是极空间 NAS 的管理后台。

远程访问注意事项: 固定域名解决的是地址变化问题,不会自动替代账号权限和数据备份。正式使用时应设置强密码、不分享登录凭据,并定期备份 traggodata。如果只需局域网记录,也没有必要为了完整复现教程而开放公网入口。
总结
这次我在极空间上完成了 Traggo 的容器部署,创建了标签并体验了 List、Calendar 两种记录查看方式,再通过 cpolar 测试随机域名和固定二级子域名的访问流程。整个方案最有价值的地方,不是给"忙碌"再加一套复杂的打卡任务,而是为已经发生的活动留下时间记录。
回过头看,我仍需要自己开始和结束记录,也需要根据自己的工作内容调整标签;工具不会直接替我提高效率。但有了可以回顾的数据,我能更具体地发现时间分布,判断哪些安排值得保留、哪些需要调整。对想把时间数据放在自己设备上、又希望偶尔从外面访问的人来说,这就是 Traggo、NAS 与 cpolar 组合的实际意义。