Rainbond实战:3分钟搭建一个私有笔记服务-Joplin

Joplin 是一款开源的笔记和待办事项应用程序,支持Markdown编辑和多端同步,并且可以私有化部署,对于像我这样习惯使用Markdown写作的人来说,简直是一大福音。在此之前我用过一些云笔记服务,但是随着“降本增效”,数据的安全性无法保障,因此我将注意力转向了可以私有化部署的笔记服务。

Joplin 本身是一个客户端软件,下载即用。但是如果需要多端同步,则需要部署私有化服务或者选择官方提供的 Joplin Cloud。本文将介绍如何通过 Rainbond 在 3 分钟内部署好这个私有笔记服务。

Joplin:功能全面的私有笔记服务

Joplin 是一个完全开源的笔记程序。支持 Windows、Mac、安卓、iPhone 全平台。所有笔记以开放的格式保存在本地,可以离线使用,同时还支持多种同步方式,你可以完全掌握你的数据。

image.png

Joplin 有以下优点:

  • 代码开源,已经有接近 41k Star,稳定性有保障
  • 支持完全离线使用,并且采用了端到端加密
  • 支持多种同步方式,可以自建 Joplin Server、兼容各类 S3 协议的对象存储、文件系统等多种同步方式
  • 支持从其他笔记平台导入已有笔记,如印象笔记、Markdown、OneNote等,迁移成本低
  • 支持导出多种格式,如HTML、PDF、Markdown等
  • 笔记支持网络分享,可以通过自建的 Joplin Server 分享给其他用户在线浏览,与其他云笔记服务一样

一键部署 Joplin

在部署时需要用到 Rainbond 这个应用管理平台,利用这个平台可以部署各类应用并且统一进行管理。当不需要使用Joplin时,还可以直接通过该平台关闭应用,减少资源占用。

安装Rainbond

Rainbond 是一个开源的应用管理平台,不需要了解容器和K8s,就可以轻松部署和管理各类应用;在这里我们可以将其理解为电脑的操作系统,对于像Joplin之类的应用只需要鼠标点点,即可安装使用。

可通过一条命令快速安装 Rainbond。

curl -o install.sh https://get.rainbond.com && bash ./install.sh
通过应用商店部署Joplin

Joplin 这个应用已经发布到 Rainbond 开源应用商店,用户可通过开源应用商店一键安装。在 Rainbond 的 「平台管理 -> 应用市场 -> 开源应用商店」 中搜索 Joplin 并点击安装。即可将应用运行起来。

image.png

看到如下界面,表示你的应用已经部署完成了。

image.png

配置Joplin

Joplin 运行起来以后,由于它的安全设置,访问的域名必须与容器内部读取的环境变量保持一致才可正常工作。因此我们需要点击 joplin 这个绿色的六边形,访问到该软件的详情页面。

image.png

进入详情页面后,点击「端口」,查看组件当前的访问策略,如果对外服务未打开,则打开对外服务会自动生成可访问的域名。复制该域名,切换到「环境变量」的Tab页,找到 「APP_BASE_URL」这个环境变量,修改它的值为刚刚复制的域名。修改完成后,点击右上角的「滚动(更新)」按钮,等待更新完成,即可直接访问 Joplin。

默认账户:admin@localhost

默认密码:admin

至此,已经部署好了 Joplin 这个应用,只需要登录后,根据页面提示下载客户端。下载完成后,在客户端的设置中,配置同步选项。同步目标选择 Joplin Server,URL 填写刚刚的访问域名,邮箱和密码填写上面的默认账户和密码。如下图所示:

image.png

后续在你客户端的笔记都会同步到你部署的 Joplin 中。无论是在手机还是电脑都可以随时记录和同步。

应用管理

如果不需要 Joplin 一直运行,后续可以在该软件的详情页面进行关闭。通过这个详情页面,我们可以查看 Joplin 的运行状态,运行日志,同时可以调整其运行实例数量和占用的资源大小。域名、环境变量等参数均可在此配置。

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2804427.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

unity学习(38)——创建(create)角色脚本(panel)--EventSystem

1.在scripts文件夹下创建一个脚本CreatePlayerPanel.cs,脚本挂到panel上!给panel加个tag,叫createPanel,脚本内容如下: using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngin…

RabbitMQ-消息队列:发布确认高级

18、发布确认高级 在生产环境中由于一些不明原因,导致 RabbitMQ 重启,在 RabbitMQ 重启期间生产者消息投递失败, 导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投…

如何使用Inno Setup制作Unity构建程序的Windows安装程序

1. 准备 (1)准备好Unity构建的程序集合 必须包括: Data文件夹(xxx_Data) Mono文件夹(MonoBleedingEdge) 打包的应用程序文件(xxx.exe) Unity播放器dll文件&#xff…

瑞_23种设计模式_装饰者模式

文章目录 1 装饰者模式(Decorator Pattern)1.1 介绍1.2 概述1.3 装饰者模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析5 总结5.1 装饰者模式的优缺点5.2 装饰者模式的使用场景5.3 装饰者模式 VS 代理模式 &#x…

Python+Selenium-使用Pillow库进行元素截图

1. Pillow库 Pillow库是Python图像处理的基库,是一个免费开源的第三方库。 通过Python PyPi第三方库官网(https://pypi.org/project/Pillow/#files)下载与平台系统相对应的版本: 下载完成后,进入下载文件的所在位置&…

【LeetCode每日一题】 单调栈的案例 42. 接雨水

这道题是困难,但是可以使用单调栈,非常简洁通俗。 关于单调栈可以参考单调栈总结以及Leetcode案例解读与复盘 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 …

ESP8266智能家居(5)——开发APP深入篇

1.代码解析 接下来重点介绍一下逻辑代码 这里面主要是设置mqtt服务器的IP地址和端口号,设置服务器的用户名和登录密码 绑定好订阅主题和发布主题(和8266上的订阅、发布交叉就行) 绑定界面,设置界面标题 绑定6个文本控件 将从mq…

【洛谷题解】B2118 验证子串

题目链接&#xff1a;验证子串 - 洛谷 题目难度&#xff1a;入门 涉及知识点&#xff1a;STL函数 题意&#xff1a; 分析&#xff1a;用一个STL内置的find函数 AC代码&#xff1a; #include<bits/stdc.h> /*find用法&#xff1a;string s1&#xff0c;s2;int as1.f…

设计模式-创建型模式-原型模式

原型模式&#xff08;Prototype Pattern&#xff09;&#xff1a;使用原型实例指定创建对象的种类&#xff0c;并且通过克隆这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式其实就是从一个对象再创建另外一个可定制的对象&#xff0c;而且不需知道任何创建的细节…

图片如何降低kb?这个方法很方便

图片体积过大的话&#xff0c;有两种最简单的方法可以解决&#xff0c;最直接的就是压缩图片大小&#xff0c;降低图片kb&#xff0c;再就是修改图片尺寸让图片体积变小&#xff0c;这两种操作方式都可以在本文介绍的这款图片处理工具中完成&#xff0c;图片压缩对我们来说最主…

ClickHouse 指南(三)最佳实践 -- 稀疏主索引

在ClickHouse主索引的实用介绍 ClickHouse release 24.1, 2024-01-30 1、简介 在本指南中&#xff0c;我们将深入研究ClickHouse索引。我们将详细说明和讨论: ClickHouse中的索引与传统的关系数据库管理系统有何不同ClickHouse是如何构建和使用表的稀疏主索引的什么是在Clic…

「递归算法」:求根节点到叶节点数字之和

一、题目 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数…

三防平板丨三防平板电脑丨三防加固平板丨智能化应用

随着信息技术和智能化技术的不断发展&#xff0c;越来越多的行业开始采用三防平板作为工具和设备&#xff0c;以提高生产效率和工作质量。下面&#xff0c;我将详细介绍三防平板在智能化行业中的应用。 首先&#xff0c;三防平板在制造业中有着广泛的应用。制造业是一个需要精密…

java——IO流基础

目录 IO流IO流的四大分类&#xff1a;IO流的体系&#xff1a;FileinputStream&#xff08;文件字节输入流&#xff09;FileOutputStream(文件字节输出流&#xff09;文件复制资源释放FileReader&#xff08;文件字符输入流&#xff09;FileWriter(文件字符输出流&#xff09;缓…

JVM虚拟机结构

虚拟机结构图 从图中看出&#xff1a; JVM虚拟机主要有三大部分组成&#xff1a; 1. 类加载器 2. JVM运行时内存 3. 执行引擎 一、类加载器 类加载器主要用来加载字节码文件&#xff08;.class&#xff09;到内存中 二、内存结构 如图&#xff1a;可将内存分为两大部分&…

Linux系统性能分析(top,iostat,free)

top Linux系统中&#xff0c;Top命令主要用于实时运行系统的监控&#xff0c;包括Linux内核管理的进程或者线程的资源占用情况。 这个命令对所有正在运行的进程和系统负荷提供不断更新的概览信息&#xff0c;包括系统负载、CPU利用分布情况、内存使用、每个进程的内容使用情况…

js设计模式:策略模式

作用: 根据不同的条件去进行相应的业务逻辑处理 就好比针对每种情况都制定对应的方案,触发条件就启动某项方案策略 示例: //策略对象const arrangeFun {model1:(value1,value2,value3,value4)>{return ${value1}${value2}${value3}:${value4}},model2:(value1,value2,va…

HubSpot出海营销的优势有哪些?

HubSpot在出海营销方面的优势可以更为详细地分析如下&#xff1a; 全球化功能支持&#xff1a; HubSpot的多语言支持和多地区适配功能&#xff0c;使得企业能够在不同国家和地区进行营销活动&#xff0c;而不必担心语言和文化差异的障碍。 通过全球化的模板和内容管理系统&a…

微信小程序 --- wx.request网络请求封装

网络请求封装 网络请求模块难度较大&#xff0c;如果学习起来感觉吃力&#xff0c;可以直接学习 [请求封装-使用 npm 包发送请求] 以后的模块 01. 为什么要封装 wx.request 小程序大多数 API 都是异步 API&#xff0c;如 wx.request()&#xff0c;wx.login() 等。这类 API 接口…

后端经典面试题合集

目录 1. Java基础1-1. JDK 和 JRE 和 JVM 分别是什么&#xff0c;有什么区别&#xff1f;1-2. 什么是字节码&#xff1f;采用字节码的最大好处是什么&#xff1f; 1. Java基础 1-1. JDK 和 JRE 和 JVM 分别是什么&#xff0c;有什么区别&#xff1f; JDK 是Java开发工具包&am…