公网访问全能知识库工具AFFINE,Notion的免费开源替代

文章目录

  • 公网访问全能知识库工具AFFINE,Notion的免费开源替代品
    • 前言
    • 1. 使用Docker安装AFFINE
    • 2. 安装cpolar内网穿透工具
    • 3. 配置AFFINE公网访问地址
    • 4. 实现公网远程访问AFFINE

公网访问全能知识库工具AFFINE,Notion的免费开源替代品

前言

AFFiNE 是一个全新的开源项目,旨在克服 Notion 和 Miro 在安全和隐私方面的一些局限性。它的设计目标是帮助用户将会议记录、待办事项、文档中的目标、视频会议白板上的头脑风暴以及客户访谈中获得的反馈信息集中到一个统一的平台上。通过AFFiNE,用户可以更好地存储、集成和管理所有工作流程。

结合[cpolar内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)工具将AFFINE实现公网远程访问,可以进行团队远程访问和协作,在不同地点进行实时的协作和共享工作内容。即使异地办公,他们仍然可以轻松地使用AFFINE共享会议记录、待办事项和文档,实现高效的团队协作。

cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,AFFiNE 和内网穿透技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和存储敏感的工作内容。本篇文章讲解如何安装AFFINE,并将其实现公网远程访问。

1. 使用Docker安装AFFINE

要安装使用 AFFiNE 最简单的方法是使用 Docker 一键启动:

docker pull ghcr.io/toeverything/affine-self-hosted:pre-alpha

269e56bbcbc4c876f2ebdd7fcaa6bad

docker run -d -p 3000:3000  --name affine ghcr.io/toeverything/affine-self-hosted:pre-alpha

8ed8c30a7bed80219791dc6f458727a

然后在浏览器中打开 http://localhost:3000 即可。

620fd4f950fe4dca1db28b35381bf79

此外我们也可以获取代码,直接启动:

git clone https://github.com/toeverything/AFFiNE.gitcd AFFiNE

然后安装项目依赖:

npm i -g pnpmpnpm i

接着就可以直接启动项目了:

pnpm start

同样在浏览器中打开 http://localhost:3000 即可。

image-20231114110107524

2. 安装cpolar内网穿透工具

上面我们在docker中成功安装了AFFINE,并局域网成功访问,下面我们安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20230831171159175

3. 配置AFFINE公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个AFFINE的cpolar公网地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:3000 (局域网访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

image-20231114110508202

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231114110642157

4. 实现公网远程访问AFFINE

使用上面的cpolar https公网地址在任意设备的浏览器访问,即可成功看到AFFINE的界面,这样一个公网地址且可以远程访问就创建好了,无需自己购买云服务器,即可发布到公网访问。

image-20231114110801399

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事时,它是一个固定、易记的公网地址(例如:affine.cpolar.cn),这样更显正式,便于绘图交流协作。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231114111122382

保留成功后复制保留成功的二级子域名的名称

image-20231114111206102

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231114111233277

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20231114111309360

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20231114111332118

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了
image-20231114111407292

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT + Flutter快速开发多端聊天机器人App

在这个充满创新和机遇的时代,软件开发领域正在经历一场前所未有的变革。为了满足日益增长的用户需求和提升用户体验,我们引入了ChatGPT和Flutter两大技术,旨在打造一款功能强大、易于扩展的多端聊天机器人App。 ChatGPT:对话式人工…

04 后端增删改查【小白入门SpringBoot + Vue3】

项目笔记,教学视频来源于B站青戈 https://www.bilibili.com/video/BV1H14y1S7YV 保证前面的都功能都实现后,接着往下走。 查 分页 接下来,实现前端页面分页功能。 前端分页组件 打开elementplus官网,找到合适的分页组件&…

如何解决swagger-editor在线接口调试时的跨域问题

文章目录 一,序言二,问题重现1. 运行swagger-editor2. 运行接口服务3. 问题重现步骤 三,解决问题思路1. 去除浏览器安全限制2. 服务器接口统一处理3. 委托nginx转发 四,完整接口代码传送 一,序言 在 Docker 运行swagg…

持续集成部署-k8s-配置与存储-配置管理:ConfigMap 的热更新

ConfigMap 的热更新 1. 简介2. 新建 Pod3. 使用 edit 命令编辑修改4. 使用 replace 命令替换修改1. 简介 在 Kubernetes 中,ConfigMap 是用于存储非敏感配置数据的 API 对象,它可以被挂载到 Pod 中作为文件或环境变量。ConfigMap 的热更新指的是在不重启 Pod 的情况下,动态…

Linux 之 journalctl 查看系统与 kernel 日志

目录 1. Linux 之 journalctl 查看系统与 kernel 日志 1. Linux 之 journalctl 查看系统与 kernel 日志 1 概述 日志管理工具 journalctl 是 centos7 上专有的日志管理工具, 该工具是从 message 这个文件里读取信息。Systemd 统一管理所有 Unit 的启动日志。带来的好处就是, …

光敏传感器模块(YH-LDR)

目录 1. YH-LDR模块说明 1.1 简介 1.2 YH-LDR 模块的引脚说明 1.3 LDR 传感器工作原理与输出特性 2. 使用单片机系统控制 YH-LDR 模块 2.1 通用控制说明 1. YH-LDR模块说明 1.1 简介 YH-LDR 是野火设计的光强传感器,使用一个光敏电阻作为采集源&#x…

QString::fromLocal8Bit

QString::fromLocal8Bit QString::fromLocal8Bit 是 Qt 框架中的一个函数,用于将本地编码(Local 8-bit)的字符串转换为 QString 类型的字符串。下面对这个函数进行解释: QString QString::fromLocal8Bit(const char *str);str 是…

【C++】多线程的学习笔记(3)——白话文版(bushi

目录 前一篇内容(mutex锁) 前言 Condition Variable的简介 Condition Variable的使用方法 wait方法 wait for函数与wait until函数 notify函数 notify_one notify_all 注意 前一篇内容(mutex锁) 【C】多线程的学习笔记&…

Hive默认分割符、存储格式与数据压缩

目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…

pythongui实时闹钟

# codinggbk import tkinter as tk from time import strftime# 创建一个主窗口 root tk.Tk() root.title("实时闹钟")# 设置窗口的大小不可变 root.resizable(False, False)# 设置窗口始终保持在最上层 root.attributes(-topmost, True)# 更新时间的函数 def time(…

java游戏制作-拼图游戏

一.制作主界面 首先创建一个Java项目命名为puzzlegame。 再在src中创建一个包,用来制作主界面 代码: 结果: 二.设置界面 代码: 三.初始化界面 代码: 优 化代码: 结果: 四.添加图片 先在Java项…

mysql查询json字符串内容

参考文章:mysql json 基础查询_mysql json查询-CSDN博客 mysql查询json字符串内容 (多层数组嵌套) select id,nameJSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), $.baseInfo)), $.template_list[*].sms_content) s…

Golang Context 的使用指南

Golang Context 的使用指南 1. 什么是 Context 在 Golang 中,Context 是一个用于跨 goroutine 传递数据、取消任务以及超时控制的标准库。它提供了一种从父 goroutine 向子 goroutine 传递请求或控制信息的机制,可以有效地管理和控制 goroutine 的生命…

kafka入门(一):kafka消息发送与消费

kafka的基础概念 Producer (消息生产者) 向主题发布消息的客户端应用程序称为生产者(Producer),生产者用于持续不断的向某个主题发送消息。 Consumer (消息消费者) 订阅主题消息的客户端程序称为消费者(Consumer),消费者用于处理生产者产生的消息。 Co…

03 前后端数据交互【小白入门SpringBoot + Vue3】

项目笔记,教学视频来源于B站青戈 https://www.bilibili.com/video/BV1H14y1S7YV 前两个笔记。是把前端页面大致做出来,接下来,把后端项目搞一下。 后端项目,使用IDEA软件、jdk1.8、springboot2.x 。基本上用的是稳定版。 还有My…

【C++】chono库:使用及源码分析

文章目录 0. 概述1. duration1.1 分析std::chrono::duration_cast() 1.2 使用案例std::chrono::duration::count() 1.3 部分源码 2. time_point2.1 分析std::chrono::time_point_cast() 2.2 使用举例std::chrono::time_point::time_since_epoch() 2.3 部分源码 0. 概述 本篇文…

python使用selenium webDriver时 报错

可能原因和解决: 1. python 解释器 ----> 设置 2. 浏览器版本 与 浏览器驱动版本不一致 ----> 安装同一版本的 (下载chromedriver | 谷歌驱动更高版本的测试版) 参考:Python使用Selenium WebDriver的入门介绍及安装教程-CSDN博客 Selenium安…

设计模式-行为型模式-策略模式

一、什么是策略模式 策略模式是一种行为设计模式,它允许在运行时选择算法或行为,并将其封装成独立的对象,使得这些算法或行为可以相互替换,而不影响使用它们的客户端。(ChatGPT生成) 主要组成部分&#xff…

基于django的在线教育系统

基于python的在线教育系统 摘要 基于Django的在线教育系统是一种利用Django框架开发的现代化教育平台。该系统旨在提供高效、灵活、易用的在线学习体验,满足学生、教师和管理员的需求。系统包括学生管理、课程管理、教师管理、视频课程、在线测验等核心功能。系统采…

docker 部署Redis集群(三主三从,以及扩容、缩容)

1:创建6个redis容器 docker run -d --name redis01 --net host --privilegedtrue -v /opt/redis/redis01:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 docker run -d --name redis02 --net host --privilegedtrue -v /opt/redis/redis0…