快速部署私有云笔记,免费享受多端同步
一、老Q笔记之一路坎坷
市面上的笔记软件非常多,有些是本地编辑功能特别强大但是不支持云同步,有些是支持上云但是编辑功能不够完善。选择一款合适的云笔记软件,无疑能让我们工、学习的时候更加顺心、顺手。
这么多年来老Q使用过很多云笔记软件。大家听闻较多的有印象笔记、有道云笔记、为知笔记、OneNote和Notion等,还有一些稍微冷门的比如蚂蚁笔记、Joplin、Boostnote、Obsidian和Typora等。
我前前后后体验过数十种笔记软件,应该还算是有些发言权。我对于笔记软件的核心诉求有:
- 支持多端云同步;
- 支持多级目录;
- 支持Markdown和Latex公式;
- 最好是所见即所得,退而求其次也可以分栏;
- 以
.md
文件存储或可以批量导出.md
文件; - 简洁美观;
- 最好支持图片自动上传图床。
单从Markdown和Latex语法的支持来看,VS Code、Joplin、蚂蚁笔记、Typora、Obsidian都能满足我的诉求,然而在其他方面总有些不够称心如意的地方。
其实我在比较长的时间里,使用的是Typora+云同步盘的方案,这一套方案基本上满足了我的所有诉求。
然而,从某一天开始,公司为了数据安全,屏蔽了各类网盘的使用,这一套方案就不太灵了。真是感谢公司给我又增加了一道障碍。
这时,我买了一台NAS,来代替之前的百度网盘、腾讯微云等网盘软件。没过多久,公司又进一步发文,禁用的网盘也包括此类软件,只能考虑其他方案。
我的NAS支持WebDav,而Joplin支持WebDav来实现云存储,所以我切换到了这一方案。没过多久,公司安全软件又提醒我Joplin软件有违规,我必须要卸载。我TM……
于是,我想着我干脆自己部署一个私有的云笔记好了,毕竟公司不可能屏蔽所有的外链,我们干活儿还得天天去外网复制粘贴代码呢。
经过各种尝试、体验,我最终选中了思源笔记。
二、安装思源笔记
还是以老Q的绿联DX4600为例。首先我们打开Docker管理器,进入镜像管理。然后在镜像仓库中搜索b3log/siyuan
,选择latest
版本并下载。
下载完成后,我们在本地镜像中找到刚刚下载的镜像,点击创建容器。起一个响亮的英文名,勾选创建后启动容器,点击下一步。
在基础设置中,重启策略选择“容器退出时总是重启容器”。
在命令中,输入--workspace=/siyuan/workspace
。
在存储空间中,我们在NAS中创建一个属于思源笔记的专属文件夹,并在该文件夹中创建一个子文件夹,并将其与容器中的/siyuan/workspace
目录绑定,类型设置为读写。
设置一个喜欢的本地端口号。
此时,输入我们的IP+端口
或者域名+端口
即可在线访问。
三、配置思源笔记
找到设置按钮,在Appearance中找到Language,改为简体中文。
点击关于。点击通过密码生成秘钥,该密码要记牢,后续跨设备同步需要使用。该密码用于加密解密,如果秘钥忘记了,你的笔记就废了。
设置访问授权码,这里强烈建议设置,不然其他人通过你的网址也可以访问你的笔记。
点击云端。如果想要使用官方的云同步,那就需要购买会员。我们有自己的NAS并且支持WebDav,那自然是要选择WebDav了。Endpoint处填写我们WebDav要使用的根目录链接,然后Username和Password处分别填写我们的账号密码。勾选“启用云端同步”和“同步冲突时生成冲突文档”。在WebDav目录中,我们提前创建好一个目录名称比如Siyuan
,那么在云端同步目录里我们就可以选择它来作为未来同步专用的文件夹。如果没有的话,软件会默认创建一个main
文件夹来作为同步文件夹。
好了,到这里我们的软件就配置完成了。有条件的同学还可以配置一下反向代理以隐藏端口。
四、效果展示
相关文章:
快速部署私有云笔记,免费享受多端同步
一、老Q笔记之一路坎坷 市面上的笔记软件非常多,有些是本地编辑功能特别强大但是不支持云同步,有些是支持上云但是编辑功能不够完善。选择一款合适的云笔记软件,无疑能让我们工、学习的时候更加顺心、顺手。 这么多年来老Q使用过很多云笔记…...
python生成 2048位随机质数 Miller-Rabin质数测试算法
Miller-Rabin质数测试算法是一种基于随机化的算法,用于判断一个数是否为质数。该算法具有高效性和强健性,通常被用于加密算法中生成大素数。 该算法基于以下两个事实:对于质数ppp和任意整数aaa,有ap−1≡1(modp)a^{p-1} \equiv 1…...
♡ — MySQL 查询缓存
MySQL 查询缓存 执行查询语句的时候,会先查询缓存。MySQL 8.0 版本后移除,因为这个功能不太实用。 my.cnf 加入以下配置,重启 MySQL 开启查询缓存: query_cache_type1 query_cache_size600000MySQL 执行以下命令也可以开启查询缓…...
死锁检测组件 -- 使用hook检测死锁
目录 hook hook是什么 dlsym()函数 hook的实现步骤 加入hook的demo C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 hook hook可以把系统或第三方库提供的函数,替换成我们写的同名函数。会调用我们实现的函数。 hook是什么 hook提供了两…...
第2集丨Java中的数据类型汇总
目录一、数据类型分类二、基本数据类型取值范围数据类型的转换byte和char的关系三、包装类一、数据类型分类 二、基本数据类型 取值范围 比特(bit位) : 数据运算得最小存储单位字节(byte) : 数据最小存储单位bit和byte可以互相转换得,1 byte 8 bit位默认情况下&am…...
【基础篇】7 # 队列:队列在线程池等有限资源池中的应用
说明 【数据结构与算法之美】专栏学习笔记 什么是队列? 队列是一种操作受限的线性表数据结构,特点是先进先出,最基本的操作有:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头…...
matlab进行双目标定获取双目参数并打印教程
文章目录前言1.打开matlab进行双目标定2.获取想要的参数前言 在相同的标定算法和标定参数下,Python和Matlab的标定精度是相同的。因为标定精度主要取决于标定算法和标定参数的质量,而不是编程语言的选择。 不同的编程语言可能使用不同的库或实现细节&…...
JVM类加载机制
回到2018年的抖音哈哈. 回顾下: java开发环境: java编译运行过程: 1) 编译期:.java源文件,经过编译,生成.class字节码文件 2) 运行期:JVM加载.class并运行.class(0和1) 特点: 跨平台、一次编程,处处报错 名词解释: 1…...
8.1 优化概述
数据库性能取决于数据库级别的几个因素,例如表、查询和配置设置。这些软件结构导致了硬件级别的 CPU 和 I/O 操作,您必须将其最小化并尽可能提高效率。在研究数据库性能时,首先要学习软件端的高级规则和准则,然后使用墙上的时钟时…...
从0到1一步一步玩转openEuler--14 openEuler DNF(YUM)配置管理
文章目录14.1 DNF配置文件14.1.1 配置main部分14.1.2 配置repository部分14.1.3 显示当前配置14.2 创建本地软件源仓库14.3 添加、启用和禁用软件源14.3.1 添加软件源14.3.2 禁用软件源14.3.3 启用软件源DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查…...
leetcode707 设计链表 带有输入和输出的
题目: 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节…...
100种思维模型之非sr思维模型-012
什么是sr? sr是stimulus-response的缩写,意思是刺激反应。 那么非sr思维模型就是非刺激反应思维模型的意思。 今天我们来聊聊非sr思维模型——一个提醒我们思考,提醒我们任何时刻都有选择权的思维模型。 本文依然从三个方面进行介绍,何谓…...
绿竹生物再冲刺港交所上市:暂未商业化,孔健夫妇为实控人
近日,北京绿竹生物技术股份有限公司(下称“绿竹生物”)在港交所递交招股书,准备在港交所主板上市,中金公司为其独家保荐人。据贝多财经了解,绿竹生物曾于2022年6月28日在港交所递表。 相较于此前招股书&am…...
加拿大MSB金融牌照申请方案
什么是加拿大MSB金融牌照? 根据犯罪所得(洗钱)和恐怖主义融资法案,您的企业必须在加拿大金融交易和报告分析中心 (FINTRAC) 注册成为货币服务企业。自 2020 年 6 月 1 日起,外国货币服务企业也必须在 FINTRAC 注册&…...
javaEE 初阶 — 滑动窗口
文章目录滑动窗口1 滑动窗口下如何处理丢包TCP 工作机制:确认应答机制 超时重传机制 连接管理机制 滑动窗口 确认应答机制、超时重传机制、连接管理机制 都是给 TCP 的可靠性提供支持的。 虽然事变的比较可靠了,但是是有牺牲的,那就是传输…...
大咖说·图书分享|狼书(卷3):Node.js高级技术
Node.js都有哪些需要掌握的高级技术?前端为什么同样需要学习? Node.js未来的发展趋势究竟如何?本期大咖说,Node布道师桑世龙携新作《狼书(卷3):Node.js高级技术》展开分享。 ● 嘉宾介绍 桑世龙:Node布道…...
1.5配置NBMA和P2MP网络类型
1.3.3实验5:配置NBMA和P2MP网络类型 1. 实验需求 控制OSPF DR的选举修改OSPF的网络类型2. 实验拓扑 配置NBMA和P2MP网络类型实验拓扑如图1-13所示。 图1-13 配置NBMA和P2MP网络类型 3. 实验步骤 帧中继的配置如图1-14和图1-15所示...
Java面试题
三次握手,四次挥手中,为什么要挥手四次 第一次握手,客户端发送同步报文到服务端,客户端知道自己有发送数据能力,不知道服务端是否有发送、接受数据能力。 第二次握手,服务端收到同步报文,并回复…...
opencv锁定鼠标定位
大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...
机器连接和边缘计算
以一种高效、可扩展的方式进行连接和边缘计算的结合,解决了在工业物联网应用中的机器数据集成问题。 一 边缘计算 边缘计算描述了由中央平台管理的数据分散式处理。边缘计算对于工业物联网而言非常重要。在许多应用程序中,由于数据量非常大,…...
利用NGROK将本地网站发布为一个公开网站
一般与第三方服务集成时,需要提供https的回调URL,本地开发阶段可以利用NGROK将本地网站发布为公开的https网站。https://ngrok.com/downloadWindow下载地址:https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip以Window…...
Vulnhub 渗透练习(一)—— Breach 1.0
环境搭建 环境下载: https://www.vulnhub.com/entry/breach-1,152/ 环境描述: Vulnhub 中对此环境的描述: VM 配置有静态 IP 地址 (192.168.110.140),因此您需要将仅主机适配器配置到该子网。 这里我用的是 VMware ࿰…...
初探Spring采用Spring配置文件管理Bean
文章目录Spring容器演示--采用Spring配置文件管理Bean(一)创建Maven项目(二)添加Spring依赖(三)创建杀龙任务类(四)创建勇敢骑士类(五)采用传统方式让勇敢骑士…...
【手写 Vuex 源码】第十二篇 - Vuex 插件机制的实现
一,前言 上一篇,主要介绍了 Vuex 插件的开发,主要涉及以下几个点: Vuex 插件的使用介绍;Vuex 插件开发和使用分析;Vuex 插件机制的分析; 本篇,继续介绍 Vuex 插件机制的实现&…...
图像去噪技术简述
随着每天拍摄的数字图像数量激增,对更准确、更美观的图像的需求也在增加。然而,现代相机拍摄的图像不可避免地会受到噪声的影响,从而导致视觉图像质量下降。因此,需要在不丢失图像特征(边缘、角和其他尖锐结构…...
数据迁移——技术选型
日常我们在开发中,随着业务需求的变更,重构系统是很常见的事情。重构系统常见的一个场景是变更底层数据模型与存储结构。这种情况下就要对数据进行迁移,从而使业务能正常支行。 背景如下:老系统中使用了mongo数据库,由…...
第二十七章 java并发常见知识内容(CompletableFuture)
JAVA重要知识点CompletableFuture常见函数式编程操作创建 CompletableFuture静态工厂方法处理异步结算的结果异常处理组合 CompletableFuturethenCompose() 和 thenCombine() 区别并行运行多个 CompletableFutureCompletableFuture Java 8 才被引入的一个非常有用的用于异步编…...
Qt扫盲-QMake 使用概述
QMake 使用概述一、概述二、简单开始三、使应用程序可调试1. 添加平台特定的源文件2. 如果文件不存在,停止qmake3. 检查多个条件一、概述 本教程教你qmake的基础知识。qmake 其实就是一个自动化编译的流程控制文件,也是Qt程序的生成makefile的工具&…...
Spring Cloud之Zuul
目录 简介 Zuul中的过滤器 过滤器的执行流程 使用过滤器 route过滤器的默认三种配置 路由到服务 路由到url地址 转发给自己 自定义过滤器 简介 Zuul是Netflix开源的微服务网关,主要功能是路由转发和过滤器,其原理也是一系列filters࿰…...
为什么要有分布式锁?
Redis避坑指南:为什么要有分布式锁?作者:京东保险 张江涛1、为什么要有分布式锁?JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑;多服务多节点的情况下,就意味着有…...
网站推广的基本方法/百度ai人工智能
1、初步认识观察者模式的定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话:其实就是发布订阅模式,发布者发布信息,订阅者获取信息&am…...
亚马逊全球开店官方网站/广州市疫情最新
众所周知,度度熊喜欢的字符只有两个:B 和D。 今天,它发明了一个游戏:D游戏。 度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只是代指等差数列(等差数列百科)中的公差D。 这个游戏…...
长兴住房和城乡建设局网站/友情链接有哪些作用
方法一:插入断点,Debug运行 在欲查看变量值的语句前,插入断点,Debug运行。之后,就在Debug面板下,可以查看各变量值,然后还可按F8、F7、F9查看、调试代码。也可对某些变量,点击右键&a…...
哪里有做网站公司/seo怎么学
爱情没有如果很多人喜欢给爱情做假设。 他说,如果你可以温柔点,我可以更爱你,不会轻易放弃你。 她说,如果你可以体贴点,我可以更珍惜你,我也不会离开你。 但,终究在一个时间的定格中交错走开。 …...
先做网站还是先域名备案/千锋教育培训怎么样
Tomcat各个版本的下载地址包括源码: http://archive.apache.org/dist/tomcat **************** 选择版本 **************** **************** 选择二级版本 **************** **************** 选择bin目录 **************** **************** 找到系统对应的…...
网站建设需要用到什么/sem广告投放是做什么的
React团队推出了一款新工具,希望帮助开发人员减轻新建React应用所引发的痛苦。 在一篇博文中,Dan Abramov介绍了Create React App。该工具让开发人员可以使用一行命令新建一个React应用程序——包括其构建过程和依赖。这是官方支持的一种React应用程序创…...