需求

需要一款团队使用的 todolist,并且可以本地安装。

解决

最终选择了 vikunja, 使用 docker 在群晖上面,通过 portainer 来安装。

准备工作

  1. 群晖中,创建反代,3456 端口
  2. 群晖中,对证书进行设定
  3. 在 docker 的目录下面,创建文件夹 vikunja,和下面的子目录 data 和 db
  4. 准备好邮件提供商,可用的 smtp 参数
  5. 通过群晖自身的用户任务来获取 uid, gid

安装

  1. portainer 中,Registries 里面增加其他的镜像源,比如说: https://docker.registry.cyou
  2. portainer 中,local -> image 里面,通过可用镜像源,拉取 postgres:16 和 vikunja:0.24.2
  3. portainer 中,stack 中 新建 vikunja,输入以下内容,把里面的 XXX, YYY 以及文件目录和 uid 替换为自己的,然后 deploy 即可。
version: "3.9"
services:
  db:
    image: docker.registry.cyou/postgres:16
    container_name: Vikunja-DB
    hostname: vikunja-db
    mem_limit: 1gb
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "vikunja", "-U", "vikunjauser"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - /volume3/docker_files/vikunja/db:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_DB: vikunja
      POSTGRES_USER: vikunjauser
      POSTGRES_PASSWORD: vikunjapass
    restart: on-failure:5

  vikunja:
    image: docker.registry.cyou/vikunja/vikunja:0.24.2
    container_name: Vikunja
    hostname: vikunja
    mem_limit: 8g
    cpu_shares: 2048
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    ports:
      - 3456:3456
    environment:
      VIKUNJA_MAILER_ENABLED: "true"
      VIKUNJA_MAILER_HOST: smtp.163.com
      VIKUNJA_MAILER_PORT: 465
      VIKUNJA_MAILER_SKIPTLSVERIFY: "false"
      VIKUNJA_MAILER_AUTHTYPE: login
      VIKUNJA_MAILER_USERNAME: XXX@163.com
      VIKUNJA_MAILER_PASSWORD: YYY
      VIKUNJA_MAILER_FROMEMAIL: XXX@163.com
      VIKUNJA_DATABASE_HOST: vikunja-db
      VIKUNJA_DATABASE_PASSWORD: vikunjapass
      VIKUNJA_DATABASE_TYPE: postgres
      VIKUNJA_DATABASE_USER: vikunjauser
      VIKUNJA_DATABASE_DATABASE: vikunja
      VIKUNJA_SERVICE_JWTSECRET: YYY
      VIKUNJA_SERVICE_TIMEZONE: Asia/Shanghai
      VIKUNJA_SERVICE_PUBLICURL: https://vikunja.XXX:YYY
      VIKUNJA_SERVICE_ENABLEREGISTRATION: "true"
    volumes:
      - /volume3/docker_files/vikunja/data:/app/vikunja/files:rw
    restart: on-failure:5
    depends_on:
      db:
      condition: service_healthy

简单使用

  1. 刚装好的 vikunja 等待几分钟再开始用。
  2. 注册的时候,第一次注册,出现 network error 也正常,等几分钟,系统完全准备好了,就可以注册了。
  3. 注意,一定要把 project 共享给 team 或者他人之后,才能在这个 project 下面的 task 中 指定他人。否则找不到其他人。

多平台

支持 pc 和 android.

参考