自托管
用 Docker Compose 在自己的机器上部署 OpenTickly,一条命令启动应用、PostgreSQL 和 Redis。也包括 CasaOS、ZimaOS、群晖、飞牛等 NAS 的部署步骤。
自己部署 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它会启动三个容器:
- 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能通过 .env 改的只有这三项。其他的(数据库名、用户名、镜像、连接地址)都故意写死在 compose 文件里,让大家的部署保持简单一致。要改更多东西,直接编辑 docker-compose.yml。
正式使用前一定要把两个密码都改掉,默认值只适合本地试一试。Postgres 和 Redis 虽然不对外开放端口, 但万一你内网里别的机器或容器被入侵,强密码能防止数据被直接读走。
步骤 3 — 启动容器
docker compose up -d访问 Web 应用
浏览器打开 http://<你的 IP>:8080,注册第一个账号就能开始记录时间。
手机端
目前还没有手机 App,不过可以把网页添加到手机主屏幕,当 App 用(PWA)。我们也在联系 Timery 等第三方 Toggl 客户端的开发者,争取支持 OpenTickly。
接入 AI Agent
OpenTickly 没有 Toggl 那种每小时 30 次的 API 限制,Claude、Cursor 这类 Agent 想调多少次都行。装好 toggl-cli,几分钟就能让 AI 帮你开始、停止计时,整理项目。
升级
docker compose pull
docker compose up -d部署到 NAS / Homelab
只要支持 Docker Compose 就能跑 OpenTickly。下面这些其实是同一套部署,只是换成在各家的界面里操作。
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,再按 部署服务器 的步骤来
配置参考
能通过 .env 修改的配置只有三项:
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENTOGGL_PORT | 8080 | Web UI 和 API 的对外端口 |
OPENTOGGL_POSTGRES_PASSWORD | postgres | Postgres 密码(生产必改) |
OPENTOGGL_REDIS_PASSWORD | opentoggl | Redis 密码(生产必改) |
其他配置(数据库名、用户名、镜像版本、连接地址、数据卷名)都直接写在 docker-compose.yml 里,要改就编辑这个文件。
健康检查端点
| 路径 | 用途 |
|---|---|
/readyz | 能否正常服务(会检查数据库和 Redis) |
/healthz | 进程是否在运行 |
下一步
- 配置 HTTPS 和反向代理
- 备份、恢复与升级
- AI 集成 — 让 Claude、Cursor 连上你自己的实例
- GitHub 仓库 — 源码、Issues、Discussions
- 部署中遇到问题?欢迎在 Issues 反馈