群晖

群晖 Docker系列 —— 搭建Joplin Server

波比AI · 5月2日 · 2025年本文共1992个字 · 预计阅读7分钟98次已读

本着数据要放在自己手上并且要不受约束的记录笔记、进行写作的原则。在对比了多个笔记应用之后最终我选择了Joplin作为我的私有云笔记应用。

群晖 Docker系列 —— 搭建Joplin Server

Joplin是一款开源的笔记本应用,它的以下优点让我最终选择了它,

  • 多平台支持 桌面端支持Windows,Mac;移动端支持安卓、IOS,所以不论是电脑还是手机都能够使用这款笔记来记录。
  • 多设备同步
    Joplin可以在各个设备上通过WebDAV、Dropbox、OneDrive、Joplin Server等方式进行存储同步笔记,可以实现自主选择数据存储方式。
  • Markdown语法支持
    支持Markdown使我在Joplin和Note staiton之间最终选择了Joplin,Markdown作为一种轻量级的标记语言,易写易读高效,能在写作排版上大大提高效率。
  • 待办事项和笔记统一管理
    Joplin除了支持创建笔记之外,还可以创建待办事项,所以可以把自己的待办清单和笔记整理在一起,并且它还支持待办事项和笔记的转换,可以先设置待办,作为未完成笔记的laoxiongb2c一个提醒,在完成写作之后再转为笔记。
  • 端对端加密(E2EE)
    Joplin支持端对端加密(E2EE)来保证笔记数据的安全,确保除了用户自己之外没有人可以访问它们,所以也可以在原有的笔记存储基础上放心地在公有云上额外再备份自己的笔记。

同步服务的选择

要使用Joplin首先需要在你的桌面端和移动端上下载安装他的客户端,然后再选择一种同步服务来存储、同步你的笔记。

Joplin提供了多种的方式给用户来存储笔记数据,其中包括它自己提供的收费的云服务Joplin Cloud,还有第三方的云盘如Dropbox、OneDrive,还有自建的云盘Nextcloud、或者通过WebDAV协议来进行同步。

群晖 Docker系列 —— 搭建Joplin Server

在以上不同的同步方式当中,显然Joplin自己提供的收费服务Joplin Cloud有更大的优势,在拥有更快的同步速度的同时,还能将笔记发布到互联网,并且能够与其他的用户一起共同协作。

群晖 Docker系列 —— 搭建Joplin Server

那如果不想付费也想拥有同样的效果呢?良心的开发者也提供了Joplin Server服务给用户在自己的服务器上配置同步服务,同样拥有比其他同步方式更高的同步速度,同时也可以分享笔记,进行协作。

群晖 Docker系列 —— 搭建Joplin Server

因此在自己的NAS或者服务器上搭建Joplin Server相对来说是一个最优的选择。

在体验了OneDrive和群晖WebDAV两种方式之后,我又在群晖NAS上自建Joplin Server服务作为笔记的同步服务,对比之后,确实Joplin Server体验最佳,可玩性更高,一段时间下来也未发现问题。

部署Joplin Server需要进行反向代理的设置,对于没有这方面基础知识的用户laoxiongb2c不太友好,laoxiongb2c以下分享一个在群晖上部署Joplin Server服务的方法,采用了最简单的方式,可能不是最好的方法,但是这个方法不需要很复杂的设置,就算零基础也可以参考步骤一步一步搭建成功。

Joplin Server部署过程

部署前确认

安装Joplin Server前需要先确认群晖NAS是否已经满足以下条件:

  • 拥有公网IP(没有的话需要做内网穿透)
  • 拥有域名并且做好DDNS(白群晖用户可以直接使用群晖提供的域名和DDNS服务)
  • 在NAS上安装好对应域名的证书

确认满足以上条件之后才可以接下来进行安装部署。

创建文件夹

首先在NAS的docker共享文件夹下新建一个文件夹,可以自行命名,这里命名为joplin。

群晖 Docker系列 —— 搭建Joplin Server

docker-compose.yml 文件

version: "3"

services:
    db:
        image: postgres:latest
        volumes:
            - ./data/postgres:/var/lib/postgresql/data
        ports:
            - "12345:12345"
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_DB=${POSTGRES_DATABASE}
        command: -p 12345
    app:
        image: joplin/server:latest
        depends_on:
            - db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=https://joplin.0x11901.top/
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DATABASE=${POSTGRES_DATABASE}
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PORT=12345
            - POSTGRES_HOST=db
[Total: 0 Average: 0]
0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!