HedgeDoc(以前称为 CodiMD)是一个开源的、基于 Web 的、自托管的、协作的Markdown
编辑器。您可以使用它轻松地实时协作处理笔记、图表甚至演示文稿。
使用部署在lighthouse
上的HedgeDoc服务可以给团队提供共享文档,实时写作的能力。同时对于项目展示和信息分享也有着十分便捷的方法。
本文将基于轻量应用服务器的Docker应用镜像来实现5分钟在服务器上搭建好HedgeDoc服务。
2. 使用 vim docker-compose.yml
命令在当前目录下创建配置文档:
$ vim docker-compose.yml
# 向文件写入以下内容:
version: '3'
services:
database:
image: postgres:13.4-alpine
environment:
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=password
- POSTGRES_DB=hedgedoc
volumes:
- database:/var/lib/postgresql/data
restart: always
app:
# Make sure to use the latest release from https://hedgedoc.org/latest-release
image: quay.io/hedgedoc/hedgedoc:1.9.2
environment:
- CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc
- CMD_DOMAIN=localhost
- CMD_URL_ADDPORT=true
volumes:
- uploads:/hedgedoc/public/uploads
ports:
- "3000:3000"
restart: always
depends_on:
- database
volumes:
database:
uploads:
# 保存文件,退出vim编辑器。
vim编辑器的使用方法请见:vim编辑器用法
3. 使用docker-compose up
命令开始启动部署HedgeDoc。相关输出如下图所示:
静静等待安装结束即可。安装结束输出,如下图所示:
此时的HedgeDoc服务运行在0.0.0.0:3000
地址上,让我们打开浏览器测试一下效果:
其中网站的部分资源需要配置https才能正常加载。
4. 使用 docker-compose up -d
使得服务能够在后台运行,防止前台关闭终端而终止服务。如下图所示:
腾讯云的docker应用镜像基于centos7.6 64位操作系统,因此该系统的包管理命令为yum。即需要使用 yum install {package}
来安装软件包。
如果您是的操作系统为ubuntu
或debian
等使用apt包管理器的其他通用操作系统,则目前腾讯云镜像市场不提供docker应用镜像,可以使用如下命令安装docker
和docker-compose
,如下所示:
# 一键安装docker的国内镜像源脚本
$ curl -sSL https://get.daocloud.io/docker | sh
# 安装docker-compose
$ sudo apt install docker-compose
# 设置docker国内镜像源:
$ sudo vim /etc/docker/daemon.json
# 向文件中写入以下内容:
{ "registry-mirrors": [ "https://mirror.ccs.tencentyun.com" ] }
# 保存文件内容
# 重启docker服务
$ sudo systemctl restart docker
# 检查docker镜像是否配置成功
docker info
# 查看打印出来的信息结尾是否有mirror.ccs.tencentyun.com字样,若有则是配置成功!
下面对该文件的部分内容进行解析:
# 这是定义的是postgres数据库用户名密码和数据库名字
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=password
- POSTGRES_DB=hedgedoc
# 这里定义的是内外端口映射,如将其修改为 - "3000:2000" 则外部端口修改为2000。
# 默认的运行位置为0.0.0.0,该位置暴露在公网上。若想运行在本地交换环上,可以修改为"127.0.0.1:3000:3000"
ports:
- "3000:3000"
docker-compose安装结束会自动运行,这时候我们可以打开浏览器地址,输入:127.0.0.1:3000来检查服务是否布置成功。如果成功则会显示上图所示界面。有时候部署成功后会出现如下所示情况:
出现该情况是因为加载css样式和脚本文件失败,失败的原因是尝试使用http
协议加载了需要https
协议加载的文件。可以使用nginx端口代理到443端口上,同时部署域名与证书来实现链接的加密访问。如何进行nginx端口代理,同时配置https访问请参考我的其他文章:nginx的端口转发
使用了后台运行命令后,docker会生成一个容器,该服务运行在这个后台容器中。该容器按照docker-compose
中的配置会随着docker的自启动而实现服务器的开机自启。
这里给出docker常用的容器操作命令,如下所示:
# 列举docker已有的容器
$ docker container ls
# 进入相应容器的bash
$ docker exec -it {容器id} bash
# 重启/停止容器
$ docker container restart/stop {容器id}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。