找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4112

积分

0

好友

530

主题
发表于 18 小时前 | 查看: 13| 回复: 0

简介

什么是 Taskrr ?

Taskrr 是一个开源的、轻量级的周期任务追踪工具。它和传统的待办事项(To-Do)应用不同,关注的是"上次做这件事是什么时候"——比如浇花、清理除湿机滤网、备份 NAS、给水壶除垢,这些没有截止日期但有周期的事情。

项目采用 Go 语言开发,Web UISQLite 数据库都打包在一个约 12MB 的单一二进制文件中,运行时内存约 12MBCPU 占用不到 0.5%,非常适合在树莓派或任何小主机上常驻运行。

主要特点

  • 一键记录:每次做完一件事,点击 Quick log 即可记录,也可以选择具体时间和添加备注,历史记录支持编辑和撤销
  • 周期提醒:为任务设置周期(如“每 2 周”),卡片会从绿色渐变为红色,直观显示距离下次执行的剩余时间
  • 日历与活动图:内置月度日历查看已完成和即将到来的任务,附带近 30 天的活动统计图表
  • 灵活过滤:支持按“即将到期”、“已超期”、“从未做过”、“已归档”等维度过滤,支持批量操作
  • 标签与分组:支持标签搜索和筛选、文件夹分组,可按名称或上次完成时间排序
  • 多用户支持:支持多用户独立数据,本地密码登录和可选的 OIDC 单点登录(已适配 AuthentikPocket ID
  • 任务共享:管理员可开启任务共享,让多个用户协作管理同一任务
  • 后台管理:内置管理后台,支持用户管理、注册审批、活跃会话、运行日志、一键备份与恢复
  • Webhook 提醒:任务到期时可通过 Webhook 推送通知,支持 ntfyGotifyAppriseHome AssistantDiscord
  • 可定制主题:支持颜色自定义、明暗模式切换、动态背景、毛玻璃效果、浮动窗口
  • 开源免费:基于 MIT 协议开源,可免费使用和修改

应用场景

  • 家庭日常维护:记录浇花、清洁空调滤网、更换净水器滤芯等周期性家务
  • NAS 运维:跟踪硬盘健康检查、系统更新、数据备份等运维任务的执行情况
  • 设备保养:记录咖啡机除垢、车辆保养、家电维护等设备的定期保养
  • 团队协作:多用户共享周期任务,适合实验室设备巡检、仓库盘点等场景

Taskrr 是一个专注于“周期”而非“截止日期”的任务管理工具,填补了传统待办清单和日程管理之间的空白。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 1.14.1

由于镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行安装。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 taskrr 和 子目录
mkdir -p /volume1/docker/taskrr/data

# 进入 taskrr 目录
cd /volume1/docker/taskrr

# 修改目录权限
chmod a+rw data

# 一键启动
docker run -d \
  --name=taskrr \
  --restart=unless-stopped \
  -p 8787:8787 \
  -v $(pwd)/data:/data \
  ghcr.io/unmaykr-a/taskrr:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3.8'

services:
  taskrr:
    image: ghcr.io/unmaykr-a/taskrr:latest
    container_name: taskrr
    restart: unless-stopped
    ports:
      - "8787:8787"  # Web 管理界面
    volumes:
      - ./data:/data  # SQLite 数据库存储目录
    environment:
      TASKRR_ADDR: ":8787"  # 监听地址
      TASKRR_DB_PATH: "/data/taskrr.db"  # 数据库路径
      TASKRR_ADMIN_USERNAME: admin  # 初始管理员用户名
    healthcheck:
      test: ["CMD", "/taskrr", "-health"]
      interval: 60s
      timeout: 5s
      retries: 3
      start_period: 10s

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 taskrr 和 子目录
mkdir -p /volume1/docker/taskrr/data

# 进入 taskrr 目录
cd /volume1/docker/taskrr

# 修改目录权限
chmod a+rw data

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

环境变量

如需预设管理员密码或其他配置,在同级目录创建 .env 文件:

# 管理员密码(留空则在首次登录时设置)
TASKRR_ADMIN_PASSWORD=your_password

# 单用户模式(关闭注册和多用户功能)
TASKRR_LITE=true

# 如果使用 HTTPS 反向代理
TASKRR_COOKIE_SECURE=true

完整环境变量说明参见项目的 .env.example 文件。

提示:容器默认以 uid/gid 1000 运行,如果宿主机用户 ID 不同,可通过 TASKRR_UID / TASKRR_GID 环境变量调整。

运行

在浏览器中访问 http://<群晖IP>:8787 即可进入登录页面

首次使用使用默认用户名 admin 登录,密码随意,系统会提示设置密码

之后就可以创建任务了

点击 New Task 创建新任务

  • Name:名称可用于标识任务,例如 NAS 备份
  • Description:是认为的描述,为可选项;
  • Routine:勾选后可以设置周期频率,例如:every 7 days 就是每七天一个周期
  • Tags:标签也是可选的

创建任务后,可以在主界面看到

每次做完任务,点击 Quick log 记录完成时间,卡片会自动显示距离下次执行还有多久

项目提供了一个在线 Demo,可以在浏览器中体验完整功能:https://unmaykr-a.github.io/taskrr/

注意事项

  1. 数据备份:所有数据存储在 ./data/taskrr.db 文件中,备份只需复制该文件即可
  2. 端口冲突:默认端口 8787,如果冲突可以在 docker-compose.yml 中修改左侧映射端口
  3. 权限问题:容器默认以 uid/gid 1000 运行,如果文件权限有问题,通过环境变量 TASKRR_UID / TASKRR_GID 调整
  4. 反向代理:如果通过域名访问,建议使用 Nginx 或 Caddy 配置 HTTPS,并设置 TASKRR_COOKIE_SECURE=true
  5. 安全建议:建议通过反向代理配置 HTTPS,避免明文传输密码

参考文档

unmakyr-a/taskrr: A self-hosted tracker for when you last did things.
地址: https://github.com/unmaykr-a/taskrr  

Taskrr 在线 Demo
地址: https://unmaykr-a.github.io/taskrr/

更多实用工具分享,欢迎访问 云栈社区




上一篇:网络安全学习路线全图解:从小白到渗透测试实战顺序
下一篇:固体氧化物燃料电池如何破解AI数据中心供电困局:Bloom Energy的机遇与挑战分析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-7-21 19:19 , Processed in 0.965419 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表