在白群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中配置同步了。里面确实很多细节比较容易出问题,按照以上步骤 应该可以少踩一点坑....
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~




















校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
目前用jopin自网页剪切存档。
ob工作文档,
自带,个人随手
校验提示文案
校验提示文案
校验提示文案
校验提示文案
发生错误。请检查 URL、用户名、密码等是否正确以及同步目标是否可访问。报告的错误为:request to https://*****.synology.me:22301/api/sessions failed, reason: connect ETIMEDOUT 117.89.213.24:22301 (Code ETIMEDOUT)
校验提示文案
校验提示文案
发生错误。请检查 URL、用户名、密码等是否正确以及同步目标是否可访问。报告的错误为:request to https://*****.synology.me:22301/api/sessions failed, reason: connect ETIMEDOUT 117.89.213.24:22301 (Code ETIMEDOUT)
校验提示文案
校验提示文案
校验提示文案
目前用jopin自网页剪切存档。
ob工作文档,
自带,个人随手
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案