to do 工具 Vikunja 的安装与使用
内容提要
Vikunja 是一款待办事项管理工具,支持甘特图、看板和表格视图,用户可以设置任务优先级、截止日期和文件附件。文章详细介绍了如何使用 MySQL 和 PostgreSQL 部署 Vikunja,包括环境变量和健康检查设置。
延伸解读
数据库选型:MySQL 与 PostgreSQL 的部署差异
文章给出了 MySQL 和 PostgreSQL 两种部署方案。MySQL 方案使用 mariadb:10 镜像,PostgreSQL 方案使用 postgres:16 镜像。两者都需要在 Vikunja 服务中设置 VIKUNJA_DATABASE_TYPE 为对应类型,并配置主机、用户、密码和数据库名。健康检查命令也不同:MySQL 用 mysqladmin ping,PostgreSQL 用 pg_isready。选择时需根据现有数据库环境决定。
健康检查与依赖启动:确保数据库就绪
两个部署示例都通过 depends_on 配合 condition: service_healthy 让 Vikunja 等待数据库健康后再启动。健康检查间隔设为 2 秒,MySQL 还设置了 30 秒的 start_period。这能避免因数据库未就绪导致 Vikunja 启动失败。实际部署时,如果数据库启动较慢,可适当调整这些参数。
关键环境变量:公网地址与 JWT 密钥
部署时必须设置 VIKUNJA_SERVICE_PUBLICURL 为 Vikunja 可访问的公网地址,否则部分功能可能异常。同时 VIKUNJA_SERVICE_JWTSECRET 需替换为足够安全的随机字符串,用于令牌签名。示例中密码均为占位符,生产环境应改为强密码。这些变量在 MySQL 和 PostgreSQL 方案中均需配置。
数据持久化与可选组件
示例通过卷映射持久化数据:Vikunja 的文件目录映射到 ./files,数据库数据映射到 ./db。文章还展示了使用 SQLite 的简化配置,通过 VIKUNJA_DATABASE_PATH 指定数据库文件位置。此外,可启用 Redis 作为缓存,设置 VIKUNJA_REDIS_ENABLED 和 VIKUNJA_CACHE_TYPE 等变量。这些选项适合不同规模的使用场景。
Q&A
Vikunja 是什么类型的工具?
Vikunja 是一款待办事项管理工具,支持甘特图、看板和表格视图。
如何在 MySQL 中部署 Vikunja?
在 MySQL 中部署 Vikunja 需要设置环境变量,包括数据库主机、用户和密码等。
Vikunja 支持哪些任务管理功能?
用户可以设置任务优先级、截止日期和文件附件,创建过滤器和分配任务。
部署 Vikunja 时需要注意哪些健康检查?
健康检查设置确保数据库服务正常运行,例如使用 mysqladmin 或 pg_isready 命令进行检查。
Vikunja 如何与 PostgreSQL 配合使用?
在 PostgreSQL 中部署 Vikunja 也需要设置类似的环境变量,包括数据库主机、用户和密码。
Vikunja 的主要特点是什么?
Vikunja 的主要特点包括支持多种视图(甘特图、看板、表格),以及任务优先级和截止日期的设置。