Donetick

An open-source, user-friendly app for organizing tasks and chores effectively.

Access Donetick

  1. 打开浏览器并访问: https://<SERVER_IP>
  2. 浏览器可能会显示 SSL 警告(自签名证书)。
  3. Create a new account on first visit.

重要文件和目录

  • 安装目录: /opt/donetick
  • Docker Compose: /opt/donetick/docker-compose.yml
  • 配置文件: /opt/donetick/config/selfhosted.yaml
  • 数据目录: /opt/donetick/data
  • SQLite DB: /opt/donetick/data/donetick.db
  • Nginx config: /etc/nginx/sites-available/donetick
  • SSL证书: /etc/nginx/ssl/

管理服务

cd /opt/donetick

# Start
docker compose up -d

# Stop
docker compose down

# Restart container only
docker restart donetick

# Logs
docker logs -f donetick

Disable User Registration (Optional)

Edit config (/opt/donetick/config/selfhosted.yaml):

is_user_creation_disabled: true

Then restart:

cd /opt/donetick && docker compose restart donetick

为域名启用SSL

1. 将您的域名指向服务器IP地址。

2. Update the public_host in Donetick configuration (/opt/donetick/config/selfhosted.yaml):

public_host: "https://yourdomain.com"

3. Restart Donetick service:

cd /opt/donetick/
docker compose restart

4. 编辑 Nginx 配置文件并替换两处 server_name <IP>; 使用您的域名 (<yourdomain.com>) 同时适用于 HTTP(端口 80)和 HTTPS(端口 443)的封堵:

vim /etc/nginx/sites-available/donetick

5. 安装 Certbot:

apt install -y certbot python3-certbot-nginx

6. 运行以下命令生成有效的Let’s Encrypt证书:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

7. Replace SSL paths in Nginx config:

vim /etc/nginx/sites-available/donetick
# Before:
    # ssl_certificate /etc/nginx/ssl/donetick.crt;
    # ssl_certificate_key /etc/nginx/ssl/donetick.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

8. 重启 Nginx 以应用更改:

systemctl restart nginx

9. 打开浏览器并访问: https://yourdomain.com

Mobile App Requirement

  • If you plan to use the Android or iOS apps, your Donetick instance must be publicly accessible and served over HTTPS with a valid certificate. The mobile apps will not connect to a local-only or insecure HTTP address.
  • Set up a domain and configure SSL using Certbot and Let’s Encrypt as described above.

申请详情