别再记在便签上了!用Docker搭建Vikunja,打造你的专属任务管理
Vikunja是什么?
Vikunja 是一款优秀的开源任务管理工具,以简洁直观的界面和全面功能满足个人与团队的多场景需求。它不仅涵盖任务创建、优先级设置、标签分类、子任务管理等基础功能,还提供列表、看板、甘特图、表格等多种视图模式,搭配 Markdown 编辑、附件上传、任务评论与实时协作功能,无论是整理个人日常琐事、规划学习目标,还是分配团队工作、跟踪项目进度都能轻松应对。
应用特点:
多层级项目管理:支持主项目/子项目分层管理,可灵活使用列表/看板/甘特图/表格四类视图组织任务
多视图支持:,提供多种任务查看方式,包括经典的列表视图、甘特图、表格视图以及看板(Kanban Board),满足不同用户的偏好和需求
协作生态:提供团队共享、任务分配、评论交互功能,支持WebDAV协议文件同步
中小团队协作:支持角色权限分配,实时同步任务状态变更,适用于敏捷开发等场景
替代商业软件:作为Todoist、滴答清单的开源替代方案,提供更轻量级界面和本地化数据管控
可访问演示Demo进行体验:
https://try.vikunja.io/login
image-20260206010221764二、部署实战
推荐使用Docker Compose部署,包含前后端分离架构,支持MariaDB/MySQL/SQLite三种数据库方案
2.1、SQLite数据库方式
1、创建本地文件夹,存储本地数据映射
mkdir -p /opt/vikunja
cd /opt/vikunja
2、使用Docker Compose
services:
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
environment:
- VIKUNJA_SERVICE_PUBLICURL=http://192.168.5.100:3456
- VIKUNJA_SERVICE_JWTSECRET=45c1428dbdf63826b7b1a999e012df3b
- VIKUNJA_DATABASE_PATH=/db/vikunja.db
ports:
- 3456:3456
volumes:
- ./files:/app/vikunja/files
- ./db:/db
restart: unless-stopped
SQLlite本地数据库地址映射
./files:/app/vikunja/files
文件存储映射:
./db:/db
3、使用Docker命令
下载Docker镜像:
docker pull vikunja/vikunja
使用Docker命令启动容器
docker run
-itd
--name vikunja
-p 3456:3456 #自定义端口
-v /opt/vikunja/files:/app/vikunja/files #自定义文件存储路径
-v /opt/vikunja/db:/db #自定义数据库存储路径
vikunja/vikunja
2.2、MYSQL数据库方式
Docker Compose文件
1、使用连接现有Mysql数据库,只创建vikunja
version: '3'
services:
vikunja:
image: vikunja/vikunja
environment:
- TZ: Asia/Shanghai
- VIKUNJA_SERVICE_PUBLICURL: http://<这里填NAS的局域网地址>
- VIKUNJA_DATABASE_TYPE: mysql
- VIKUNJA_DATABASE_HOST: 192.168.1.100
- VIKUNJA_DATABASE_DATABASE: vikunja
- VIKUNJA_DATABASE_USER: vikunja
- VIKUNJA_DATABASE_PASSWORD: password
- VIKUNJA_SERVICE_JWTSECRET: 45c1428dbdf63826b7b1a999e012df3b
ports:
- 3456:3456 #自定义端口
volumes:
- ./files:/app/vikunja/files #持久化存储配置,需小伙伴自定义文件存储路径
参数解释:
#选择数据库类型
VIKUNJA_DATABASE_TYPE: mysql
#配置链接mysql数据库
- VIKUNJA_DATABASE_HOST: 192.168.1.100
- VIKUNJA_DATABASE_DATABASE: vikunja
- VIKUNJA_DATABASE_USER: vikunja
- VIKUNJA_DATABASE_PASSWORD: password
2、你可以创建vikunja服务+Mysqls数据库组合
services:
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
environment:
- VIKUNJA_SERVICE_PUBLICURL=http://192.168.31.90:3456
- VIKUNJA_SERVICE_JWTSECRET=74eBQyirDWKwog8syDktUk9vuQKXTVoE
- VIKUNJA_DATABASE_TYPE=mysql
- VIKUNJA_DATABASE_HOST=db
- VIKUNJA_DATABASE_PASSWORD=changeme
- VIKUNJA_DATABASE_USER=vikunja
- VIKUNJA_DATABASE_DATABASE=vikunja
ports:
- 3456:3456
volumes:
- ./files:/app/vikunja/files
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: mariadb:10
container_name: vikunja-db
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: supersecret
MYSQL_USER: vikunja
MYSQL_PASSWORD: changeme
MYSQL_DATABASE: vikunja
volumes:
- ./db:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD"]
interval: 2s
start_period: 30s
restart: unless-stopped
三、vikunja应用使用教程和技巧
3.1、访问登录
首次登录需要自己注册账号密码,访问NAS ip:port,注册管理员账号
image-20260206010241189项目自带中文,整体页面十分清爽,首页包含概览、即将开始(任务)、项目、标签、团队等功能
image-202602060102497433.2、创建任务
在概览任务框,可快速待办任务
比如创建一个:今天截止,任务等级4(高等级),任务标签:测试
image-20260206010258722看下效果:
image-20260206010306539任务支持Magic语法:
点击任务框的问号,可查看详细语法
image-202602060103146953.2、创建团队
先来搞个团队,支持建立多个团队,并对团队的人员进行分配
image-20260206010324971添加团队描述、团队成员分配
image-202602060103304503.3、创建项目
点击+新项目按钮
image-20260206010338423创建任务后,可对项目进行管理,添加TodoList
image-20260206010343568待办任务清单,支持列表、甘特图、表格、看板四个视图
1)列表视图
image-202602060103491182)甘特图
甘特图,需要给任务配置开始时间、截止时间
image-202602060103543013)看板视图
image-202602060103590803.4、任务编辑框详解
任务编辑设置项示例:
image-202602060104066543.5、键盘快捷键
image-20260206010412501作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
