Hedgedoc是Hedgedoc团队的一个基于Javascript的Markdown文档实时编辑分享平台,其前身为CodiMD。
准备
提前安装Nginx及Docker,Docker的安装可以查阅这里。如果开启防火墙,请放行3000端口或关闭防火墙。
部署HedgeDoc
1 2 3
| git clone https://github.com/hedgedoc/container.git hedgedoc-container cd hedgedoc-container docker compose up
|
然后打开ip:3000访问。
配置HedgeDoc
为HedgeDoc配置域名,否则上传图片会报错。
添加如下配置:
1 2 3 4 5
| ... - CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc - CMD_DOMAIN=domain.name - CMD_PROTOCOL_USESSL=true ...
|
然后重新启动服务。
更多配置可查询这里。
配置Nginx反代
反向代理配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; listen [::]:80;
server_name domain.name;
location / { return 301 https://$server_name$request_uri; } }
server { listen 443 ssl; listen [::]:443 ssl; http2 on;
server_name domain.name;
ssl_certificate /path/cert.crt; ssl_certificate_key /path/cert.key;
location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location /socket.io/ { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
|
重启Nginx,然后就能通过域名访问了。
后记
其它问题可查询官方文档。