使用docker+postgresql搭建私有云笔记joplin全终端适配

通常我们都会用到印象笔记,有道云这类云笔记来记录学习和工作中的内容。但是有一说一,非会员的登录终端限制,导出格式限制以及笔记的总容量等等都是处处受限。所以找了一些开源笔记后,考虑对手机(安卓,ios),pc(win,linux)不同终端的跨平台同步,以及markdown的支持的友好程度下,对我而言joplin无疑是最优解。 Joplin不仅满足了这些基本要求,还提供了一些独特的优势支持强大的笔记加密功能,至少在公司的电脑上使用不会被恶意监听;丰富的插件生态基本可以有很多的自定义的空间。

前置条件

  • 一个配置好的NAS设备,具备Docker支持。我这里使用的是极空间的NAS设备
  • 已经配置好的postgres数据库(其他数据库也行,初始化界面可以配置使用的数据库)
  • 已经配置好的nginx

步骤1:获取joplin的镜像

镜像仓库中搜索joplin/server 或者直接命令行拉取:docker pull joplin/server

步骤2:配置容器参数

获取镜像完成后,将镜像添加到容器中,需要设置端口, 挂载,以及部分环境变量

2.1 端口设置

joplin需要把笔记同步的端口22300映射出来

2.2环境变量设置(配置数据库)

我这里以pg为例,如果使用的其他的数据库可以参考官方文档给出的环境变量

  • 注意先提前在Pg中创建好名称为joplin的数据库,或者任意名称均可,只要和环境变量重设置的POSTGRES_DATABASE的名称一致即可。
  • 然后在按照下图中的变量名依次配置pg的host, port,username和pasword
  • 最后记得改时区

步骤3. 启动服务端

接下来在浏览器输入上一步重配置的环境变量APP_BASE_URL的值就能访问了。 服务端管理界面的默认管理员的登陆信息:

  • Email: admin@localhost
  • Password: admin 登陆后可以根据自己的需要去摸索一些配置了。至此,服务端我们就配置完成了。接下来去下载客户端让我们能够实现自己笔记的云端同步

步骤4. 配置客户端

4.1 下载客户端

  • PC端:下载址
  • 安卓/IOS端: 应用市场直接搜索即可

4.2 配置客户端同步

这里以PC端为例,手机端也是基本一样的界面。

  • 打开PC端的joplin选择工具-选项
  • 配置同步功能 同步目标需要选择Joplin Server,这样才能连上我们自己的私有服务器。
    注意服务器URL必须填写APP_BASE_URL,如果配置了代理的话比如使用域名test.com 进行了反向代理,那么APP_BASE_URL也得配置成test.com,否则无法成功访问

步骤5. 外网访问

通过内网穿透将我们docker中的22300端口转发出去即可。唯一需要注意的是配置完成后需要将容器的APP_BASE_URL的配置修改成穿透到的公网地址。

插件安装

joplin也提供了很多插件,在github上可以看到,插件的安装方式也很简单。

  • 选择插件,点击"浏览所有插件"就能跳转到github上的插件列表界面。下载插件包到本地
  • 安装插件,点击"从文件安装 "选择刚刚下载到本地的插件即可安装成功
相关推荐
Hello_Embed9 小时前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中10 小时前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto10 小时前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h11 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
周周记笔记14 小时前
学习笔记:第一个Python程序
笔记·学习
丑小鸭是白天鹅14 小时前
Kotlin协程详细笔记之切线程和挂起函数
开发语言·笔记·kotlin
潘达斯奈基~14 小时前
《大数据之路1》笔记2:数据模型
大数据·笔记
..过云雨14 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中14 小时前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui
一又四分之一.15 小时前
高数基础知识(下)②
笔记