爱极客专注分享-好玩的docker应用-源码分享

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

1. 前言

我之前写过一篇【好玩儿的 Docker 项目】免费、开源、全平台同步笔记软件 ——Joplin是部署在VPS上的,由于我VPS快到期了,我就想把它部署在本地NAS上,这样数据也能安全一点。

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

2. 操作环境

  • 服务器:我使用甲骨文免费的1H1G的小鸡做FRP内网穿透用(没有公网IP的痛啊),如果大家有公网ip可以不需要;没有vps,没有公网ip,大家可以参考其他内网穿透方案
  • 威联通NAS
  • 【非必需但建议】域名一枚,并做好解析到服务器上
  • 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx
  • 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程

3. 搭建教程

废话不多说,直接上教程

3.1 解析域名到反代服务器

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

3.2 qnap使用container station 拉取镜像

先拉取 postgres 官方镜像,注意从dockerhub拉取,qnap推荐版本低了点,我使用的是13.4

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据
威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

拉取后创建,并添加环境变量

  • POSTGRES_DB
  • POSTGRES_USER
  • POSTGRES_PASSWORD
威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

环境注意后面三个,分别是数据库名、密码、用户名,这三个后续会使用,

网络方面自行映射5432端口,

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

持久化方面自行映射本地文件夹至 /var/lib/postgresql/data

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

至此postgres创建完成,后续数据备份只需要备份数据库文件夹

我这边使用hybrid backup sync实时同步备份至ondriver,且定时冷备份到异地,数据还是比较有保障的

然后创建joplin server,使用 joplin/server 官方镜像,创建容器时注意配置环境

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据
威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据
  • APP_BASE_URL :后续访问joplin server使用的域名,需要https,需要完全一致
  • APP_PORT: 端口,默认23000
  • DB_CLIENT:pg 使用postgres数据库
  • POSTGRES_DATABASE:postgres数据库,同之前创建的数据库名
  • POSTGRES_HOST:数据库ip,同一机器使用本机ip即可
  • POSTGRES_PASSWORD:数据库密码,同之前设置
  • POSTGRES_PORT:数据库端口,同之前设置,默认5432
  • POSTGRES_USER:数据库用户名,同之前设置

端口映射22300,建议不改,若修改则反向代理处响应修改

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

之后启动即可,**注意先启动数据库,然后启动joplin,否则joplin可能会报错 **

启动成功后可以使用本地访问ip:22300,出现下面可认为已启动

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

这里就出现了一个坑,

日志出现报错

Error: The device time drift is -3478ms (Max allowed: 2000ms) - cannot continue as it could cause data loss and conflicts on the sync clients. You may increase env var MAX_TIME_DRIFT to pass the check, or set to 0 to disabled the check

这里需要到威联通设置界面,更改下时间同步服务器,默认是国外的时间同步服务器,改成国内的,如图

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

然后,先重启postgres ,然后再重启joplin server

3.3 配置反向代理

我的FRP部署在软路由中

在软路由的frp中添加服务

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

打开frp的dashboard,确认穿透服务是否启用

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

3.4 利用 Nginx Proxy Manager

在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上域名购买、域名解析

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager相关教程))

注意:

Nginx Proxy Manager(以下简称 NPM)会用到 80443 端口,所以本机不能占用(比如原来就有 Nginx)

直接丢几张图:

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据
威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据
威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

注意填写对应的 域名IP端口,按文章来的话,应该是 22300

至此访问域名就可以正常使用了威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

威联通docker部署Joplin Server,并通过FRP实现内网穿透实现同步数据

4. 使用教程

【好玩儿的 Docker 项目】免费、开源、全平台同步笔记软件 ——Joplin

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容