高效管理任务与家务的解决方案Donetick

简介

什么是 Donetick ?

Donetick 是一个开源、用户友好的任务和事务管理应用程序,帮助用户有效地组织和管理日常任务和家务。该应用程序具有可定制的选项,适合个人和团队使用,以提高组织效率。

主要特点

  1. 任务与事务管理:支持个人和团队的任务创建与管理,用户可以与家人和朋友共享或分配任务。
  2. 自然语言任务创建:用户可以用自然语言描述任务,系统自动提取日期、时间和重复模式。
  3. 灵活的调度选项:支持每日、每周、每月和自适应调度,自动建议到期日期。
  4. 任务分配轮换:自动根据完成任务的数量轮换分配任务,确保公平。
  5. 时间跟踪与洞察:跟踪任务所花费的时间,可以查看单个会话或多个会话的统计。
  6. 子任务与优先级:支持将任务拆分为子任务,并可设置优先级和标签以便于组织。
  7. 照片附件:允许用户将照片直接附加到任务中,支持本地存储和云服务。
  8. NFC 标签支持:通过扫描 NFC 标签快速标记任务为已完成。
  9. 多平台通知:通过移动应用、TelegramDiscord 等多种渠道发送提醒。
  10. REST API:提供完整的 REST API 接口,方便用户进行自定义自动化和集成。

应用场景

  1. 家庭管理:适合家庭成员之间的任务分配和管理,促进家庭协作。
  2. 团队协作:支持团队项目管理,方便团队成员之间的沟通与协作。
  3. 个人效率:帮助个人用户规划日常任务,提高工作和生活效率。
  4. 教育机构:教师和学生可以使用 Donetick 来管理学习任务和项目。

Donetick 提供了一系列强大的功能,旨在帮助用户更好地组织任务,提升工作和生活的效率。

准备

Donetick 使用基于 YAML 的配置系统,通过环境变量和selfhosted.yaml文件进行管理

官方的示例:https://github.com/donetick/donetick/blob/main/config/selfhosted.yaml

老苏弄了个最简单的版本,能让 Donetick 跑起来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
name: "selfhosted"
is_done_tick_dot_com: false
is_user_creation_disabled: false
database:
type: "sqlite"
migration: true
jwt:
secret: bjP8LtuQ5ZtV82LYiPsi9vgFWuDp6wKN
session_time: 168h
max_refresh: 168h
server:
port: 2021
read_timeout: 10s
write_timeout: 10s
rate_period: 60s
rate_limit: 300
cors_allow_origins:
- "http://localhost:5173"
- "http://localhost:7926"
# the below are required for the android app to work
- "https://localhost"
- "capacitor://localhost"
serve_frontend: true
logging:
level: "info"
encoding: "json"
development: false
scheduler_jobs:
due_job: 30m
overdue_job: 3h
pre_due_job: 3h
realtime:
enabled: true
sse_enabled: true
heartbeat_interval: 60s
connection_timeout: 120s
max_connections: 1000
max_connections_per_user: 5
event_queue_size: 2048
cleanup_interval: 2m
stale_threshold: 5m
enable_compression: true
enable_stats: true
allowed_origins:
- "*"

如果你要使用 postgres 数据库,邮件、或者通知,可以看看参数的详细说明:https://docs.donetick.com/getting-started/configration

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 donetick ,选择第一个 donetick/donetick,版本选择 latest

本文写作时, latest 版本对应为 v0.1.53

docker 文件夹中,创建一个新文件夹 donetick,并在其中建两个子文件夹 configdata

将准备的 selfhosted.yaml 放入到 config 目录

文件夹 装载路径 说明
docker/donetick/config /config 存放配置文件 selfhosted.yaml
docker/donetick/data /donetick-data 存放数据库 donetick.db

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
2021 2021

环境

可变
DT_ENV 设为 selfhosted,用于自托管实例和 homeassistant 插件
DT_SQLITE_PATH 设置数据库目录和文件为 /donetick-data/donetick.db

命令行安装

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 新建文件夹 donetick 和 子目录
mkdir -p /volume1/docker/donetick/{config,data}

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

# 将 selfhosted.yaml 放入 config 目录

# 运行容器
docker run -d \
--restart unless-stopped \
--name donetick \
-p 2021:2021 \
-v $(pwd)/config:/config \
-v $(pwd)/data:/donetick-data \
-e DT_ENV=selfhosted \
-e DT_SQLITE_PATH=/donetick-data/donetick.db \
donetick/donetick

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "3"

services:
donetick:
image: donetick/donetick
container_name: donetick
restart: unless-stopped
ports:
- 2021:2021
volumes:
- ./data:/donetick-data
- ./config:/config
environment:
- DT_ENV=selfhosted
- DT_SQLITE_PATH=/donetick-data/donetick.db

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
# 新建文件夹 donetick 和 子目录
mkdir -p /volume1/docker/donetick/{config,data}

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:2021 就能看到登录界面,第一次要注册账号

如果一直停留在这个界面,点 Navigate Back

就会返回到主界面

点右下角的 + 号,属于正常的新建任务

用软件翻译成中文之后,一看就明白

右下角的闪电按钮,是实验功能,用于智能任务创建。意思就是 Donetick 能自动解析简单的自然语言的句子,来创建任务,例如:

1
2
3
Take out trash tomorrow P1 (明天倒垃圾P1)
Water plants every Monday (每周一给植物浇水)
Buy groceries next Friday at 5pm (下周五下午5点买杂货)

智能解析器会在您键入时以不同的颜色突出显示识别的元素,以便您了解它理解的内容

但是完全不支持中文,真是遗憾

建了 2 个任务

手机浏览器中的效果也还可以,所以就当个任务管理器也不错

参考文档

donetick/donetick: Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized
地址:https://github.com/donetick/donetick

donetick.com
地址:https://donetick.com/

Selfhosting Donetick | Donetick
地址:https://docs.donetick.com/getting-started/