在白群NAS上自建Joplin Server服务
一直在用joplin记录自己的笔记,之前选择了使用OneDrive来存储,自从家里配置了群晖nas,除了照片和影音之外,搭建自己笔记服务器的心就一直蠢蠢欲动。那还等什么,行动力不就是一直自诩强项嘛!!
前提
购置的正版的群晖,所以用了群晖提供的ddns,这个很重要,甚至现在感觉比quickconnect更重要一些。附上群晖提供的ddns,如果是黑裙...emm 使用自己另外购置的ddns替换吧。
公网IP,现在ipv4的公网比较麻烦,但是ipv6一般都是可以拿到的。不过需要注意的是
ipv6需要路由器支持,我的是小米路由器ax6000,可以手动打开ipv6-不过防火墙要关掉,不然外部无法访问。小米路由器还是太过于追求傻瓜化操作,很多配置都给屏蔽了,不太推荐。
以及,ipv6是点对点的,不需要使用路由器的dmz或者接口转发,只要路由器的防火墙关闭或者端口开放出去,外部就可以访问到。
部署Postgres
使用docker(dsm7.2之后改名了,Container Manager)安装postgres,这是joplin-server默认的数据库。
在File Station中创建一个共享文件夹,并创建postgres子目录,用于存储postgres的文件,方面后续备份
下载映像后,按照以下内容配置:
注意点:
采用bridge网络
选择"启用自动重新启动",这样nas重启之后还会自动启动
端口配置,注意前面的5433端口是随意填的,在这里用不到;而后面的5432端口是pg默认的数据端口,类似于mysql的3306,别乱发挥主观能动性,5432别改...
存储空间设置,把 /var/lib/postgresql/data 映射出来,到刚刚建立的/docker/postgres 目录下(这里可以自定义)。后续所有的pg数据都会转储到 /docker/postgres目录下。
增加环境变量 POSTGRES_PASSWORD ,密码自定义,记住后面要用。
增加环境变量 POSTGRES_DATABASE ,创建数据库, 这里简单我就直接写成joplin了。
增加环境变量 POSTGRES_USER,创建用户,简单起见,也写成joplin。
都部署完成后,就可以直接启动了,日志中如果没有报错,就是正常启动的
部署joplin-server
部署完pg只是完成了最简单的第一步,下面继续使用docker安装joplin-server。老规矩 先下载
下载完成后,按照如下进行配置
注意以下内容:
采用bridge网络
选择"启用自动重新启动",这样nas重启之后还会自动启动
端口映射,把docker容器的端口映射到主机(即群晖nas)端口上,这里为了避免混淆,统一用joplin-server默认的22300填充,注意:这里别发挥自己的主观能动性,直接照做就好。
存储空间配置不需要设置
增加环境变量 APP_PORT,值设置为22300,不需要改动
增加环境变量APP_BASE_URL,这里千万千万注意,需要填写最终你需要访问的地址和端口,且一定是https,所以我这里就填写了 https://群晖提供的ddns域名:22301。这里的端口和上面的22300无关,而是需要设置为后面反向代理出去映射的端口,再次强调一次,千万千万注意!
增加环境变量DB_CLIENT,值填写 pg ,表示是postgres驱动
增加环境变量POSTGRES_PASSWORD,值填写上面配置postgres的环境变量时设置的密码
增加环境变量POSTGTES_DATABASE、POSTGTES_USER,值填写上面设置的joplin即可
增加环境变量POSTGTES_PORT,这里值填写5432,不要发挥主观能动性!直接照做
增加环境变量POSTGRES_HOST,值填写上面 postgres的容器名称,也就是我上面命名的 postgres-joplin,一定要保持一致!
增加环境变量TZ,表示timezone,值填写Asia/Shanghai
最下面的链接,记得把postgres容器链接进来,不然在joplin-server启动时无法连接到postgres,启动失败。
全都设置完成后,启动,可以查看日志,启动成功会有以下字样
启动完成后,你以为就万事大吉了吗?并不是,这时候如果你访问http://ip:22300 就会提示 Invalid origin: ...
所以下一步,至关重要,配置nas的反向代理。
配置反向代理
打开nas-dsm的控制面板->登录门户->高级
打开反向代理服务器,按照以下内容配置
新增一个反向代理规则
来源-协议,选择https
来源-主机名,填入群晖提供的ddns域名,这里我的就是xxxx.synology.me。注意这里不需要有http或者https前缀,也不需要写端口。
来源-端口,注意这里配置实际最终访问的端口,我选择了22301,与上面APP_BASE_URL中写的端口一致。
HSTS不要选,配置文件也不需要配置
目的地-协议选择HTTP
目的地-主机名 填写localhost
目的地-端口 配置joplin-server中配置过的22300。
保存后,就是如下结果
登录joplin
以上步骤顺利完成之后,那么接下来就可以打开网页输入https://群晖提供的ddns域名:22301, 使用默认的账户名admin@localhost和密码admin登录。如果是别的域名,直接替换成对应域名即可。如下
这里可以去修改用户名和密码,注意的是,email并不会真正发出-我还傻呵呵的去邮箱里翻了半天。去下图的位置直接点进去 确认修改就好了。
好,大功告成!后面就可以在joplin中配置同步了。里面确实很多细节比较容易出问题,按照以上步骤 应该可以少踩一点坑....
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
寂寞的解药
校验提示文案
记忆中那一抹风情
校验提示文案
ly757
校验提示文案
Lordling
校验提示文案
zonck
校验提示文案
marinecn
校验提示文案
NewBlash
校验提示文案
会长Alan
校验提示文案
NewBlash
校验提示文案
值友4832860289
目前用jopin自网页剪切存档。
ob工作文档,
自带,个人随手
校验提示文案
liuzj288
校验提示文案
只等天润降降价
校验提示文案
值友5246456658
发生错误。请检查 URL、用户名、密码等是否正确以及同步目标是否可访问。报告的错误为:request to https://*****.synology.me:22301/api/sessions failed, reason: connect ETIMEDOUT 117.89.213.24:22301 (Code ETIMEDOUT)
校验提示文案
值友5246456658
发生错误。请检查 URL、用户名、密码等是否正确以及同步目标是否可访问。报告的错误为:request to https://*****.synology.me:22301/api/sessions failed, reason: connect ETIMEDOUT 117.89.213.24:22301 (Code ETIMEDOUT)
校验提示文案
只等天润降降价
校验提示文案
liuzj288
校验提示文案
值友4832860289
目前用jopin自网页剪切存档。
ob工作文档,
自带,个人随手
校验提示文案
NewBlash
校验提示文案
NewBlash
校验提示文案
marinecn
校验提示文案
zonck
校验提示文案
Lordling
校验提示文案
ly757
校验提示文案
寂寞的解药
校验提示文案
记忆中那一抹风情
校验提示文案
会长Alan
校验提示文案