待办事项列表应用程序Vikunja

在这里插入图片描述

杨浦区防控办昨天傍晚发布了『 告杨浦居民书(二十二) 』,本周一、三、五、日晚间开展全区全员核酸筛查。比上周少了 2 次,说明情况应该是有所好转。


什么是 Vikunja ?

Vikunja (/vɪˈkuːnjə/) 是一个开源的待办事项列表应用程序。你可以用 Todo 应用程序来组织你的生活。Vikunja 前端采用 Vue.js,后端采用 go,基于 AGPLv3 协议 。

安装

建数据库

官方提供的 docker-compose 安装方式,需要另外安装 Mariadb 10 镜像,还是老套路,直接使用群晖自带的 Mariadb 10

在这里插入图片描述

phpMyAdmin 中创建了名为 vikunja 的空数据库。

在这里插入图片描述

设置文件

在群晖上以 Docker Compose 方式安装。

即使采用了群晖本身的数据库,Vikunja 依然涉及到前、后端两个镜像。

之前遇到前后端分离的项目,例如在线辅导工具 Nettu Meet、网易云播放器 YesPlayMusic 等,因为项目本身没有提供官方的镜像,当时为了容易安装,老苏把前、后端编到了一个镜像中,但这种方式并不符合微服务的软件架构,所以这次我们实践下官方提供的外部用 Nginx 做代理转发的方式,这种方式和老苏封装在里面的道理是一样的,好处是对外暴露的端口尽量的少。

原版的 nginx.conf 在这里:https://vikunja.io/docs/full-docker-example/#example-with-nginx-as-proxy

docker-compose.yml

老苏对官方的 docker-compose.yml 做了调整

version: '3'

services:
 api:
   image: vikunja/api
   container_name: vj_api
   environment:
     VIKUNJA_DATABASE_HOST: 192.168.0.197:3307
     VIKUNJA_DATABASE_TYPE: mysql
     VIKUNJA_DATABASE_USER: vikunja
     VIKUNJA_DATABASE_PASSWORD: 123456
     VIKUNJA_DATABASE_DATABASE: vikunja
   volumes: 
     - ./files:/app/vikunja/files
   restart: unless-stopped
 
 frontend:
   image: vikunja/frontend
   container_name: vj_web
   restart: unless-stopped
 
 proxy:
   image: nginx
   container_name: vj_nginx
   ports:
     - 3480:80
   volumes:
     - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
   depends_on:
     - api
     - frontend
   restart: unless-stopped

关于卷的说明如下

文件夹装载路径说明
docker/vikunja/files/app/vikunja/files存放上传文件,比如图片

环境变量参数的说明如下,需根据前面数据库设置做修改

范围默认
VIKUNJA_DATABASE_HOST数据库主机 IP + 端口
VIKUNJA_DATABASE_TYPE数据库类型,默认设为 mysql
VIKUNJA_DATABASE_USER数据库用户,默认设为 vikunja
VIKUNJA_DATABASE_PASSWORD数据库密码,对应用户 vikunja 的密码,上面的示例用了 123456
VIKUNJA_DATABASE_DATABASE数据库库名,默认设为 vikunja

nginx.conf

nginx.conf 来自官方的示例:https://vikunja.io/docs/full-docker-example/#example-with-nginx-as-proxy

这种设置不支持 gzip,官方有支持的版本,请自行修改

server {
    listen 80;

    location / {
        proxy_pass http://frontend:80;
    }

    location ~* ^/(api|dav|\.well-known)/ {
        proxy_pass http://api:3456;
        client_max_body_size 20M;
    }
}

开始安装

SSH 客户端登录群晖后,在命令行后执行下面的命令

# 新建文件夹 vikunja 和 子目录
mkdir -p /volume2/docker/vikunja/files

# 进入目录
cd /volume2/docker/vikunja

# 将 docker-compose.yml 和 nginx.conf 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3480 就能看到登录界面

在这里插入图片描述

需要先注册一个账号,再用这个账号登录,登录成功后的主界面

在这里插入图片描述

一个具体的任务

在这里插入图片描述

多个任务组成的列表

在这里插入图片描述

支持不同的视图方式,看板模式

甘特图模式,默认只有添加了起始和结束时间的任务才会显示

勾选 Show tasks which don't have dates set 之后

回到 Overview

在这里插入图片描述

参考文档

Vikunja
地址:https://github.com/go-vikunja

Full docker example | Vikunja
地址:https://vikunja.io/docs/full-docker-example/#example-with-nginx-as-proxy

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值