基于Web的Markdown编辑器HedgeDoc

news2024/11/27 20:29:15

在这里插入图片描述

什么是 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 端口号
本地端口容器端口
30703070

默认容器端口为 3000

在这里插入图片描述

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

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

在这里插入图片描述

环境

可变
DB_HOST数据库的地址
DB_PORT数据库的端口
DB_NAME数据库的库名
DB_USER数据库的用户
DB_PASS数据库的密码
PGID<UserID> 默认设为 1000
PUID<GroupID > 默认设为 1000
TZ时区设置,默认设置为 Asia/Shanghai
CMD_DOMAINHedgeDoc 主机地址
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/hedgedoc
    container_name: hedgedoc
    restart: always
    ports:
      - "3070:3070"
    volumes:
      - ./config:/config
    environment:
      - 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于有偏距离权值双线性插值原理(Weighted bilinear with warping)的图像超分辨重构研究-附Matlab程序

⭕⭕ 目 录 ⭕⭕✳️ 一、图像超分辨率重构原理✳️ 二、双线性插值重构理论与实验分析✳️ 2.1 双线性插值理论与实验验证✳️ 2.2 有偏距离双线性插值重构理论与实验验证✳️ 2.3 权重双线性插值理论与实验验证✳️ 2.4 有偏距离权值双线性插值理论与实验验证✳️ 三、参考文…

frps内网穿透

1 原理讲解 frp工作原理 服务端运行&#xff0c;监听一个主端口&#xff0c;等待客户端的连接&#xff1b; 客户端连接到服务端的主端口&#xff0c;同时告诉服务端要监听的端口和转发类型&#xff1b;服务端fork新的进程监听客户端指定的端口&#xff1b; 外网用户连接到客户…

2012-2020中国地区银行多指标数据

1、数据来源&#xff1a;bankscope 2、时间跨度&#xff1a;2012-2020-3季度 3、区域范围&#xff1a;中国 4、指标说明&#xff1a; 包含以下数据&#xff1a; 资产负债表&#xff0c;利润表&#xff0c;流动性表&#xff0c;资本充足率表&#xff0c;财务比率 global s…

java 高级面试题(借鉴)

谈谈ConcurrentHashMap的扩容机制 1.7版本 1. 1.7版本的ConcurrentHashMap是基于Segment分段实现的 2. 每个Segment相对于⼀个⼩型的HashMap 3. 每个Segment内部会进⾏扩容&#xff0c;和HashMap的扩容逻辑类似 4. 先⽣成新的数组&#xff0c;然后转移元素到新数组中 5. 扩容的…

vue3 antd项目实战——table表格(一文带你快速实现后台管理系统最常用的table表格)

零基础filter实现最简单的table表格知识调用核心干货下期预告关键字模糊查找&#xff08;纯前端&#xff09;关键字模糊查找&#xff08;前后交互&#xff09;知识调用 功能实现可能要用到的知识&#xff1a;vue3ant design vuets实战【ant-design-vue组件库引入】vue3项目实战…

超纯水如何除硼,除硼树脂技术分析

硼在超纯水中对晶圆厂的产品良品率的影响&#xff0c;那超纯水深度除硼的方式有哪些呢&#xff0c;在现今新型的微电子、太阳能等行业中&#xff0c;对超纯水的要求越来越高&#xff0c;对超纯水设备中PPb的硼和硅要求达到PPb级。但硼和硅属于弱电离元素&#xff0c;在水中不易…

泛型类的认识 - (了解数据结构的基础)

文章目录前言1. 为什么使用泛型类&#xff1f;2. 泛型类介绍总结前言 本篇通过介绍为什么使用泛型类&#xff0c;什么是泛型类&#xff0c;进一步为以后数据结构的学习打下基础。如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff0…

【强化学习论文合集】IJCAI-2021 强化学习论文

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

户外运动耳机推荐、这几款性能超强的户外运动耳机不可错过

在户外跑步的时候&#xff0c;也有不少朋友会选择戴上耳机&#xff0c;用音乐来”调味“&#xff0c;让跑步的过程不那么枯燥乏味。凡事有利就有弊&#xff0c;跑步时听音乐也如此&#xff0c;它的弊端之一是可能会有安全隐患。如果跑步时耳机音量开得太大&#xff0c;可能会忽…

JAVA-GUI工具的编写-----简易框架篇

好久没写东西了&#xff0c;毕竟一个屁民没那么多东西写的&#xff0c;来来回回就老三样&#xff0c;扯犊子的也不想写&#xff0c;今天给大家来个都感兴趣的-------如何编写自己的GUI工具&#xff1f; 当然了&#xff0c;IDEA怎么去破解&#xff0c;这里就不多比比&#xff0c…

java基础一:基础概念、面向对象

目录 1.基础概念 2.IDEA 开发工具 2.1 JDK环境配置 2.2 注释和变量 2.3 标识符 2.4 数据类型 2.5 算术运算符 2.6 赋值运算符 2.7 关系运算符 2.8 逻辑运算符 2.9 三元运算符 2.10 流程控制 3. 面向对象 3.1类和对象 3.2 静态 static 3.3 package 包 3.4 impor…

Spark系列之Spark概述

title: Spark系列 What is Apache Spark™? Apache Spark™ is a multi-language engine for executing data engineering, data science, and machine learning on single-node machines or clusters. 第一章 Spark概述 1.1 Spark的产生背景 1.1.1 MapReduce的发展 1.1.…

【Flink】时间语义和水位线的概念和使用

文章目录一 时间语义与Wartermark1 Flink中的时间语义2 EventTime的引入3 Watermark&#xff08;水位线&#xff09;&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;水位线测试a 代码编写b 计算水位线c 计算结果d 深入分析&#xff08;3&#xff09;水位线时间测试…

【web前端期末大作业】html网上在线书城大学生静态网页 大学生html当当书城仿站 网上书城购物网页作业HTML

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

智慧城市解决方案典型应用

4.2.智慧城市建设目标 4.2.1.高标准的智慧城市基础设施 智慧城市的基础设施主要包括城市信息基础设施和城市空间数据基础设施两个方面。智慧城市建设的首要目标是要建立起完善的、高标准的智慧城市基础设施&#xff0c;并在此基础上建立完备的城市基础信息资源。高标准的城市…

微软文本转语音「免费网页版」

网站地址&#xff1a;Text To Speech - 在线文本转语音 大家好&#xff5e;今天给小伙伴们安利一个AI配音小工具:TTS-文本转语音 【闲话】 疫情三年&#xff0c;很多人都失去工作&#xff0c;有的也是断断续续。很多人负债累累&#xff0c;在全球形势严峻&#xff0c;经济下滑…

【FreeRTOS(三)】任务状态

文章目录任务状态任务挂起 vTaskSuspend取消任务挂起 vTaskResume挂起任务调度器 vTaskSuspendAll取消挂起任务调度器 xTaskResumeAll代码示例&#xff1a;任务挂起、取消任务挂起代码示例&#xff1a;挂起任务调度器、取消挂起任务调度器任务状态 freeRTOS任务的状态有四种&am…

【POJ No. 3321】 子树查询 Apple Tree

【POJ No. 3321】 子树查询 Apple Tree 北大OJ 题目地址 【题意】 在卡卡的房子外面有一棵苹果树&#xff0c;树上有N 个叉&#xff08;编号为1&#xff5e;N &#xff0c;根为1&#xff09;&#xff0c;它们通过分支连接。苹果在叉上生长&#xff0c;两个苹果不会在同一个叉…

1000道最新高频Java面试题,覆盖25个技术栈,从底层原理到架构

最近感慨面试难的人越来越多了&#xff0c;一方面是市场环境&#xff0c;更重要的一方面是企业对Java的人才要求越来越高了。 基本上这样感慨的分为两类人&#xff0c;第一&#xff0c;虽然挂着3、5年经验&#xff0c;但肚子里货少&#xff0c;也没啥拿得出手的项目&#xff0c…

【外卖项目实战开发四】

文章目录菜品管理业务开发文件上传下载文件上传介绍文件下载介绍文件上传代码实现文件下载代码实现新增菜品需求分析数据模型代码开发-准备工作代码开发-梳理交互过程菜品信息分页查询需求分析代码开发-梳理交互过程修改菜品需求分析代码开发-梳理交互过程停售/起售菜品&#x…