什么是 HedgeDoc ?

HedgeDoc 是一个开源的、基于 web 的、自托管的、协作的markdown编辑器。您可以使用它轻松地在笔记、图形甚至演示文稿上进行实时协作。用户需要做的就是将你的笔记链接分享给同事,他们就可以开始使用了。

不想自己搭建可以试试官方的 Demo 网站:https://demo.hedgedoc.org/

安装

建数据库

HedgeDoc 还需要安装 MariaDB 或者 PostgreSQL 数据库。老苏选择了群晖自带的 MariaDB 10 数据库。

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

为了演示方便,后面假设密码是:123456

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 hedgedoc ,选择第一个 linuxserver/hedgedoc,版本选 latest

docker 文件夹中,创建一个新文件夹 hedgedoc,并在其中建 1 个子文件夹 config

文件夹 装载路径 说明
docker/hedgedoc/config /config 设置目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3070 3070

默认容器端口为 3000

但我们要通过环境变量修改,使得 本地端口容器端口 保持一直

只要本地端口不是 804433000,就需要设置 CMD_PORT 改变容器端口

环境

可变
DB_HOST 数据库的地址
DB_PORT 数据库的端口
DB_NAME 数据库的库名
DB_USER 数据库的用户
DB_PASS 数据库的密码
PGID <UserID> 默认设为 1000
PUID <GroupID > 默认设为 1000
TZ 时区设置,默认设置为 Asia/Shanghai
CMD_DOMAIN HedgeDoc 主机地址
CMD_URL_ADDPORT 默认为 true,只有容器端口使用 80 或者 443 时才设为 false
CMD_PROTOCOL_USESSL 如果反代后用 https 协议访问,设为 true
CMD_PORT 用于修改容器端口

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 hedgedoc 和 子目录
mkdir -p /volume2/docker/hedgedoc/config# 进入 hedgedoc 目录
cd /volume2/docker/hedgedoc# 运行容器
docker run -d \--restart unless-stopped \--name hedgedoc \-p 3070:3070 \-v $(pwd)/config:/config \-e DB_HOST=192.168.0.197 \-e DB_PORT=3307 \-e DB_USER=hedgedoc \-e DB_PASS=123456 \-e DB_NAME=hedgedoc \-e PGID=1000 \-e PUID=1000 \-e TZ=Asia/Shanghai \-e CMD_DOMAIN=192.168.0.197 \-e CMD_URL_ADDPORT=true \-e CMD_PROTOCOL_USESSL=false \-e CMD_PORT=3070 \linuxserver/hedgedoc

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3"services:hedgedoc:image: linuxserver/hedgedoccontainer_name: hedgedocrestart: alwaysports:- "3070:3070"volumes:- ./config:/configenvironment:- DB_HOST=192.168.0.197- DB_PORT=3307- DB_USER=hedgedoc- DB_PASS=123456- DB_NAME=hedgedoc- PGID=1000- PUID=1000- TZ=Asia/Shanghai- CMD_DOMAIN=192.168.0.197- CMD_URL_ADDPORT=true - CMD_PROTOCOL_USESSL=false- CMD_PORT=3070

然后执行下面的命令,在 portainer 中执行也是可以的

# 新建文件夹 hedgedoc 和 子目录
mkdir -p /volume2/docker/hedgedoc/config# 进入 hedgedoc 目录
cd /volume2/docker/hedgedoc# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3070 就能看到主界面

如果显示 I'm busy right now, try again later. 或者无法显示,那就稍等一下,日志中显示 HTTP Server listening at 0.0.0.0:3070 才说明服务已经就绪了

第一次登录需要先注册

默认情况下 HedgeDoc 使用电子邮件注册,但它实际上也支持使用和配置各种身份验证系统,比如我们之前介绍过的 Authelia 等等,有兴趣的可以自己研究;

登录成功后

新建笔记

支持实时预览

当把链接发给别人后,右上角的 在线人数 会发生变化

参考文档

hedgedoc/hedgedoc: HedgeDoc - The best platform to write and share markdown.
地址:https://github.com/hedgedoc/hedgedoc

Getting Started - HedgeDoc
地址:https://docs.hedgedoc.org/setup/getting-started/

HedgeDoc - collaborative markdown editor (via Docker on Synology NAS)
地址:https://www.blackvoid.club/hedgedoc-collaborative-markdown-editor/

基于Web的Markdown编辑器HedgeDoc相关推荐

  1. N个富文本编辑器/基于Web的HTML编辑器

    转自:http://www.cnblogs.com/lingyuan/archive/2010/11/15/1877447.html 基于WEB的HTML 编辑器,WYSIWYG所见即所得的编辑器,或 ...

  2. Tridiv:基于 Web 的 CSS 编辑器,创建炫丽 3D 图形

    Tridiv 是一个基于 Web 的编辑器,使用 CSS 创建 3D 形状.它提供了一个传统的四个面板的操作界面,给出了从每个平面的视图,以及一个预览窗格中示出的最终的效果.使用 Tridiv 可以创 ...

  3. 基于react 的markdown编辑器

    一,背景 近几天工作比较轻松吧,打算把之前没有完成的博客后台管理系统的发布博客功能实现,这就需要一个基于react的markdown编辑器. 之前的博客实现是使用vue实现的,后台管理想使用react ...

  4. 在线富文本编辑器-基于Web的HTML编辑器大全(一)

    基于WEB的HTML 编辑器,WYSIWYG所见即所得的编辑器,或是一个富文本的编辑器,是我们在开发WEB应用和内容管理系统时接收用户输入时必需要考虑的问题.下面是网上牛人收集的一些开源的WEB在线的 ...

  5. 基于JavaWeb的MarkDown编辑器editor.md的使用

    1.简介 editor.md是国内开发的开源项目,单纯基于前端JavaScript,可以实现markdown编辑器的所有功能. 主要特性 支持通用 Markdown / CommonMark 和 GF ...

  6. 基于Ace的Markdown编辑器

    相信开发中或多或少都会有使用md的时候.那么一个简易的md编辑器显得尤为重要,如果想要在自己的项目中添加一个md编辑器,那么不妨来看看这篇文章 我认为的编辑器分成两类,一种是分为左右两边实现即时渲染: ...

  7. mac markdown_适用于Mac的最佳Markdown编辑器

    mac markdown Markdown provides a convenient way to add formatting to a plain text document, while le ...

  8. 使用 Vue 和 Electron 开发一款简单的 Markdown 编辑器

    2021SC@SDUSC 本文并不涉及自己设计一套 Markdown 渲染组件的部分,Markdown 渲染组件可通过 marked 和 highlight.js 自行实现.但本文重点在于如何使用 E ...

  9. web可嵌入编辑器汇总

    web编辑器 web编辑器 代码编辑器 Ace CodeMirror Monaco Editor 三个编辑器对比 富文本编辑器 1.UEditor 百度的. 2.kindeditor 3.simdit ...

最新文章

  1. RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
  2. 【C/C++】“std::basic_ios _Elem,_Traits:无法访问private变量在类中的声明”错误原因与解决办法
  3. Linux C : Makefile 的编写和示例
  4. C/C++中的##用法
  5. 【WPF】关于XAML Parse Exception,无法创建XXX的实例异常的一点小心得
  6. php parse url 中文,php parse_url()函数解析URL用法总结
  7. 【OpenCV学习笔记】【函数学习】八(序列数据结构)
  8. java 定时调用api_java定时任务接口ScheduledExecutorService
  9. this关键字与super关键字
  10. Canvas绘制地图
  11. Linux下Qt窗口半透明,Qt实现嵌入桌面的半透明窗口 good
  12. 乐乎常用的html源码,点点网关闭自定义html模板代码功能,网易lofter重新映入眼帘...
  13. IE6,IE7和FireFox兼容处理(持续发现中)
  14. 【wechat】微信开发——自定义菜单
  15. VulnHub-01 - Empire Lupin One打靶记录
  16. 合成孔径雷达成像算法与实现(信号处理基础知识点)
  17. avc水平什么意思_AVC是什么?
  18. 年轻人为何总是在跳槽?
  19. 按现在的政策灵活就业人员,还有没有必要每年自己缴纳养老保险?
  20. Python通过Spleeter实现音唱人声(歌声)伴奏分离

热门文章

  1. 力扣刷题——双数之和
  2. 世界银行领导Bond-I二级市场区块链债务交易
  3. java 读取局域网交换机_局域网技术_交换机的工作方式
  4. Android Studio官方视频教程笔记
  5. ubuntu16.04 配置loam运行环境
  6. RepPoints V2代码实现
  7. HTML播放视频(兼容IE低版本)
  8. 启动tomcat发现80端口被ntoskrnl.exe 占用 80 端口
  9. .net core 命令行(仅作记录)
  10. 用Python做一个高山滑雪小游戏