腾讯开源!双模式切换+实时协作,NAS部署QBin,极简却不简单

2025-05-10 12:23:43 11点赞 81收藏 2评论

亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!

引言

作为国内知名的大厂,鹅厂在国内的风评一直不是特别友好,但这其实完全是因为在游戏圈干的事造成的,仔细翻翻腾讯的github就能发现腾讯其实开源了很多项目,其中不乏一些优质好用的项目,例如腾讯开源的Markdown编辑器——cherry-markdown。

项目页项目页

但你以为熊猫这次要介绍的就是它?错了,cherry-markdown非常好用,但目前不支持Docker部署,且熊猫也没看到有人将其打包为镜像,熊猫也是懒狗,所以也懒得去打包镜像。但因为其开源加上非常好用的原因,围绕cherry-markdown又诞生了非常多好用的开源项目,这里要介绍的便是今天的主角——Qbin。

Qbin界面Qbin界面

项目介绍

QBin 致力于打造一个「快速、安全、便捷」的在线编辑与内容分享平台,适用于个人笔记、临时存储、多人协作、跨平台分享等多样化场景。

  • 前端完全使用 HTML、JavaScript 和 CSS 构建,不依赖臃肿框架,集成了 Monaco 代码编辑器、Cherry Markdown 渲染器和通用编辑器,全面适配各种内容创作需求;

  • 后端基于 Deno 的 Oak 框架搭配 Drizzle ORM,同时利用 Deno KV 和 Edge Cache 实现多级缓存机制,读写性能表现优异;

  • 支持 PWA 和 IndexedDB,即使在断网状态下也能继续编辑、保存并预览内容;

  • 可自定义访问路径、设置密码和过期时间,在保障隐私的前提下实现灵活分享;

  • 相较于传统 PasteBin,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其实都比较简陋,但能看出来底子还是不错的,感兴趣的可以自部署尝试。

以上便是本次分享的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!

尾图尾图

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
2评论

  • 精彩
  • 最新
  • 需要安装客户端的吗 [观察]

    校验提示文案

    提交
    不用啊

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
81
扫一下,分享更方便,购买更轻松