搬瓦工部署 Vikunja 任务管理工具完整教程
Vikunja 是一款开源的任务管理和待办事项工具,可以作为 Todoist 或 Trello 的自托管替代品。它提供了列表视图、看板视图、甘特图和表格视图等多种展示方式,支持标签、优先级、截止日期、提醒、附件和团队协作等功能。Vikunja 轻量高效,非常适合在搬瓦工 VPS 上部署。
一、准备工作
1.1 系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:512MB 即可流畅运行。
- 磁盘空间:程序约 50MB。
- Docker:需提前安装,参考 Docker 安装教程。
1.2 创建目录
mkdir -p /opt/vikunja/files
mkdir -p /opt/vikunja/db
二、Docker Compose 部署
2.1 创建配置文件
cd /opt/vikunja
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
restart: unless-stopped
ports:
- "3456:3456"
environment:
VIKUNJA_DATABASE_TYPE: sqlite
VIKUNJA_DATABASE_PATH: /db/vikunja.db
VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
VIKUNJA_SERVICE_TIMEZONE: Asia/Shanghai
VIKUNJA_SERVICE_ENABLEREGISTRATION: "true"
VIKUNJA_MAILER_ENABLED: "false"
volumes:
- ./files:/app/vikunja/files
- ./db:/db
EOF
如果需要使用 MySQL 或 PostgreSQL 数据库,可以修改 VIKUNJA_DATABASE_TYPE 并添加对应的数据库服务。SQLite 对于个人和小团队使用完全足够。
2.2 使用 PostgreSQL 的配置(可选)
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
db:
image: postgres:16-alpine
container_name: vikunja-db
restart: unless-stopped
environment:
POSTGRES_USER: vikunja
POSTGRES_PASSWORD: your_db_password
POSTGRES_DB: vikunja
volumes:
- ./db:/var/lib/postgresql/data
vikunja:
image: vikunja/vikunja:latest
container_name: vikunja
restart: unless-stopped
depends_on:
- db
ports:
- "3456:3456"
environment:
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_PASSWORD: your_db_password
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
VIKUNJA_SERVICE_TIMEZONE: Asia/Shanghai
VIKUNJA_SERVICE_ENABLEREGISTRATION: "true"
volumes:
- ./files:/app/vikunja/files
EOF
2.3 启动服务
docker compose up -d
2.4 访问界面
浏览器访问 http://你的服务器IP:3456,注册第一个账户即可开始使用。
三、核心功能
3.1 项目与任务
Vikunja 使用「项目」来组织任务。每个项目可以包含多个任务,任务支持以下属性:
- 标题和描述:支持 Markdown 格式。
- 截止日期:设置任务的完成期限。
- 优先级:从低到紧急共 5 个级别。
- 标签:用颜色标签分类任务。
- 分配:将任务分配给团队成员。
- 附件:上传相关文件。
- 子任务:将复杂任务分解为更小的步骤。
- 提醒:在指定时间发送提醒通知。
3.2 多种视图
Vikunja 提供四种任务展示方式:
- 列表视图:传统的任务列表,适合快速浏览和编辑。
- 看板视图:类似 Trello 的拖拽看板,按状态或桶分组。
- 甘特图:可视化项目时间线和任务依赖关系。
- 表格视图:电子表格式展示,方便批量编辑。
3.3 筛选与搜索
Vikunja 提供强大的筛选功能,可以按标签、优先级、截止日期、分配人等条件筛选任务。可以保存常用的筛选条件作为「收藏筛选器」。
四、团队协作
4.1 共享项目
在项目设置中,可以邀请其他用户加入项目,并设置不同的权限级别(查看/编辑/管理)。也可以通过分享链接邀请外部用户。
4.2 命名空间
Vikunja 使用命名空间来组织多个项目。你可以创建不同的命名空间,例如「工作」「个人」「团队项目」,每个命名空间下包含多个相关项目。
五、集成功能
5.1 CalDAV 日历同步
Vikunja 支持 CalDAV 协议,可以将任务同步到 Thunderbird、iOS 日历、DAVx5 等客户端。CalDAV 地址为 https://tasks.example.com/dav/。
5.2 导入数据
Vikunja 支持从多个平台导入数据,包括 Todoist、Trello、Microsoft To-Do 和 Vikunja JSON 格式。在「设置」→「导入」中进行操作。
5.3 API 接口
Vikunja 提供完整的 REST API,可以用于自动化和第三方集成。API 文档地址为 https://tasks.example.com/api/v1/docs。
六、Nginx 反向代理
server {
listen 443 ssl http2;
server_name tasks.example.com;
ssl_certificate /etc/letsencrypt/live/tasks.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tasks.example.com/privkey.pem;
client_max_body_size 20M;
location / {
proxy_pass http://127.0.0.1:3456;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
七、维护与更新
7.1 更新 Vikunja
cd /opt/vikunja
docker compose pull
docker compose up -d
7.2 备份数据
# SQLite 备份
cp /opt/vikunja/db/vikunja.db /opt/vikunja/db/vikunja.db.backup
# PostgreSQL 备份
docker exec vikunja-db pg_dump -U vikunja vikunja > vikunja-db.sql
# 备份附件
tar -czf vikunja-files.tar.gz -C /opt/vikunja files/
总结
Vikunja 是一款轻量但功能齐全的任务管理工具,多种视图模式和丰富的任务属性让它适用于个人和团队使用。在搬瓦工 VPS 上部署后,你可以随时随地管理自己的待办事项和项目进度。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。