需求
需要一款团队使用的 todolist,并且可以本地安装。
解决
最终选择了 vikunja, 使用 docker 在群晖上面,通过 portainer 来安装。
准备工作
- 群晖中,创建反代,3456 端口
- 群晖中,对证书进行设定
- 在 docker 的目录下面,创建文件夹 vikunja,和下面的子目录 data 和 db
- 准备好邮件提供商,可用的 smtp 参数
- 通过群晖自身的用户任务来获取 uid, gid
安装
- portainer 中,Registries 里面增加其他的镜像源,比如说: https://docker.registry.cyou
- portainer 中,local -> image 里面,通过可用镜像源,拉取 postgres:16 和 vikunja:0.24.2
- 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
简单使用
- 刚装好的 vikunja 等待几分钟再开始用。
- 注册的时候,第一次注册,出现 network error 也正常,等几分钟,系统完全准备好了,就可以注册了。
- 注意,一定要把 project 共享给 team 或者他人之后,才能在这个 project 下面的 task 中 指定他人。否则找不到其他人。
多平台
支持 pc 和 android.
- pc 可以在 https://vikunja.io/docs/desktop-packages 下载
- android 可以在 https://github.com/go-vikunja/app 下载。但是现在的版本还比较初级,建议暂时还是通过 android 浏览器来进行访问,效果会更好一点。