跳到主要内容

Vikunja

官方网站

Vikunja是一个开源的待办事项管理工具,可以帮助个人和团队组织任务、项目和目标。

Docker方式安装

在安装Vikunja之前,请确保你的系统上已安装Docker和Docker Compose。

compose文件

创建compose.yml文件,内容如下:

version: '3'

services:
api:
image: vikunja/api
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: ${DB_PASSWORD}
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: ${JWT_SECRET}
VIKUNJA_SERVICE_FRONTENDURL: ${FRONTEND_URL}
volumes:
- ./files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped

frontend:
image: vikunja/frontend
restart: unless-stopped
ports:
- "80:80"
depends_on:
- api

db:
image: mariadb:10
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_USER: vikunja
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: vikunja
volumes:
- ./db_data:/var/lib/mysql
restart: unless-stopped

env文件

创建.env文件设置必要的环境变量:

DB_PASSWORD=your_database_password
DB_ROOT_PASSWORD=your_database_root_password
JWT_SECRET=your_random_jwt_secret
FRONTEND_URL=http://localhost/

请确保替换以上占位值为你自己的安全密码和URL。为了安全,JWT_SECRET应该是一个长的随机字符串。

启动

在包含compose.yml和.env文件的目录中执行以下命令启动Vikunja:

docker compose up -d

启动后,你可以通过浏览器访问http://localhost来打开Vikunja界面。首次访问时,你需要注册一个管理员账户。

配置文件

如果需要更高级的配置,可以创建自定义配置文件config.yml并挂载到容器中:

# 添加到compose.yml的api服务volumes部分
volumes:
- ./files:/app/vikunja/files
- ./config.yml:/app/vikunja/config.yml

完整的配置选项可参考官方文档:https://vikunja.io/docs/config-options/

重新启动

更新配置或环境变量后,需要重启服务使其生效:

docker compose down
docker compose up -d

备注

  1. 数据持久化:数据库数据存储在./db_data目录,文件附件存储在./files目录。请确保这些目录有适当的备份策略。

  2. 升级:升级Vikunja时,只需拉取最新镜像并重启容器:

    docker compose pull
    docker compose down
    docker compose up -d
  3. 安全建议:在生产环境中,建议配置HTTPS并使用反向代理(如Nginx或Traefik)来保护你的Vikunja实例。

  4. 故障排查:如遇问题,可以通过查看容器日志来诊断:

    docker compose logs -f api
  5. 资源限制:在资源有限的环境中,可以在compose.yml中为服务添加资源限制。