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

news/2024/7/9 22:11:04 标签: docker, postgresql, 笔记, 服务器

文章目录

    • 前置条件
    • 步骤1:获取joplin的镜像
    • 步骤2:配置容器参数
      • 2.1 端口设置
      • 2.2环境变量设置(配置数据库)
    • 步骤3. 启动服务端
    • 步骤4. 配置客户端
      • 4.1 下载客户端
      • 4.2 配置客户端同步
    • 步骤5. 外网访问
    • 插件安装

通常我们都会用到印象笔记,有道云这类云笔记来记录学习和工作中的内容。但是有一说一,非会员的登录终端限制,导出格式限制以及笔记的总容量等等都是处处受限。所以找了一些开源笔记后,考虑对手机(安卓,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上的插件列表界面。下载插件包到本地
  • 安装插件,点击“从文件安装”选择刚刚下载到本地的插件即可安装成功

http://www.niftyadmin.cn/n/5296064.html

相关文章

4.33 构建onnx结构模型-Expand

前言 构建onnx方式通常有两种: 1、通过代码转换成onnx结构,比如pytorch —> onnx 2、通过onnx 自定义结点,图,生成onnx结构 本文主要是简单学习和使用两种不同onnx结构, 下面以 Expand 结点进行分析 方式 方法一…

如何正确使用docker搭建redis服务器,安装gcc和make以及出现错误时的解决办法

搭建redis服务器 目录 搭建redis服务器 (1)开启docker,并查看是否开启成功 (2)启动上面创建的ssrf容器,并进入ssrf容器 (3)进入opt,然后下载redis-5.0.5.tar.gz &a…

node使用nodemonjs自动启动项目

安装 npm install -g nodemon使用方法 我这里用的是electron项目为例package.json配置 {"name": "my-electron-app","version": "1.0.0","description": "Hello World!","main": "main.js"…

[spark] SaveMode

https://spark.apache.org/docs/latest/api/java/index.html?org/apache/spark/sql/SaveMode.html Overwrite 覆盖模式是指将DataFrame保存到数据源时,如果数据/表已经存在,则现有数据将被DataFrame的内容覆盖。 注意: Overwrite 模式会覆盖已存在的表…

Git:远程仓库的使用

查看当前的远程库 要查看当前配置有哪些远程仓库,可以用git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库: 也…

阿里云华北3(张家口)暂时无法办理经营性ICP许可证

阿里云服务器的华北 3(张家口)地域暂时无法办理经营性ICP许可证,如有经营性ICP业务请勿选择此地域。如果需要办理经营性ICP业务的用户,不需要选择华北3(张家口)地域,可以选择华北2(北…

Vue 框架前导:详解 Ajax

Ajax Ajax 是异步的 JavaScript 和 XML。简单来说就是使用 XMLHttpRequest 对象和服务器通信。可以使用 JSON、XML、HTML 和 text 文本格式来发送和接收数据。具有异步的特性,可在不刷新页面的情况下实现和服务器的通信,交换数据或者更新页面 01. 体验 A…

互联网加竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…