在白群NAS上自建Joplin Server服务

2023-03-24 13:31:14 25点赞 199收藏 24评论

一直在用joplin记录自己的笔记,之前选择了使用OneDrive来存储,自从家里配置了群晖nas,除了照片和影音之外,搭建自己笔记服务器的心就一直蠢蠢欲动。那还等什么,行动力不就是一直自诩强项嘛!!

前提

  • 购置的正版的群晖,所以用了群晖提供的ddns,这个很重要,甚至现在感觉比quickconnect更重要一些。附上群晖提供的ddns,如果是黑裙...emm 使用自己另外购置的ddns替换吧。


白裙提供的ddns和qc白裙提供的ddns和qc

群晖配置了ddns群晖配置了ddns

  • 公网IP,现在ipv4的公网比较麻烦,但是ipv6一般都是可以拿到的。不过需要注意的是

    ipv6需要路由器支持,我的是小米路由器ax6000,可以手动打开ipv6-不过防火墙要关掉,不然外部无法访问。小米路由器还是太过于追求傻瓜化操作,很多配置都给屏蔽了,不太推荐。

  • 以及,ipv6是点对点的,不需要使用路由器的dmz或者接口转发,只要路由器的防火墙关闭或者端口开放出去,外部就可以访问到。

ipv6地址ipv6地址

部署Postgres

使用docker(dsm7.2之后改名了,Container Manager)安装postgres,这是joplin-server默认的数据库。

在白群NAS上自建Joplin Server服务

在File Station中创建一个共享文件夹,并创建postgres子目录,用于存储postgres的文件,方面后续备份

在白群NAS上自建Joplin Server服务

下载映像后,按照以下内容配置:

配置1配置1

在白群NAS上自建Joplin Server服务

注意点:

  1. 采用bridge网络

  2. 选择"启用自动重新启动",这样nas重启之后还会自动启动

  3. 端口配置,注意前面的5433端口是随意填的,在这里用不到;而后面的5432端口是pg默认的数据端口,类似于mysql的3306,别乱发挥主观能动性,5432别改...

  4. 存储空间设置,把 /var/lib/postgresql/data 映射出来,到刚刚建立的/docker/postgres 目录下(这里可以自定义)。后续所有的pg数据都会转储到 /docker/postgres目录下。

  5. 增加环境变量 POSTGRES_PASSWORD ,密码自定义,记住后面要用。

  6. 增加环境变量 POSTGRES_DATABASE ,创建数据库, 这里简单我就直接写成joplin了。

  7. 增加环境变量 POSTGRES_USER,创建用户,简单起见,也写成joplin。

都部署完成后,就可以直接启动了,日志中如果没有报错,就是正常启动的

在白群NAS上自建Joplin Server服务


部署joplin-server

部署完pg只是完成了最简单的第一步,下面继续使用docker安装joplin-server。老规矩 先下载

在白群NAS上自建Joplin Server服务

下载完成后,按照如下进行配置

配置1配置1

配置2配置2

配置3配置3

注意以下内容:

  1. 采用bridge网络

  2. 选择"启用自动重新启动",这样nas重启之后还会自动启动

  3. 端口映射,把docker容器的端口映射到主机(即群晖nas)端口上,这里为了避免混淆,统一用joplin-server默认的22300填充,注意:这里别发挥自己的主观能动性,直接照做就好。

  4. 存储空间配置不需要设置

  5. 增加环境变量 APP_PORT,值设置为22300,不需要改动

  6. 增加环境变量APP_BASE_URL,这里千万千万注意,需要填写最终你需要访问的地址和端口,且一定是https,所以我这里就填写了 https://群晖提供的ddns域名:22301。这里的端口和上面的22300无关,而是需要设置为后面反向代理出去映射的端口,再次强调一次,千万千万注意!

  7. 增加环境变量DB_CLIENT,值填写 pg ,表示是postgres驱动

  8. 增加环境变量POSTGRES_PASSWORD,值填写上面配置postgres的环境变量时设置的密码

  9. 增加环境变量POSTGTES_DATABASE、POSTGTES_USER,值填写上面设置的joplin即可

  10. 增加环境变量POSTGTES_PORT,这里值填写5432,不要发挥主观能动性!直接照做

  11. 增加环境变量POSTGRES_HOST,值填写上面 postgres的容器名称,也就是我上面命名的 postgres-joplin,一定要保持一致!

  12. 在白群NAS上自建Joplin Server服务

  13. 增加环境变量TZ,表示timezone,值填写Asia/Shanghai

  14. 最下面的链接,记得把postgres容器链接进来,不然在joplin-server启动时无法连接到postgres,启动失败。

全都设置完成后,启动,可以查看日志,启动成功会有以下字样

在白群NAS上自建Joplin Server服务

启动完成后,你以为就万事大吉了吗?并不是,这时候如果你访问http://ip:22300 就会提示 Invalid origin: ...

所以下一步,至关重要,配置nas的反向代理。

配置反向代理

打开nas-dsm的控制面板->登录门户->高级

在白群NAS上自建Joplin Server服务

打开反向代理服务器,按照以下内容配置

在白群NAS上自建Joplin Server服务

  1. 新增一个反向代理规则

  2. 来源-协议,选择https

  3. 来源-主机名,填入群晖提供的ddns域名,这里我的就是xxxx.synology.me。注意这里不需要有http或者https前缀,也不需要写端口。

  4. 来源-端口,注意这里配置实际最终访问的端口,我选择了22301,与上面APP_BASE_URL中写的端口一致。

  5. HSTS不要选,配置文件也不需要配置

  6. 目的地-协议选择HTTP

  7. 目的地-主机名 填写localhost

  8. 目的地-端口 配置joplin-server中配置过的22300。

  9. 保存后,就是如下结果

  10. 在白群NAS上自建Joplin Server服务

登录joplin

以上步骤顺利完成之后,那么接下来就可以打开网页输入https://群晖提供的ddns域名:22301, 使用默认的账户名admin@localhost和密码admin登录。如果是别的域名,直接替换成对应域名即可。如下

在白群NAS上自建Joplin Server服务

这里可以去修改用户名和密码,注意的是,email并不会真正发出-我还傻呵呵的去邮箱里翻了半天。去下图的位置直接点进去 确认修改就好了。

在白群NAS上自建Joplin Server服务


好,大功告成!后面就可以在joplin中配置同步了。里面确实很多细节比较容易出问题,按照以上步骤 应该可以少踩一点坑....


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
24评论

  • 精彩
  • 最新
  • 评论里面说用 webdav,这个协议没有二次验证,要新建用户分以及目录配权限才行,不然你用常用的用户以及文件就全暴露在风险之下了,用 joplinserver 加反向代理就显得很安全了, 最新版/var/lib/postgresql/data 改了,只需要/var/lib/postgresql,不然会报错,问了 DeepSeek 才搞定

    校验提示文案

    提交
  • 为什么不用webdav?

    校验提示文案

    提交
    Webdav 当然可以,不过现在 感觉下来 joplin-server 挺不错的,还可以在后台管理

    校验提示文案

    提交
    jopin同步感觉比debdav好用

    校验提示文案

    提交
    收起所有回复
  • 差不多的步骤,我装的是思源笔记

    校验提示文案

    提交
    嗯呢,用习惯一种就好,不会太容易迁移。就是安装细节容易出一点问题,所以记录下

    校验提示文案

    提交
    收起所有回复
  • webdav不香吗

    校验提示文案

    提交
    😄都香

    校验提示文案

    提交
    收起所有回复
  • Joplin最大的问题文档名字都是乱码,没法和其他软件迁移

    校验提示文案

    提交
    emmm 还没对外迁移过,不过感觉我应该会用蛮长时间了

    校验提示文案

    提交
    收起所有回复
  • 我还真去邮箱找了半天

    校验提示文案

    提交
    哈哈哈,我也是

    校验提示文案

    提交
    收起所有回复
  • 20年用过一阵子joplin不行,还是换回了one not,用群晖drive实现多机同步,缺点就是写作的时候drive不停的提示同步,关了就行,再就是无法手机同步。但是个人觉得比jop强不是一点

    校验提示文案

    提交
    各有优点吧,我确实习惯了joplin,这个看个人了,而且迁移成本也挺大的

    校验提示文案

    提交
    收起所有回复
  • Joplin Server苹果系统无法同步,同样的账号安卓没问题。

    校验提示文案

    提交
    必须https?

    校验提示文案

    提交
    实测 是的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 补充一下,通过 ipv6 公网 ip+ddns 映射出去的域名,访问端环境也需要支持 ipv6 访问,现在运营商的网络一般都支持,手机端访问问题不大。如果是 wifi 访问,就需要开启路由器的 ipv6 了

    校验提示文案

    提交
  • 思源,ob,jopin,自带,几者上月都比对过。各有优弊。
    目前用jopin自网页剪切存档。
    ob工作文档,
    自带,个人随手

    校验提示文案

    提交
  • 请教下,手机端收藏只显示一条标题加链接,没有像电脑端那样图文并茂的?

    校验提示文案

    提交
  • 怎么不用docker-compose安转

    校验提示文案

    提交
  • 细节还不错,但是自己的信息没码全。 [皱眉] SI

    校验提示文案

    提交
  • 我服务器建立成功了,并且也是用白群+群晖的ddns进行ipv6访问。现在问题是手机IOS端正常访问和同步,但是PC端检查同步配置时出现以下错误,您知道为什么吗?
    发生错误。请检查 URL、用户名、密码等是否正确以及同步目标是否可访问。报告的错误为:request to https://*****.synology.me:22301/api/sessions failed, reason: connect ETIMEDOUT 117.89.213.24:22301 (Code ETIMEDOUT)

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
199
扫一下,分享更方便,购买更轻松