亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!
作为国内知名的大厂,鹅厂在国内的风评一直不是特别友好,但这其实完全是因为在游戏圈干的事造成的,仔细翻翻腾讯的github就能发现腾讯其实开源了很多项目,其中不乏一些优质好用的项目,例如腾讯开源的Markdown编辑器——cherry-markdown。
但你以为熊猫这次要介绍的就是它?错了,cherry-markdown非常好用,但目前不支持Docker部署,且熊猫也没看到有人将其打包为镜像,熊猫也是懒狗,所以也懒得去打包镜像。但因为其开源加上非常好用的原因,围绕cherry-markdown又诞生了非常多好用的开源项目,这里要介绍的便是今天的主角——Qbin。
QBin 致力于打造一个「快速、安全、便捷」的在线编辑与内容分享平台,适用于个人笔记、临时存储、多人协作、跨平台分享等多样化场景。
QBin支持SQlite数据库,也支持用PostgreSQL作为数据库,这里为了快速展示,熊猫就采用SQlite的方式部署,如果有需要独立数据库支持的,可以去项目页查看详细的文档(https://github.com/Quick-Bin)。
本次用到设备为绿联NAS,通过compose配置文件进行部署,在项目中新建项目,输入以下代码,其中一些映射项目需要你根据自身的NAS环境进行更改,例如端口或者文件夹映射目录等等。
services:
qbin:
image: naiher/qbin:latest
container_name: qbin-app
restart: always
environment:
# 必选环境变量
- ADMIN_EMAIL=admin@qbin.github # 请修改为你的邮箱
- ADMIN_PASSWORD=qbin # 请修改为安全的密码
- JWT_SECRET=change_this_to_a_secure_random_string # 请修改为随机安全字符串
# 可选环境变量
- PORT=8000
- TOKEN_EXPIRE=31536000
- MAX_UPLOAD_FILE_SIZE=52428800
- DB_CLIENT=sqlite
- DATABASE_URL="file:/app/src/qbin_local.db"
volumes:
- qbin-data:/app/src # 持久化存储数据库文件
ports:
- "8000:8000"
networks:
- qbin-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
volumes:
qbin-data: # 定义用于存储SQLite数据库的卷
driver: local
networks:
qbin-network:
driver: bridge
internal: false
如果用SQlite作为数据库,需要注释掉DATABASE_URL,反之则注释掉DB_CLIENT,具体根据自身需求来设置即可,以上代码只是作为例子,一定要切记更改其中的内容。
确定好所有的变量以及映射之后点击立即部署,绿联会自动拉取并根据参数部署项目,这时候我们注意查看日志,出现这样的字样也就代表项目部署成功了。
来到项目界面,整个界面非常简洁,首页有三种编辑器选择,请分别是通用编辑器、code代码编辑器以及Markdown编辑器,根据需求选择不同的编辑器就行。
左边菜单的分享和回收站功能暂未开放,毕竟项目还是比较新的,期待后续开发,存储管理中因为是新建项目,所以没有任何内容。
熊猫经常用的是Markdown编辑器,点击之后会跳转到markd编辑器界面,整个界面采用的就是腾讯开源的cherry-markdown作为框架和渲染效果。
编辑器除了支持常规的Markdown语法,还支持各种文件的插入,例如表格、pdf、word甚至文件,预览界面也做了渲染优化。
右上方直接字数统计,同时通过设置菜单可进行一键编辑器切换,切换的同时内容会自动跟随进行格式转换,文件也支持访问加密。
项目处于初期阶段,很多东西还并不完善,甚至连UI其实都比较简陋,但能看出来底子还是不错的,感兴趣的可以自部署尝试。
以上便是本次分享的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!