双链笔记新选择!使用Docker私有化部署Logseq知识库远程团队协作
前言:嘿,小伙伴们,今天要给大家安利一个超酷的技能——如何在本地Linux服务器上使用Docker轻松搭建Logseq笔记软件,并通过cpolar内网穿透工具实现远程访问。大家都知道,在快节奏的工作和学习中,一个好的笔记应用简直就是效率的加速器!但是,市面上五花八门的笔记软件要么价格昂贵让人望而却步,要么功能单一不够用。而现在,我们有了一个更好的选择——Logseq!这款开源神器不仅免费,还提供了强大的知识管理、协作功能,支持PDF注释和任务管理,并且特别注重用户隐私保护。今天,就让我们一起来探索如何在Linux服务器上轻松部署这个高效的笔记工具吧!
目录
1. 安装Docker
2. 简单使用演示
3. 安装cpolar内网穿透
4. 配置公网地址
5. 配置固定公网地址
1. 安装Docker
本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:[《Docker安装教程——Linux、Windows、MacOS》](https://www.cpolar.com/blog/docker-installation-linux-windows-macos)
打开终端执行这行命令启动容器即可:
```shellsudo docker run -d --rm -p 8010:80 ghcr.io/logseq/logseq-webapp:latest```
现在就已经部署完毕了,打开Web浏览器输入localhost:8010,就可以访问到Logseq笔记的web页面了。
2. 简单使用演示
首次登录后为英文界面,我们可以点击右上角设置按钮,先将语言修改为简体中文:
在这里也可以修改主题模式,Accent color等常规设置。而在下面的编辑器设置中,我们可以修改首选文件格式是使用Markdown还是Org。
还有一些其他设置功能,大家可以根据自己喜好进行调整。
作为一款超好用的笔记软件,Logseq支持大纲,双向链接,本地存储。想要开始使用笔记,我们首先需要设置本地文件夹用来存储笔记。不同的浏览器因为兼容问题可能识别不到创建按钮,我这里使用的是谷歌浏览器,可以正常显示,点击右上角的添加图谱,跳转后点击`Choose a folder` ,然后选择本地用来保存笔记的文件夹即可。
完成之后,就可以点击左下角的新建,开始编辑笔记了:
而在刚才创建的本地文件夹中,我们可以看到生成了3个目录,`/journals` - 保存你的日记,`/logseq` - 保存配置,`/pages` - 保存其他页面。
更多Logseq笔记使用相关的说明可以点击右上角的展开侧边栏按钮,然后点击帮助即可看到详细的使用说明:
3. 安装cpolar内网穿透
Logseq 的开源特性和强大功能让它成为了一个理想的知识管理工具。无论是用于学习笔记整理、项目文档管理还是个人知识库构建,都能带来更高效、更有条理的工作体验。不过我们目前只能在本地局域网内访问刚刚部署的笔记,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问它来记笔记,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用设置路由器那么麻烦。
下面是安装cpolar步骤:
> *Cpolar官网地址:* [https://www.cpolar.com](https://www.cpolar.com/)
使用一键脚本安装命令:
```shellsudo curl https://get.cpolar.sh | sh```
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
```shellsudo systemctl status cpolar```
Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【[http://localhost:9200](http://localhost:9200/)】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
4. 配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了: mylogseq ,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8010
- 域名类型:随机域名
- 地区:选择China Top
点击创建:
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。
如下图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的 Logseq 笔记随时随地记笔记啦。同样,你需要在当前使用的设备上创建一个本地文件夹,来保存你的笔记。
**小结**
为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果有长期使用Logseq笔记,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。
5. 配置固定公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是`cocolog`,大家可以自定义。填写备注信息,点击保留。
保留成功后复制保留的二级子域名地址:
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道`logsqe`,点击右侧的`编辑`。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击`更新`
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在浏览器中访问,可以看到成功访问本地部署的Logseq笔记,这样一个永久不会变化的二级子域名公网网址即设置好了。
更多项目详情可以访问作者github项目主页:https://github.com/logseq/logseq
经过今天的教程,相信你已经掌握了用Docker在本地Linux服务器上搭建Logseq的绝技,再加上cpolar内网穿透工具的助力,随时随地都能高效管理和编辑你的笔记。从此,再也不怕错过任何一个重要细节,工作效率直线提升,生活工作两不误!是不是感觉瞬间拥有了超能力?快去试试吧,让Logseq成为你效率提升的秘密武器!
相关文章:
双链笔记新选择!使用Docker私有化部署Logseq知识库远程团队协作
前言:嘿,小伙伴们,今天要给大家安利一个超酷的技能——如何在本地Linux服务器上使用Docker轻松搭建Logseq笔记软件,并通过cpolar内网穿透工具实现远程访问。大家都知道,在快节奏的工作和学习中,一个好的笔记…...
C# 不同框架如何调用framework 和 net core
在 C# 中实现进程间通信(IPC,Inter-Process Communication)有多种方式,适用于不同场景。以下是常见 IPC 方法的实现方案、代码示例及适用场景对比: 1. 命名管道(Named Pipes) 特点:…...
【Linux-传输层协议TCP】TCP协议段格式+确认应答+超时重传+连接管理机制(三次握手、四次挥手、理解TIME_WAIT + CLOSE_WAIT)
TCP协议 TCP全称为“传输控制协议(Transmission Control Protocol)”人如其名,要对数据的传输进行一个详细的控制。 1.TCP协议段格式 下面是TCP报头各个字段的表格形式: 字段名称字段大小描述源端口16位发送端TCP端口号。目的端…...
怎样使用Modbus转Profinet网关连接USB转485模拟从站配置案例
怎样使用Modbus转Profinet网关连接USB转485模拟从站配置案例 Modbus转profinet网关可以将Modbus协议转化为profinet协议,以实现设备之间的数据交互。在实际使用过程中,我们需要使用Modbus协议进行设备通讯,而profinet协议则是用于工业自动化…...
从“自习室令牌”到线程同步:探秘锁与条件变量
目录 互斥 为什么需要锁 锁的原理--互斥 锁的使用 同步 锁的问题 条件变量 互斥 为什么需要锁 先看结果: 以下代码是我模拟创建线程抢票,由于不加锁导致票抢到了负数 main.cc: #include<vector> #include<iostream> #include"…...
Java 大视界 -- Java 大数据在智能政务舆情引导与公共危机管理中的应用(138)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
LeetCode[59]螺旋矩阵Ⅱ
思路: 这种题我第一次确实没做出来,第一次做的时候一圈一圈处理,发现圈数越往里,越乱,原来之前是没从圈数开始遍历。思路:第一个大循环先遍历圈数,一共遍历n/2圈,如果是奇数那就最后…...
【Python 算法 1.线性枚举】
我装作漠视一切,以为这样就可以不在乎 —— 25.3.17 一、线性枚举的基本概念 1.时间复杂度 线性枚举的时间复杂度为 O(nm),其中 n是线性表的长度。m 是每次操作的量级,对于求最大值和求和来说,因为操作比较简单,所以 …...
C# 嵌套类 详解
一个类在它的包容类外没有多大意义,就适合设计成嵌套类。 嵌套类:定义在另一个类内部的类。 包容类(外部类):包含嵌套类的类。 嵌套类的独特之处是可以为类自身指定private访问修饰符。 嵌套类能访问包容类的任何成…...
深度学习中学习率调整策略
学习率衰减策略是深度学习优化过程中的一个关键因素,它决定了训练过程中学习率的调整方式,从而影响模型收敛的速度和效果。不同的衰减策略在不同的任务和模型上可能有不同的表现,下面从我用到过的几个衰减策略进行记录,后续慢慢跟…...
基于Flask的东方财富网股票数据可视化分析系统
【大数据】基于Flask的东方财富网股票数据可视化分析系统 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统能够高效地从东方财富网抓取股票数据,并通过Python的强大数据处理能…...
卓越的用户体验需要智能内容
摘要:这篇文章指出静态文档已无法满足现代用户的需求,而智能内容则是构建卓越用户体验的关键。文章从智能内容的定义、优势和实际应用等方面进行了详细阐述,并强调了企业应积极拥抱智能内容,以提升客户满意度、降低成本并创造新的…...
c++基础知识-图论进阶
一、拓扑排序 1、基础知识 1)什么是拓扑排序 对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若,则u在线性序列中出现在v之前。 2)拓扑排序的操作方法 重复执行…...
Java 买百鸡问题
二阶买百鸡问题:母鸡5元一只,公鸡3元一只,35元可以有多少种买法刚好用完? package com.software.first;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scan new Scanner(Syste…...
为什么手机上用 mA 和 mAh 来表示功耗和能耗?
在手机上,我们经常会看到 mA(毫安) 和 mAh(毫安时) 这两个单位,它们分别用来表示 功耗水平 和 能耗水平。为什么用这两个单位呢?其实这和电流、时间以及电池的特性有关。 1.mA(毫安…...
使用SDKMAN!安装springboot
在 Ubuntu 环境中使用 sdk install springboot 命令之前,您需要先安装 SDKMAN!(Software Development Kit Manager)。以下是详细的安装步骤: 安装 SDKMAN! 打开终端。 运行以下命令以安装 SDKMAN!: curl -s "htt…...
【AI学习从零至壹】Pytorch神经⽹络
Pytorch神经⽹络 神经网络简介神经元激活函数 神经网络神经⽹络的⼯作过程前向传播(forward) 反向传播(backward)训练神经⽹络 Pytorch搭建并训练神经⽹络神经⽹络构建和训练过程数据预处理构建模型优化器&提取训练数据训练样本 神经网络简介 神经元 在深度学习中&#x…...
Linux应用 / 驱动程序崩溃调试
文章目录 前言一、GDB 使用1. GDB 介绍2. Debug版本与Release版本3. 指令演示3.1 显示行号3.2 断点设置3.3 查看断点信息3.4 删除断点3.5 开启 / 禁用断点3.6 运行3.7 打印 / 追踪变量 4. 最常用指令 二、Linux 应用程序调试1. codedump 介绍2. 在 Linux 系统中使用 coredump2.…...
k8s集群-kubeadm init
为了使用阿里云的镜像源加速 kubeadm init 初始化 Kubernetes 集群的过程,你需要修改 kubeadm 的配置文件以指向阿里云提供的镜像仓库。以下是具体步骤: 1. 创建或编辑 kubeadm 配置文件 首先,创建一个 kubeadm 的配置文件(如果还…...
Python 视频爬取教程
文章目录 前言基本原理环境准备Python安装选择Python开发环境安装必要库 示例 1:爬取简单直链视频示例 2:爬取基于 HTML5 的视频(以某简单视频网站为例) 前言 以下是一个较为完整的 Python 视频爬取教程,包含基本原理…...
Linux应用软件编程(多任务:进程间通信)
一.进程间通信 同一主机下: (1)无名管道:pipe (2)有名管道:fifo (3)信号:异步通知机制 (4)共享内存&a…...
工厂方法模式和抽象工厂模式详解
由于工厂方法模式和抽象工厂模式有点类似,可以放着一块说下。 一、工厂方法模式 (Factory Method Pattern) 场景描述 假设需要实现一个跨平台日志系统,支持文件日志和数据库日志,且未来可能扩展其他日志方式。通过工厂方法模式,…...
js给后端发送请求的方式有哪些
在 JavaScript 中,有多种方式可以向后端发送请求,以下为你详细介绍: 1. XMLHttpRequest XMLHttpRequest 是最早用于在浏览器和服务器间进行异步通信的 API。虽然它使用起来相对复杂,但兼容性很好,能兼容较旧的浏览器…...
无人机吊舱模块更换技术难点分析!
一、模块更换的可行性 模块化设计的支持 部分吊舱采用模块化设计,允许根据任务需求更换传感器模块。例如,某些吊舱系统支持定制化组合,如“红外激光测距”或“可见光激光测距”等。这表明在硬件结构上,若吊舱预留了标准化的接…...
高数1.4 无穷小与无穷大
1.无穷小 1.1.定义 1.2 常规性质 2.无穷大 2.1 定义 2.无穷小与无穷大的关系...
深入理解MySQL数据库索引
深入理解MySQL数据库索引 个人主页:顾漂亮 1. 索引简介 1.1 索引是什么? MySQL的索引是一种数据结构,它可以帮助数据库高效地查询、更新数据表中的数据。索引通过一定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜…...
Spring 中 BeanPostProcessor 的作用和示例
一、BeanPostProcessor 的核心作用 1、作用 BeanPostProcessor 是 Spring Bean 实例级别的扩展接口,在 Bean 初始化前后对实例进行加工或替换。其核心功能包括: 修改 Bean 属性(如动态注入值、调整配置)。生成代理对象…...
图 最 短 路
Diikstra朴素 非负边权单源最短路顶点数最好小于1000少量数据结构知识和一点点的算法基础 算法描述 这个算法我们采用邻接矩阵来存储,有时候输入数据,并不是我们期待的那样,所以需要对数据做一些处理,也就是把图创建起来的过程…...
NA611系列WiFi串口服务器常见问题以及解决办法
NA611系列WiFi串口服务器是一款高性能、高可靠的工业级双频RS485 ⇌ WiFi数据双向透明传输的串口服务器。实现RS485串口数据通过WiFi实现设备联网数据交互,支持 IEEE 802.11 a/b/g/n 标准。WiFi串口服务器在连接、配置和使用过程中可能会遇到多种问题。以下是一些常…...
工程化与框架系列(36)--前端监控告警实践
前端监控告警实践 🔔 引言 前端监控是保障应用质量和用户体验的重要手段。本文将深入探讨前端监控的实现方案,包括性能监控、错误监控、用户行为监控等方面,以及相应的告警机制。 监控系统概述 前端监控系统主要包括以下方面:…...
【深度学习|目标检测】YOLO系列anchor-based原理详解
YOLO之anchor-based 一、关于anchors的设置二、网络如何利用anchor来训练关于register_buffer训练阶段的anchor使用推理阶段的anchor使用 三、训练时的正负样本匹配anchor匹配grid匹配 总结起来其实就是:基于anchor-based的yolo就是基于三个检测头的分支上的grids和…...
vue3+Ts+elementPlus二次封装Table分页表格,表格内展示图片、switch开关、支持
目录 一.项目文件结构 二.实现代码 1.子组件(表格组件) 2.父组件(使用表格) 一.项目文件结构 1.表格组件(子组件)位置 2.使用表格组件的页面文件(父组件)位置 3.演示图片位置 ele…...
【C/C++】文件句柄
什么是文件句柄? 文件句柄(File Handle)是操作系统中的一种抽象概念,它用来表示一个打开的文件或输入/输出设备。 文件句柄是程序与文件之间的桥梁,程序通过文件句柄来访问和操作文件的内容。 1. 文件句柄——作用 文…...
Matlab 基于专家pid控制的时滞系统
1、内容简介 Matlab 185-基于专家pid控制的时滞系统 可以交流、咨询、答疑 2、内容说明 略 在处理时滞系统(Time Delay Systems)时,使用传统的PID控制可能会面临挑战,因为时滞会导致系统的不稳定或性能下降。专家PID控制通过结…...
【高项】信息系统项目管理师(六)项目进度管理【3分】
项目进度管理是为了保证项目按时完成。对项目所需的各个过程进行管理,包括规划进度、定义活动、排列活动顺序、估算活动持续时间、制订项目进度计划和控制进度。小型项目中,定义活动、排列活动顺序、估算活动持续时间以及制订进度模型形成进度计划等过程的联系非常紧密,可以…...
通过MATLAB和Carsim进行联合仿真,利用强化学习实现自动驾驶人机控制权策略的详细步骤和示例代码
以下是一个通过MATLAB和Carsim进行联合仿真,利用强化学习实现自动驾驶人机控制权策略的详细步骤和示例代码: 步骤概述 Carsim配置:对Carsim进行必要的设置,包括车辆模型、道路场景等,并生成S - function接口。MATLAB环境搭建:在MATLAB中配置Carsim的S - function,并创建…...
iOS 模块化架构设计:主流方案与实现详解
随着 iOS 工程规模的扩大,模块化设计成为提升代码可维护性、团队协作效率和开发灵活性的关键。本文将探讨为什么需要模块化,介绍四种主流的模块化架构方案(协议抽象、依赖注入、路由机制和事件总线),并通过代码示例和对…...
PostreSQL指南-内幕探索-学习笔记-01-数据库集簇的逻辑与物理结构
目录 一、环境信息 二、参考内容 三、逻辑结构概念 四、物理结构概念 五、逻辑映射关系 1、数据库与oid映射关系 2、堆表对象与oid映射关系 五、物理映射关系 1、数据库与oid映射关系 2、堆表对象与oid映射关系 六、数据库文件布局 1、表格 2、postmaster.pid文件解…...
java使用(Preference、Properties、XML、JSON)实现处理(读写)配置信息或者用户首选项的方式的代码示例和表格对比
在Java应用程序中,处理应用首选项(preferences)有多种方法,包括使用java.util.prefs.Preferences类、属性文件(如.properties文件)、XML文件和JSON文件。下面是每种方法的详细说明和代码示例,最…...
spring动态代理是在生命周期的哪个阶段实现的
Spring AOP(面向切面编程)的动态代理是在 Bean 生命周期的 初始化后阶段 实现的,具体来说是在 BeanPostProcessor 的 postProcessAfterInitialization() 方法中完成的。下面我们来详细分析 Spring AOP 动态代理的实现位置及其工作原理。 1. S…...
Oracle静默安装方法
Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装。即在没有图形界面的Linux上面安装。 1. 下载地址 http://www.oracle.com/technetwork…...
本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】
目录 一、本地部署DS 二、建立本地知识库 1.安装python和必要的库 2.设置主目录工作区 3.编写文档解析脚本 4.构建向量数据库 三、基于DS,使用本地知识库检索 本地部署DS,其实非常简单,我写了一篇操作记录,我终于本地部署了DeepSeek-R1(图文全过程)-CSDN博客 安装…...
单词翻转(信息学奥赛一本通-1144)
【题目描述】 输入一个句子(一行),将句子中的每一个单词翻转后输出。 【输入】 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 【输出】 翻转每一个单词后的字符串,单词之间的空格需与原文一致。 【输入样例】 he…...
Python基础入门掌握(十三)
从基础到进阶,轻松掌握文件读写 目录 文件操作的基本概念 文件的打开与关闭 读取文件内容 写入文件内容 文件操作的高级技巧 总结与建议 文件操作的基本概念 在Python中,文件操作主要涉及以下几个步骤: 打开文件(open…...
【再读】R1-Onevision通过跨模态形式化为复杂多模态推理任务提供了系统性解决方案
R1-Onevision:跨模态形式化驱动的多模态推理技术突破,R1-Onevision通过跨模态形式化、双阶段训练和教育级基准测试,为多模态推理树立了新标杆。其技术创新不仅提升了模型在复杂任务中的表现,更重要的是为行业提供了一种可解释、可迁移的多模态处理范式。随着形式化方法的不断…...
【AWS入门】2025 AWS亚马逊云科技账户注册指南
【AWS入门】2025 AWS亚马逊云科技账户注册指南 A Guide To Register a New account on AWS By JacksonML 0. AWS亚马逊云科技简介 Amazon Web Service(AWS) 即亚马逊云科技,其在全球Cloud Computing(云计算)市场占有最为重要的地位。 AWS连续13年被Gartner评为…...
重生之我在学Vue--第18天 Vue 3 项目功能扩展
重生之我在学Vue–第18天 Vue 3 项目功能扩展 文章目录 重生之我在学Vue--第18天 Vue 3 项目功能扩展前言一、权限管理系统1.1 用户角色体系设计1.2 路由权限控制1.3 组件级权限控制 二、分页与搜索系统2.1 分页类型对比2.2 分页组件实现2.3 搜索功能实现 三、文件上传系统3.1 …...
基于SpringBoot的房地产销售管理系统【附源码】
基于SpringBoot的房地产销售管理系统(源码L文说明文档) 目录 4 系统设计 4.1用户登录功能的详细实现 4.2管理员权限的功能实现 4.2.1客户信息管理功能的详细实现 4.2.2房产管理功能的详细实现 4.2.3预约看房功能的详细实现 4.2.4论…...
数组题型-二分查找-JS
二分查找伪代码 1.定义 target 是在⼀个在左闭右闭的区间⾥,也就是[left, right] let left0;let rightnums.length-1;// 定义target在左闭右闭的区间⾥,[left, right]while(left<right){// 当leftright,区间[left, right]依然有效&#x…...
STL——vector
目录 1 vector介绍 2 vector使用 2.1 vector的定义 2.1.1 无参构造 2.1.2 构造并初始化N个Val 2.1.3 拷贝构造 2.1.4 使用迭代器初始化构造 2.1.5 使用大括号初始化构造 2.2 vector的迭代器 2.2.1 const 迭代器 2.3 vector的空间增长 2.4 vector的增删改查 2.5 ve…...