杨浦区防控办昨天傍晚发布了『 告杨浦居民书(二十二) 』,本周一、三、五、日晚间开展全区全员核酸筛查。比上周少了 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/apicontainer_name: vj_apienvironment:VIKUNJA_DATABASE_HOST: 192.168.0.197:3307VIKUNJA_DATABASE_TYPE: mysqlVIKUNJA_DATABASE_USER: vikunjaVIKUNJA_DATABASE_PASSWORD: 123456VIKUNJA_DATABASE_DATABASE: vikunjavolumes: - ./files:/app/vikunja/filesrestart: unless-stoppedfrontend:image: vikunja/frontendcontainer_name: vj_webrestart: unless-stoppedproxy:image: nginxcontainer_name: vj_nginxports:- 3480:80volumes:- ./nginx.conf:/etc/nginx/conf.d/default.conf:rodepends_on:- api- frontendrestart: 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

待办事项列表应用程序Vikunja相关推荐

  1. 小狗钱钱_✅每次构建待办事项列表应用程序时,都会有一只小狗? 死了?

    小狗钱钱 by Hrishi Mittal 由Hrishi Mittal ✅每次构建待办事项列表应用程序时,都会有一只小狗 ? 死了? (✅ Every time you build a to-do ...

  2. 适用于Android的最佳免费待办事项列表应用程序以及如何使自己成才

    如果您没有组织任务,那么跟踪任务可能会很麻烦. 这就是待办事项清单的帮助. 在这篇文章中,我将向您展示一些适用于Android的最佳免费待办事项列表应用程序. 然后,我将为您提供一些有关如何创建自己的 ...

  3. hyperapp 共享_使用Hyperapp(1KB JS微框架)构建待办事项列表

    hyperapp 共享 在本教程中,我们将使用Hyperapp构建待办事项列表应用程序. 如果您想学习函数式编程原理,但又不想陷入细节,请继续阅读. Hyperapp现在很热门. 它最近在GitHub ...

  4. html待办事项表格代码,Go For It ,一个灵活的待办事项列表程序

    导读 Go For It,是我们开源工具系列中的第十个工具,它将使你在 2019 年更高效,它在 Todo.txt 系统的基础上构建,以帮助你完成更多工作. 每年年初似乎都有疯狂的冲动想提高工作效率. ...

  5. linux 待办事项_Linux桌面的4个待办事项列表管理器

    linux 待办事项 啊,卑微的待办事项清单. 如果使用不当,它将成为压力的源头和拖延的诱因. 如果使用得当,待办事项列表可以帮助您专注于需要做的事情. 保留待办事项清单的方法有几种. 您可以使用笔和 ...

  6. mysql待办事项表名_SSD8-Ex4待办事项列表答案参考

    [实例简介] SSD8-Ex4待办事项列表答案参考:http://wangbaiyuan.cn/mysql-database-data-released-in-java-web-service-and ...

  7. html首页我的待办,JavaScript / HTML中的待办事项列表

    我已经设置了这个待办事项列表,几乎所有东西都完美无缺.但是,如果我删除列表中的所有内容.它不会让我添加一个新的条目,我似乎无法弄明白为什么.只要我在列表中至少有一个条目,它就可以正常工作. 非常感谢任 ...

  8. mysql待办事项表名_Activiti中彻底解决待办事项列表查询复杂、API不友好的设计方案...

    标签: 我们使用工作流引擎,一个非常重要的功能就是获取待办事项列表,在Activiti中,我们可以通过TaskService的相关API进行查询,这些API设计优雅,但是实际使用中往往不够方便,也缺乏 ...

  9. emacs .emacs_使用Emacs进行社交并跟踪您的待办事项列表

    emacs .emacs 去年,我为您带来了19天的2019年新(给您)生产力工具.今年,我采用了不同的方法:使用您可能会使用的工具构建一个环境,使您在新的一年中提高生产力或可能尚未使用. 使用Ema ...

最新文章

  1. 图的遍历——DFS(邻接矩阵)
  2. .NET框架程序设计-.NET框架开发平台的体系架构概览(.NET程序本质)
  3. 【视频课】先搞懂你用的模型,深度学习模型分析课程来了!
  4. 同类分析比较工具 google trend
  5. python输出第几行第几个_python怎么PRINT出第几行
  6. (转)java动态代理与aop
  7. 无状态会话的ejb_Java EE状态会话Bean(EJB)示例
  8. ansible免密登录和账号登录方式
  9. cron 每天下午5点_下午5点30:沅江新沅路与琼湖路交叉路口...
  10. NYOJ 305 表达式求值 (字符串处理)
  11. JNIWrapper控件发布v3.8.4版本
  12. 没有躲过的坑--vector使用erase后迭代器变成野指针
  13. FabFilter Total Bundle 2021 Mac - 经典音频效果器合集
  14. Xamarin University-----Xamarin Mobile Certification Exam考试经历(还没写完)
  15. 单片机跑马灯12种c语言程序设计,基于单片机多模式带音乐跑马灯设计附完整程序代码.doc...
  16. 小米9下拉状态栏失效
  17. Safari浏览器插件 Tampermonkey
  18. 四种方法解决JumpGame
  19. oracle11g基于bootstrap$中的ind$表损坏系列五
  20. 64位CPU对于移动设备是没有意义

热门文章

  1. DWTask05 : SQL高级处理
  2. exif java orientation_数码照片Exif - Orientation 自动修正解决方案
  3. 上传图片时总是提示“非法图像文件”
  4. 〖产品思维训练白宝书 - 核心竞争力篇③〗- 产品经理核心竞争力解读之如何训练思辨力
  5. 计算机下面添加桌面,电脑系统教程_win7中如何在库中添加桌面
  6. python使用BeautifulSoup获取csdn单个博客文章字数
  7. 和利时LE5107_LE5106_自由口协议
  8. 【华为OD机试真题 JS】九宫格按键输入
  9. java视频通话_Android视频通话Java代码
  10. 相隔大洋,中国为什么能访问美国的网站?空中传输?卫星信号?