自托管
在自己的机器上部署 OpenTickly — Docker Compose 一条命令拉起 Web + API + Postgres + Redis,5 分钟上线。100% Toggl API 兼容,官方客户端直连即可。
把 OpenTickly 跑在自己的机器上只需要一个 docker-compose.yml。下面走一遍从零到能用的完整流程。
系统要求
- 任一装了 Docker Engine 20.10+ 和 Docker Compose v2 的 Linux、macOS 或 Windows 机器
- 约 1 GB 内存、1 GB 磁盘空间
- 一个空闲的 TCP 端口(默认
8080)
没装 Docker 的话,先按官方指南装好再回来。
部署服务器
步骤 1 — 下载 docker-compose.yml
新建一个目录,把官方 compose 文件拉下来:
mkdir -p opentickly && cd opentickly
wget -O docker-compose.yml \
https://raw.githubusercontent.com/CorrectRoadH/OpenTickly/main/docker-compose.yml这份 compose 定义了三个容器:
- OpenTickly — Web UI + REST API(对外暴露
8080) postgres— 数据库(只在内部网络,不对外暴露)redis— 缓存和后台任务队列(只在内部网络,不对外暴露)
步骤 2 — (可选)配置 .env
默认值开箱即用。需要改端口或密码时,在同目录下建一个 .env:
# Web UI 和 API 的对外端口
OPENTOGGL_PORT=8080
# 生产部署前强烈建议改成强密码
OPENTOGGL_POSTGRES_PASSWORD=postgres
OPENTOGGL_REDIS_PASSWORD=opentoggl这三个变量是整个 compose 文件仅有的可覆盖配置 — 其他一切(数据库名、用户、镜像、内部连接串)都直接写死,避免配置漂移。需要更深度定制就直接编辑 docker-compose.yml。
生产环境一定要把两个密码都换掉。默认值只适合本地试玩。即便 Postgres/Redis 不对主机暴露端口,设密码也是防内网被入侵的基本功。
步骤 3 — 启动容器
docker compose up -d访问 Web 应用
浏览器打开 http://<你的 IP>:8080,注册第一个账号就能开始记录时间。
手机端
目前没有官方移动应用,但你可以把 Web UI 加到手机主屏幕上(PWA)。第三方 toggl 客户端如 timery,正在联系开发者适配 OpenTickly 中。
接入 AI Agent
OpenTickly 没有 30 次/小时的 API 限流,这意味着 Claude、Cursor 这类 Agent 可以大胆用。配合 toggl-cli 把技能包装进 Agent 环境,几分钟就能让 AI 帮你启停计时器、整理项目。
升级
docker compose pull
docker compose up -d部署到 NAS / Homelab
OpenTickly 能跑在任何支持 Docker Compose 的平台上。下面这些只是把上面的流程套进各家的 UI 而已 — 底层命令没有任何差别。
CasaOS
- 打开 CasaOS 控制面板
- 进入 应用商店 → 自定义安装 → 导入 docker-compose
- 粘贴
docker-compose.yml的内容 - 把 Web UI 端口设为
8080,保存 - 从控制面板启动
通过 http://<你的 CasaOS IP>:8080 访问。
ZimaOS
ZimaOS(Zimablade / Zimacube 的官方系统)和 CasaOS 共用同一套应用商店,步骤完全一样:应用商店 → 自定义安装 → 导入 docker-compose,粘贴 compose 文件即可。
群晖 Synology
群晖 DSM 7.2+ 通过 Container Manager 支持 Docker Compose:
- 打开 Container Manager → 项目 → 新建
- 项目名例如
opentickly - 选 使用 docker-compose.yml,粘贴 compose 文件
- 一路下一步完成向导
如果 8080 和 DSM 冲突,创建项目前先在环境设置里加 OPENTOGGL_PORT=9090(或任何空闲端口)。
飞牛 fnOS
fnOS 自带 Docker 面板:
- 打开飞牛桌面的 Docker 应用
- 左侧选 Compose → 新建项目
- 项目名
opentickly,存储路径保持默认 - Compose 内容粘贴 compose 文件
- 点 部署,等三个容器变绿
其他平台
以下平台都走同样的 Docker Compose 流程:
- Unraid — Community Applications 或 Compose Manager 插件
- TrueNAS SCALE — 自定义应用 + Docker Compose
- Proxmox LXC — 在 LXC 容器里装 Docker,再按 部署服务器 的步骤来
配置参考
整个 compose 文件只有三个可覆盖配置:
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENTOGGL_PORT | 8080 | Web UI 和 API 的对外端口 |
OPENTOGGL_POSTGRES_PASSWORD | postgres | Postgres 密码(生产必改) |
OPENTOGGL_REDIS_PASSWORD | opentoggl | Redis 密码(生产必改) |
其他所有配置(数据库名、用户、镜像 tag、内部连接串、卷名)都直接写死在 docker-compose.yml 里。需要改就编辑文件。
健康检查端点
| 路径 | 用途 |
|---|---|
/readyz | 就绪检查(依赖 DB + Redis) |
/healthz | 存活检查(进程是否在跑) |