Skip to content
OpenTickly

自托管

用 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

  1. 打开 CasaOS 控制面板
  2. 进入 应用商店 → 自定义安装 → 导入 docker-compose
  3. 粘贴 docker-compose.yml 的内容
  4. 把 Web UI 端口设为 8080,保存
  5. 从控制面板启动

通过 http://<你的 CasaOS IP>:8080 访问。

ZimaOS

ZimaOS(Zimablade / Zimacube 的官方系统)和 CasaOS 共用同一套应用商店,步骤完全一样:应用商店 → 自定义安装 → 导入 docker-compose,粘贴 compose 文件即可。

群晖 Synology

群晖 DSM 7.2+ 通过 Container Manager 支持 Docker Compose:

  1. 打开 Container Manager → 项目 → 新建
  2. 项目名例如 opentickly
  3. 选 使用 docker-compose.yml,粘贴 compose 文件
  4. 一路下一步完成向导

如果 8080 和 DSM 冲突,创建项目前先在环境设置里加 OPENTOGGL_PORT=9090(或任何空闲端口)。

飞牛 fnOS

fnOS 自带 Docker 面板:

  1. 打开飞牛桌面的 Docker 应用
  2. 左侧选 Compose → 新建项目
  3. 项目名 opentickly,存储路径保持默认
  4. Compose 内容粘贴 compose 文件
  5. 点 部署,等三个容器变绿

其他平台

以下平台都走同样的 Docker Compose 流程:

  • Unraid — Community Applications 或 Compose Manager 插件
  • TrueNAS SCALE — 自定义应用 + Docker Compose
  • Proxmox LXC — 在 LXC 容器里装 Docker,再按 部署服务器 的步骤来

配置参考

能通过 .env 修改的配置只有三项:

变量默认值说明
OPENTOGGL_PORT8080Web UI 和 API 的对外端口
OPENTOGGL_POSTGRES_PASSWORDpostgresPostgres 密码(生产必改)
OPENTOGGL_REDIS_PASSWORDopentogglRedis 密码(生产必改)

其他配置(数据库名、用户名、镜像版本、连接地址、数据卷名)都直接写在 docker-compose.yml 里,要改就编辑这个文件。

健康检查端点

路径用途
/readyz能否正常服务(会检查数据库和 Redis)
/healthz进程是否在运行

下一步

On this page