实用工具

免费开源笔记软件Joplin同步策略-WebDAV,NextCloud,S3云存储和Joplin Server

免费开源笔记软件Joplin之前挖站否在替代Evernote免费开源笔记Joplin一文就已经分享过了,Joplin完全开源的,所有的数据都保存在本地,可以随时导出笔记,原生支持 markdown 格式,搜索速度快,支持浏览器Web clipper即网页剪贴。

Joplin数据同步可以使用官方的付费的 Joplin Cloud 服务,不想付费的话也可以通过其他第三方同步工具 (Dropbox/NextCloud/OneDrive/WebDAV/etc) 进行备份以及同步 ,Dropbox、OneDrive这两个网盘虽然好用,但是不能用。

所以,我们能够选择的就是使用WebDAV,NextCloud,S3云存储和Joplin Server这四种方式来给Joplin做同步了,本篇文章就来分享一下Joplin这四种同步教程。更多的实用工具,还有:

  1. 十大免费开源的网站统计程序-自建网站统计工具 可视化数据分析
  2. 密码管理软件整理汇总-好用免费和付费的密码管理软件推荐
  3. Tiny Tiny RSS最新安装与使用教程-Awesome TTRSS Docker安装配置方法

PS:更新记录.

1、很多人都会用不同的浏览器,但是苦于不同的浏览器不能共享浏览器书签以及同步,可以用这个方法解决:Floccus浏览器书签同步工具-Firefox,Chrome,Edge等跨浏览器书签同步。2023.5.7

2、想要自建对象存储服务的,可以试试这几款开源免费的自建程序:六个开源免费对象存储程序收集整理-自建兼容S3云存储协议对象存储。2023.2.2

一、Joplin WebDAV同步

网站:

  1. https://joplinapp.org

有关于Joplin的安装与使用请参考教程:替代Evernote免费开源笔记Joplin-网盘同步笔记历史版本Markdown可视化

1.1 打开WebDAV

进入到Joplin同步设置中,选择WebDAV同步。

1.2 坚果云WebDAV

目前国内的支持WebDAV协议的网盘也就剩下坚果云了,关于坚果云的使用方法,请参考:巧用又拍云FTP和坚果云WebDAV-打造个人文件备份和数据云存储

注意:坚果云首次同步时会因为 WebDAV 短时间内的大量请求被坚果云临时限制,坚果云提示为“Too many requests”,这个封锁会持续大约6小时。同步之前,在 Joplin 的“工具” > “选项” > “同步” > “高级选项”中,将“最大并发连接数”改为1可以有效避免。

1.3 其它WebDAV网盘

坚果云有一定的免费额度,如果你需要Joplin WebDAV同步的文件比较大的话,就需要其它的支持WebDAV的网盘了,参考:支持WebDAV的国内外网盘整理汇总

名称

免费容量

WebDAV地址

坚果云

1GB

https://dav.jianguoyun.com/dav/

Dropbox

2GB

https://dav.dropdav.com/

box

10GB

https://dav.box.com/dav

TeraCloud

15GB

https://nanao.teracloud.jp/dav/

4Shared

15GB

https://webdav.4shared.com

PowerFolder

5GB

https://my.powerfolder.com/webdav

CloudMe

付费

https://webdav.cloudme.com/XXXXXX

iDriveSync

5GB

https://dav.idrivesync.com/zotero

Yandex Disk

10GB

https://webdav.yandex.ru

Koofr

2GB

https://app.koofr.net/dav/Koofr

MyDrive

100M

https://webdav.mydrive.ch

Memopal

3GB

https://dav.memopal.com/

Storage Made Easy

5GB

https://webdav.storagemadeeasy.com

FileAnywhere

付费

https://webfolder.filesanywhere.com

iCloud

5GB

http://icloud.com/en/webdav

城通网盘

500G

https://www.ctfile.com/

二、Joplin NextCloud同步

Joplin NextCloud同步其实和Joplin WebDAV同步原理是一样的,也是利用NextCloud的WebDAV,区别就在于NextCloud是自建网盘,数据在自己手里,安全且放心。

NextCloud安装与使用参考:NextCloud从入门到精通-自建网盘搭建个人云存储系统

三、Joplin S3云存储同步

支持S3协议云存储非常地多,无论是国内还是国外的云存储基本上都兼容了S3协议:

  1. 十个国外优秀的网盘云存储使用对比-免费存储,单个文件,自动同步备份和在线文档
  2. 十个国内优秀对象云存储服务使用对比-用于网站云存储和CDN加速

这里以腾讯云COS作为演示

  1. 首页:https://cloud.tencent.com/
  2. 教程:

    新建用户。在右上角找到“访问管理”。

    然后点击用户列表,选择新建用户。

    访问方式选择“编程访问”。

    由于我们需要一个用来管理COS存储的用户,所以权限就不用管了,直接点击下一步。

    创建完成后,就会显示ID和Key了,这两个要记好。

    授于COS访问权限。回到你刚刚创建的COS存储桶,在“权限管理”处选择存储桶访问权限。

    添加你刚刚创建的账户,授于数据读取、数据写入、权限读取,点击保存。

    现在你可以到Joplin选择同步方式了,按以下要求输入:

    Synchronisation target: S3 (Beta)

    S3 bucket:填写创建的存储桶名称

    S3 URL:填写以下地址

    https://cos.<存储桶所属地域>.myqcloud.com/

    访问key:填写之前保存的SecretId

    访问 secret:填写之前保存的SecretKey

    更多的S3对象存储还可以看看Linode的:Linode对象存储管理与使用教程-兼容 S3 协议的对象存储价格便宜超大存储

    四、自建Joplin Server同步

    网站:

    1. https://hub.docker.com/r/joplin/server
    2. https://github.com/laurent22/joplin/blob/dev/packages/server/README.md

    4.1 准备VPS主机

    Docker需要VPS运行,现在的VPS主机基本上也是白菜价了,有关于VPS主机评测查看:VPS主机排行榜单

    4.2 Docker环境

    有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源

    bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

    4.3  Joplin Server安装

    首先是创建目录,下载docker-compose file

    #创建目录
    cd ~
    mkdir joplin
    #进入目录
    cd joplin
    #下载
    wget https://raw.githubusercontent.com/laurent22/joplin/dev/docker-compose.server.yml
    mv docker-compose.server.yml docker-compose.yml 
    #修改域名和密码
    vim docker-compose.yml

    然后修改POSTGRES_USER、POSTGRES_PASSWORD、APP_BASE_URL,其中APP_BASE_URL填写你的服务器IP:端口。

    或者是直接手动创建 docker-compose.yml 。

    #创建 docker-compose.yml 
    vim docker-compose.yml

    将以下代码复制到里面,在 vim 中 :i 把写好的文配置直接粘贴进去,esc 退出插入模式,:w 保存文件然后运行 :q 退出编辑器。

    # This is a sample docker-compose file that can be used to run Joplin Server
    # along with a PostgreSQL server.
    #
    # Update the following fields in the stanza below:
    #
    # POSTGRES_USER
    # POSTGRES_PASSWORD
    # APP_BASE_URL
    #
    # APP_BASE_URL: This is the base public URL where the service will be running.
    # - If Joplin Server needs to be accessible over the internet, configure APP_BASE_URL as follows: https://example.com/joplin. 
    # - If Joplin Server does not need to be accessible over the internet, set the the APP_BASE_URL to your server's hostname. 
    #     For Example: http://[hostname]:22300. The base URL can include the port.
    # APP_PORT: The local port on which the Docker container will listen. 
    # - This would typically be mapped to port to 443 (TLS) with a reverse proxy.
    # - If Joplin Server does not need to be accessible over the internet, the port can be mapped to 22300.
    
    version: '3'
    
    services:
        db:
            image: postgres:13
            volumes:
                - ./data/postgres:/var/lib/postgresql/data
            ports:
                - "5432:5432"
            restart: unless-stopped
            environment:
                - POSTGRES_PASSWORD=wzfou.com
                - POSTGRES_USER=wzfou
                - POSTGRES_DB=joplin
        app:
            image: joplin/server:latest
            depends_on:
                - db
            ports:
                - "22300:22300"
            restart: unless-stopped
            environment:
                - APP_PORT=22300
                - APP_BASE_URL=http://209.209.10.150:22300
                - DB_CLIENT=pg
                - POSTGRES_PASSWORD=wzfou.com
                - POSTGRES_DATABASE=joplin
                - POSTGRES_USER=wzfou
                - POSTGRES_PORT=5432
                - POSTGRES_HOST=db
    

    执行以下命令开始运行:

    docker-compose up -d

    登陆 web 管理页面:https://你的IP:22300/login,默认帐号 admin@localhost,默认密码 admin

    这个就是 Joplin Server的管理界面。

    在用户管理处我们新建一个专门用于同步的账号。

    现在打开Joplin同步设置,填写你的 Joplin Server访问地址,填写账号和密码,完成设置。

    4.4 实现域名访问

    Joplin Server默认是使用IP+端口形式访问,如果你希望使用域名绑定访问,建议使用Oneinstack一键包或者LNMP一键安装包添加绑定域名,同时设置好SSL证书。

    然后修改域名的Nginx配置文件,参考以下反向绑定域名即可实现Joplin Server域名访问。

    server {
    server_name  你的域名;
    listen 80;
    #return 301 https://$server_name$request_uri;
    #反向绑定域名部分
        location / {
        proxy_pass http://127.0.0.1:22300;
        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;
    
        client_max_body_size        100m;
        client_body_buffer_size     128k;
    
        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }
    #反向绑定域名部分
    
    }

    不想用命令来反向绑定域名的,可以试试这个Docker专用绑定域名工具:Nginx反向绑定域名管理工具-无需修改Nginx规则一键添加反向绑定域名

    五、Joplin备份与恢复

    Joplin建议安装插件Simple Backup,这个插件可以实现一键备份和恢复Joplin,支持手动备份或者定时自动备份。主要备份了Joplin以下数据:

    所有笔记Notebooks as JEX export (Empty notebooks are not backed up)

    The settings.json (Joplin settings)

    The keymap-desktop.json (Keyboard shortcuts)

    The userchrome.css (Your Joplin customization)

    The userstyle.css (Your Joplin customization)

    The templates folder (Note templates)

    The plugin folder (All installed plugins, no plugin settings!)

    该插件可以在Joplin插件目录中找到:https://github.com/joplin/plugins。安装插件后先设置一个备份目录。

    恢复配置。从备份的目录中复制出<Backup Path>\Profile to  到Joplin的目录下替换 .config\joplin-desktop.Joplin的配置路径你可以通过以下方式找到: Tools > Options > General:

    恢复笔记。直接从Joplin的文件导入功能,导入JEX文件即可。

    六、总结

    免费开源笔记软件Joplin同步策略中,Joplin WebDAV易用性比较高,只要找到支持WebDAV的网盘就可以实现同步了。Joplin S3云存储费用便宜,尤其是国内的腾讯云COS等对象存储基本上都兼容S3协议,使用大厂的云存储稍微安全一些。

    NextCloud和Joplin Server同步则非常适合有自己的VPS主机或者服务器的站长朋友了,无论是大厂或者小厂的服务器,总会有安全性和隐私性的问题,数据放在自己手里才是真正的放心。不过,这两个配置起来需要一定的VPS主机使用知识。

    文章出自:挖站否 https://wzfou.com/joplin-tongbu/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

文章更新于: %s = human-readable time difference 下午11:09

Qi

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

查看评论

  • 官方是不建议使用 坚果云 的,详见:https://joplinapp.org/faq/#the-following-webdav-hosts-are-not-supported

    我用的 OneDrive 同步方法是,Joplin 里同步设置为 File system,目录指向 OneDrive 的本地路径里某一个文件夹。

  • # 使用sqlite,docker运行要注意数据保存
    - DB_CLIENT=sqlite3
    - SQLITE_DATABASE=/home/joplin/data/joplin-server.sqlite
    # 将图片存储到本地而不是数据库里
    - STORAGE_DRIVER=Type=Filesystem; Path=/home/joplin/data/item
    # 设置电子邮件
    - MAILER_ENABLED=true
    - MAILER_HOST=smtp.mailgun.org
    - MAILER_PORT=587
    - MAILER_SECURITY=ssl
    - MAILER_AUTH_USER=xx@xx
    - MAILER_AUTH_PASSWORD=密码
    - MAILER_NOREPLY_NAME=记事本
    - MAILER_NOREPLY_EMAIL=xx@xx
    都是搜GitHub仓库和软件说明找到的。