待办事项列表应用程序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/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相关推荐
- 小狗钱钱_✅每次构建待办事项列表应用程序时,都会有一只小狗? 死了?
小狗钱钱 by Hrishi Mittal 由Hrishi Mittal ✅每次构建待办事项列表应用程序时,都会有一只小狗 ? 死了? (✅ Every time you build a to-do ...
- 适用于Android的最佳免费待办事项列表应用程序以及如何使自己成才
如果您没有组织任务,那么跟踪任务可能会很麻烦. 这就是待办事项清单的帮助. 在这篇文章中,我将向您展示一些适用于Android的最佳免费待办事项列表应用程序. 然后,我将为您提供一些有关如何创建自己的 ...
- hyperapp 共享_使用Hyperapp(1KB JS微框架)构建待办事项列表
hyperapp 共享 在本教程中,我们将使用Hyperapp构建待办事项列表应用程序. 如果您想学习函数式编程原理,但又不想陷入细节,请继续阅读. Hyperapp现在很热门. 它最近在GitHub ...
- html待办事项表格代码,Go For It ,一个灵活的待办事项列表程序
导读 Go For It,是我们开源工具系列中的第十个工具,它将使你在 2019 年更高效,它在 Todo.txt 系统的基础上构建,以帮助你完成更多工作. 每年年初似乎都有疯狂的冲动想提高工作效率. ...
- linux 待办事项_Linux桌面的4个待办事项列表管理器
linux 待办事项 啊,卑微的待办事项清单. 如果使用不当,它将成为压力的源头和拖延的诱因. 如果使用得当,待办事项列表可以帮助您专注于需要做的事情. 保留待办事项清单的方法有几种. 您可以使用笔和 ...
- mysql待办事项表名_SSD8-Ex4待办事项列表答案参考
[实例简介] SSD8-Ex4待办事项列表答案参考:http://wangbaiyuan.cn/mysql-database-data-released-in-java-web-service-and ...
- html首页我的待办,JavaScript / HTML中的待办事项列表
我已经设置了这个待办事项列表,几乎所有东西都完美无缺.但是,如果我删除列表中的所有内容.它不会让我添加一个新的条目,我似乎无法弄明白为什么.只要我在列表中至少有一个条目,它就可以正常工作. 非常感谢任 ...
- mysql待办事项表名_Activiti中彻底解决待办事项列表查询复杂、API不友好的设计方案...
标签: 我们使用工作流引擎,一个非常重要的功能就是获取待办事项列表,在Activiti中,我们可以通过TaskService的相关API进行查询,这些API设计优雅,但是实际使用中往往不够方便,也缺乏 ...
- emacs .emacs_使用Emacs进行社交并跟踪您的待办事项列表
emacs .emacs 去年,我为您带来了19天的2019年新(给您)生产力工具.今年,我采用了不同的方法:使用您可能会使用的工具构建一个环境,使您在新的一年中提高生产力或可能尚未使用. 使用Ema ...
最新文章
- 图的遍历——DFS(邻接矩阵)
- .NET框架程序设计-.NET框架开发平台的体系架构概览(.NET程序本质)
- 【视频课】先搞懂你用的模型,深度学习模型分析课程来了!
- 同类分析比较工具 google trend
- python输出第几行第几个_python怎么PRINT出第几行
- (转)java动态代理与aop
- 无状态会话的ejb_Java EE状态会话Bean(EJB)示例
- ansible免密登录和账号登录方式
- cron 每天下午5点_下午5点30:沅江新沅路与琼湖路交叉路口...
- NYOJ 305 表达式求值 (字符串处理)
- JNIWrapper控件发布v3.8.4版本
- 没有躲过的坑--vector使用erase后迭代器变成野指针
- FabFilter Total Bundle 2021 Mac - 经典音频效果器合集
- Xamarin University-----Xamarin Mobile Certification Exam考试经历(还没写完)
- 单片机跑马灯12种c语言程序设计,基于单片机多模式带音乐跑马灯设计附完整程序代码.doc...
- 小米9下拉状态栏失效
- Safari浏览器插件 Tampermonkey
- 四种方法解决JumpGame
- oracle11g基于bootstrap$中的ind$表损坏系列五
- 64位CPU对于移动设备是没有意义
热门文章
- DWTask05 : SQL高级处理
- exif java orientation_数码照片Exif - Orientation 自动修正解决方案
- 上传图片时总是提示“非法图像文件”
- 〖产品思维训练白宝书 - 核心竞争力篇③〗- 产品经理核心竞争力解读之如何训练思辨力
- 计算机下面添加桌面,电脑系统教程_win7中如何在库中添加桌面
- python使用BeautifulSoup获取csdn单个博客文章字数
- 和利时LE5107_LE5106_自由口协议
- 【华为OD机试真题 JS】九宫格按键输入
- java视频通话_Android视频通话Java代码
- 相隔大洋,中国为什么能访问美国的网站?空中传输?卫星信号?