Vikunja
官方网站
Vikunja是一个开源的待办事项管理工具,可以帮助个人和团队组织任务、项目和目标。
- 官方网站:https://vikunja.io/
- GitHub仓库:https://github.com/go-vikunja/vikunja
- 官方文档:https://vikunja.io/docs/
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
备注
-
数据持久化:数据库数据存储在
./db_data
目录,文件附件存储在./files
目录。请确保这些目录有适当的备份策略。 -
升级:升级Vikunja时,只需拉取最新镜像并重启容器:
docker compose pull
docker compose down
docker compose up -d -
安全建议:在生产环境中,建议配置HTTPS并使用反向代理(如Nginx或Traefik)来保护你的Vikunja实例。
-
故障排查:如遇问题,可以通过查看容器日志来诊断:
docker compose logs -f api
-
资源限制:在资源有限的环境中,可以在compose.yml中为服务添加资源限制。