轻量化联邦发布平台ech0搭建教程,自建搭建一个互联的网络朋友圈

到达我的blog以获得更好的观看体验:https://blog.techaser.top/archives/ech0

写在前面

最近刷HelloGithub时无意发现了这个开源项目ech0,来自大佬lin-snow,是一个类似于网络朋友圈的信息平台,和Halo上的瞬间有些相似。这一个开源项目强调的是轻量化,据readme上的数据来看占用内存在15MB左右,当然我是测下来也是差不多这个数据。看着十分有趣,于是写来折腾一番。

Github仓库地址:https://github.com/lin-snow/Ech0

官方Demo:https://memo.vaaat.com/

话不多说,开始折腾!

一、准备服务器

在开始部署之前,我们需要一台云服务器。本教程推荐使用雨云提供的服务器,以获得低延迟和高带宽的优势。注册时输入通过我的雨云的优惠码techaser或直接访问注册链接,您可以享受首月5折,永久8折的折扣,大幅降低部署成本。例如,雨云的洛杉矶 CN2 GIA线路方案针对中国用户进行了优化,延迟稳定在180ms 左右,非常适合国内访问。

打开前面的注册链接,便可进入雨云官网。点击右上角 登陆/注册 进入登陆页面,再点击登陆页面下方注册即可进行注册。

注册完毕后,进行登陆即可。登陆后请务必绑定微信,这样才可以领取我为你发放的5折优惠券

接着,进入我给你选好的配置链接,进行购买。搭配上5折优惠券,一个月仅需15元,相比于其他云服务商而言是相当便宜了。

配置为:美国洛杉矶2区,amd epyc 2h4g,预装ubuntu24.04和docker(包含docker compose)

二、服务器环境准备:安装Docker与基础配置

上文购买了我为你选购的雨云服务器的可以直接跳到下一章节了哦

在服务器上部署应用前,我们需要安装Docker, 并确保基础环境配置正确。 Docker 是一个开源的容器化平台,可让应用在隔离的环境中运行,极大简化部署流程。以下是安装和配置Docker的步骤:

来到雨云服务器控制台,点击你刚才购买的服务器的“管理”按钮,来到云服务器管理页面。

接着,来到“重装系统或软件”标签页,选中Docker,点击绿色的“立即安装”即可,如下图。

接着,等待安装完毕即可!安装完毕后,即可跳转下一章节。

三、部署Ech0 开源项目

Ech0 是一款面向个人的新一代开源、自托管发布平台,支持ActivityPub 协议,可让用户轻松发布和分享想法、文字与链接。它采用轻量级设计,内存占用不到15MB, 镜像大小不到40MB, 使用单SQLite文件存储,非常适合在云服务器上运行。下面我们将使用Docker 来部署Ech0。

1. 获取Ech0 Docker镜像:

Ech0官方提供了Docker 镜像,我们可以直接从Docker Hub 拉取。执行以下命令下载最新的Ech0镜像:

docker pull snOwl1n/ech0:latest 

这将会获取镜像到本地。

2. 运行Ech0 容器:

使用Docker run命令启动Ech0容器,并进行必要的端口映射和数据卷挂载。一个示例的启动命令如下:

docker run -d \
  --name ech0 \
  -p 6277:6277 \
  -v /opt/ech0/data:/app/data \
  -v /opt/ech0/backup:/app/backup \
  -e JWT_SECRET="Hello Echos" \
  sn0wl1n/ech0:latest

这条命令的参数含义如下:

  • -d: 表示在后台 (detached) 模式运行容器。

  • --name ech0: 为容器指定一个名称,方便管理。

  • -p 6277:6277: 将容器的6277端口映射到服务器的6277端口,以便外部访问Ech0 Web界面。

  • -v /opt/echo/data:/app/data: 将服务器上的/opt/echo/data目录挂载到容器内的/app/data 目录,用于持久化存储Ech0的数据库和上传文件。

  • -v /opt/ech0/backup:/app/backup: 挂载备份目录,用于存放Ech0 的备份文件。

  • -e JWT_SECRET="Hello Echos" : 设置JWT密钥环境变量,用于Ech0 的身份验证。请将“Hello Echos”替换为您自定义的密钥字符串,以提高安全性。

  • sn0wl1n/ech0:latest: 指定使用的镜像名称和标签。

提示:请确保替换上述命令中的路径和密钥为您实际的值。执行命令后, Docker 将下载并启动Ech0 容器。您可以使用 docker ps 查看容器是否正在运行,使用 docker logs echo查看容器的日志输出,以确认Ech0 是否成功启动。

3. 访问Ech0 并初始化:

在浏览器中访问 http:// <服务器IP>:6277, 即可打开Ech0 的Web界面。首次访问时,系统会提示您注册第一个账号。请注册一个账号,该账号将被自动设置为管理员。使用管理员账号登录后,您就可以开始使用Ech0发布内容了。

4 . (可选)使用Docker Compose:

ech0项目提供了Docker Compose配置文件,您也可以使用Docker Compose来启动Ech0。首先,创建一个docker-compose.yml文件,内容如下:

version: "3"
services:
  ech0:
    image: sn0wl1n/ech0:latest
    container_name: ech0
    ports:
      - "6277:6277"
      # - "6278:6278"
    volumes:
      - ./ech0/data:/app/data
    environment:
      - JWT_SECRET="Hello Echos"

然后在包含该文件的目录下运行 docker-compose up -d 来启动Ech0 服务。使用 Docker Compose的好处是可以通过一个文件管理多个服务(例如后续添加Twikoo等),便于维护和扩展。

至此,Ech0 已经成功部署在您的雨云服务器上。

接下来,介绍一些配置的说明!

四、配置Ech0

访问你刚刚部署的Ech0,地址是 你的服务器ip:6277。

打开后注册一个帐户,此时第一个帐户为管理员帐户。注册后登陆,来到主界面,如下图。

右上角按钮依次为:RSS订阅、Ech0 Connect、小组件、管理面板。

左侧为信息发布区,可以发布文本、图片等。

右侧为信息显示区,显示你发布的信息。

那我们不妨看看管理面板里有什么好玩的~

管理面板

点击右上角最右侧的按钮,进入管理面板。如下图。

IMG_0265-zXXM.jpeg

我们主要看左侧的“偏好设置”和“功能扩展”以及“外部集成”。

IMG_0266.jpeg

偏好设置中,可以设置以上信息。“服务地址”可以输入你的域名,这样你就可以加入“联邦宇宙”,即你发布的信息有机会在主站中看到

“功能扩展”中,可以设置Ech0 Connect,在主页可以直接访问到设置的另一个Ech0的主页。

“外部集成”中,打开联邦宇宙的主动推送,可以自动将你发布的信息推送到主站。

管理面板就介绍到这,那么整篇文章就结束啦。

感谢你的观看,不妨点个赞吧~

为了使用VDAC模块设计一个产生75%占空比矩形波的电路,需要结合VDAC的功能以及外部控制逻辑来实现。VDAC(电压数模转换器)能够将数字信号转换为模拟电压输出,因此可以用来生成特定电压值作为参考阈值,以配合比较器、定时器等模块形成所需的矩形波。 以下是具体的设计思路和步骤: 1. **设定基准电压**:使用VDAC模块输出一个固定电压值作为比较器的参考电压。该电压值应设定在输入信号范围的25%处,这样当三角波或锯齿波输入信号超过该参考电压时,比较器输出低电平,低于该电压时输出高电平,从而形成75%占空比的矩形波[^1]。 2. **使用三角波发生器**:设计一个电路生成一个线性上升和下降的三角波信号作为比较器的输入信号。三角波的频率需与目标矩形波一致。 3. **比较器配置**:将三角波信号连接到比较器的一个输入端,而另一个输入端则连接VDAC输出的参考电压。比较器根据两个输入信号的相对大小决定输出状态,从而生成矩形波[^1]。 4. **调整VDAC输出**:通过编程设置VDAC的输出电压,使其对应于三角波幅度的25%点。例如,若三角波的幅度范围为0V至5V,则VDAC应输出1.25V作为参考电压。 5. **控制逻辑与时序**:如果需要对矩形波进行进一步的时序控制,可以使用微控制器或定时器/计数器模块来同步整个过程,确保输出波形稳定并具有精确的占空比[^2]。 6. **输出驱动与滤波**:矩形波输出后,可能需要通过缓冲器或放大器来驱动负载,并在必要时加入滤波电路以减少噪声或高频成分的影响。 ### 示例代码(基于8051微控制器) 以下是一个简单的示例代码片段,用于控制定时器生成特定时间间隔,从而辅助生成所需占空比的波形: ```assembly ORG 0000H LJMP START ORG 0100H START: MOV TMOD, #01H ; 设置定时器T0工作在方式1(16位定时模式) LOOP: MOV TL0, #68H ; 设置定时初值,定时15ms(假设晶振为12MHz) MOV TH0, #0C5H SETB TR0 ; 启动定时器T0 WAIT: JNB TF0, WAIT ; 等待定时结束 CLR TF0 ; 清除定时标志位 CLR TR0 ; 停止定时器T0 CPL P1.0 ; 反转P1.0引脚状态,模拟矩形波的一部分 MOV TL0, #78H ; 设置新的定时初值,定时5ms MOV TH0, #0ECH SETB TR0 ; 再次启动定时器T0 WAIT1: JNB TF0, WAIT1 ; 等待定时结束 CLR TF0 ; 清除定时标志位 CLR TR0 ; 停止定时器T0 SETB P1.0 ; 设置P1.0为高电平,完成一个周期 SJMP LOOP ; 循环执行以上过程 END ``` 上述代码中,通过两次不同时间长度的延时,实现了高低电平的时间比例为3:1,即占空比为75%的矩形波输出。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值