五分钟在腾讯云lighthouse上搭建markdown协作平台

2022-03-14 11:57:18 浏览数 (1)

操作场景

HedgeDoc(以前称为 CodiMD)是一个开源的、基于 Web 的、自托管的、协作的Markdown编辑器。您可以使用它轻松地实时协作处理笔记、图表甚至演示文稿。

使用部署在lighthouse上的HedgeDoc服务可以给团队提供共享文档,实时写作的能力。同时对于项目展示和信息分享也有着十分便捷的方法。

操作步骤

本文将基于轻量应用服务器的Docker应用镜像来实现5分钟在服务器上搭建好HedgeDoc服务。

  1. 进入轻量应用服务器控制台,创建或重装一个包含docker应用镜像的操作系统,如下图所示:
应用镜像选择应用镜像选择

2. 使用 vim docker-compose.yml 命令在当前目录下创建配置文档:

代码语言:shell复制
$ 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使得服务能够在后台运行,防止前台关闭终端而终止服务。如下图所示:

后台运行示意图后台运行示意图

部分步骤说明

步骤1,安装docker镜像

腾讯云的docker应用镜像基于centos7.6 64位操作系统,因此该系统的包管理命令为yum。即需要使用 yum install {package}来安装软件包。

如果您是的操作系统为ubuntudebian等使用apt包管理器的其他通用操作系统,则目前腾讯云镜像市场不提供docker应用镜像,可以使用如下命令安装dockerdocker-compose,如下所示:

代码语言:javascript复制
# 一键安装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字样,若有则是配置成功!

步骤2,编辑docker-compose.yml文件

下面对该文件的部分内容进行解析:

代码语言:javascript复制

      # 这是定义的是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"

步骤3,安装结束

docker-compose安装结束会自动运行,这时候我们可以打开浏览器地址,输入:127.0.0.1:3000来检查服务是否布置成功。如果成功则会显示上图所示界面。有时候部署成功后会出现如下所示情况:

加载css和js失败加载css和js失败

出现该情况是因为加载css样式和脚本文件失败,失败的原因是尝试使用http协议加载了需要https协议加载的文件。可以使用nginx端口代理到443端口上,同时部署域名与证书来实现链接的加密访问。如何进行nginx端口代理,同时配置https访问请参考我的其他文章:nginx的端口转发

步骤4,后台运行

使用了后台运行命令后,docker会生成一个容器,该服务运行在这个后台容器中。该容器按照docker-compose中的配置会随着docker的自启动而实现服务器的开机自启。

这里给出docker常用的容器操作命令,如下所示:

代码语言:javascript复制
# 列举docker已有的容器
$ docker container ls

# 进入相应容器的bash
$ docker exec -it {容器id} bash

# 重启/停止容器
$ docker container restart/stop {容器id}

0 人点赞