From 040e36fb921eb2e86818e56e028effa6afc89c2f Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Sun, 28 Sep 2025 06:29:03 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/ech0/2.5.4/.env | 12 +++ appstore/ech0/2.5.4/data.yml | 32 +++++++ appstore/ech0/2.5.4/docker-compose.yml | 23 +++++ appstore/ech0/2.5.4/envs/default.env | 2 + appstore/ech0/2.5.4/envs/global.env | 2 + appstore/ech0/2.5.4/scripts/init.sh | 17 ++++ appstore/ech0/2.5.4/scripts/uninstall.sh | 10 ++ appstore/ech0/2.5.4/scripts/upgrade.sh | 17 ++++ appstore/ech0/README.md | 115 +++++++++++++++++++++++ appstore/ech0/data.yml | 14 +++ appstore/ech0/logo.png | Bin 0 -> 3859 bytes appstore/ech0/logo.svg | 9 ++ dockge/ech0/.env | 12 +++ dockge/ech0/docker-compose.yml | 23 +++++ dockge/ech0/envs/default.env | 2 + dockge/ech0/envs/global.env | 2 + 16 files changed, 292 insertions(+) create mode 100644 appstore/ech0/2.5.4/.env create mode 100644 appstore/ech0/2.5.4/data.yml create mode 100644 appstore/ech0/2.5.4/docker-compose.yml create mode 100644 appstore/ech0/2.5.4/envs/default.env create mode 100644 appstore/ech0/2.5.4/envs/global.env create mode 100644 appstore/ech0/2.5.4/scripts/init.sh create mode 100644 appstore/ech0/2.5.4/scripts/uninstall.sh create mode 100644 appstore/ech0/2.5.4/scripts/upgrade.sh create mode 100644 appstore/ech0/README.md create mode 100644 appstore/ech0/data.yml create mode 100644 appstore/ech0/logo.png create mode 100644 appstore/ech0/logo.svg create mode 100644 dockge/ech0/.env create mode 100644 dockge/ech0/docker-compose.yml create mode 100644 dockge/ech0/envs/default.env create mode 100644 dockge/ech0/envs/global.env diff --git a/appstore/ech0/2.5.4/.env b/appstore/ech0/2.5.4/.env new file mode 100644 index 000000000..9cd0ec1c3 --- /dev/null +++ b/appstore/ech0/2.5.4/.env @@ -0,0 +1,12 @@ +# 数据持久化路径 [必填] +ECH0_ROOT_PATH=/home/ech0 + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=6277 + +# API 端口 [必填] +PANEL_APP_PORT_API=6278 + +# JWT 密钥 [必填] +JWT_SECRET= + diff --git a/appstore/ech0/2.5.4/data.yml b/appstore/ech0/2.5.4/data.yml new file mode 100644 index 000000000..6c03a9916 --- /dev/null +++ b/appstore/ech0/2.5.4/data.yml @@ -0,0 +1,32 @@ +additionalProperties: + formFields: + - default: "/home/ech0" + edit: true + envKey: ECH0_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 6277 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 6278 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: JWT_SECRET + labelZh: JWT 密钥 + labelEn: JWT Secret + required: true + type: text diff --git a/appstore/ech0/2.5.4/docker-compose.yml b/appstore/ech0/2.5.4/docker-compose.yml new file mode 100644 index 000000000..7f972f365 --- /dev/null +++ b/appstore/ech0/2.5.4/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true +services: + app_name: + container_name: ech0 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: sn0wl1n/ech0:v2.5.4 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:6277 + - ${PANEL_APP_PORT_API}:6278 + restart: always + volumes: + - ${ECH0_ROOT_PATH}/data:/app/data + - ${ECH0_ROOT_PATH}/backup:/app/backup diff --git a/appstore/ech0/2.5.4/envs/default.env b/appstore/ech0/2.5.4/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/ech0/2.5.4/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/ech0/2.5.4/envs/global.env b/appstore/ech0/2.5.4/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/ech0/2.5.4/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/ech0/2.5.4/scripts/init.sh b/appstore/ech0/2.5.4/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/ech0/2.5.4/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/ech0/2.5.4/scripts/uninstall.sh b/appstore/ech0/2.5.4/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/ech0/2.5.4/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/ech0/2.5.4/scripts/upgrade.sh b/appstore/ech0/2.5.4/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/ech0/2.5.4/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/ech0/README.md b/appstore/ech0/README.md new file mode 100644 index 000000000..74bb9ec42 --- /dev/null +++ b/appstore/ech0/README.md @@ -0,0 +1,115 @@ +# Ech0 + +专注思想流动的轻量级发布平台 + +![Ech0](https://file.lifebus.top/imgs/ech0_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +Ech0 是一款专为轻量级分享而设计的开源自托管平台,支持快速发布与分享你的想法、文字与链接。简单直观的操作界面,轻松管理你的内容,让分享变得更加自由,确保数据完全掌控,随时随地与世界连接。 + +## 特性 + +### ☁️ 原子级轻量 + +内存占用不到15MB,镜像大小不到40MB,单SQLite文件存储架构 + +### 🚀 极速部署 + +无需配置,从安装到使用只需1条命令 + +### 🧰 命令行利器 + +内置高可用 CLI 工具,支持一键备份、恢复、导出 + +### 📟 极致 TUI 支持 + +面向终端用户打造的友好交互界面,轻松进行对Ech0进行管理 + +### ✍️ 零干扰写作 + +纯净的在线Markdown编辑器,支持丰富的Markdown插件与预览 + +### 📦 数据主权 + +所有内容存储于本地SQLite文件,支持RSS订阅 + +### 🔐 安全备份机制 + +支持Web、TUI、CLI三种模式下一键导出、备份完整数据 + +### ♻️ 无感恢复支持 + +通过TUI或 CLI 即可恢复任意备份,保障数据安全无忧 + +### 🎉 永久免费 + +AGPL-3.0协议开源,无追踪/无订阅/无服务依赖 + +### 🌍 跨端适配 + +完美兼容桌面/移动浏览器,支持手机、iPad、PC三端响应式布局 + +### 👾 PWA适配 + +支持作为Web应用安装 + +### 📝 内置Todo管理 + +轻松记录、管理每日待办事项,帮助你高效规划和追踪任务进度 + +### 🔗 Ech0 Connect + +全新内容聚合与互联功能,支持多实例间互通、内容订阅与同步,打造属于你的去中心化内容网络 + +### 🎵 无缝音乐集成 + +内置超低资源占用的音乐播放器,支持本地音频流解析,提供沉浸式背景音乐与专注模式 + +### 🎥 即时视频分享 + +原生支持哔哩哔哩/YouTube视频智能解析 + +### 🃏 丰富的快捷卡片 + +支持网站链接、GitHub项目等多种富媒体内容一键分享,让信息展示更加直观生动 + +### ⚙️ 高级自定义功能 + +为高级用户提供便捷自定义样式与脚本,分享更具表现力 + +### 💬 评论系统 + +支持快捷接入Twikoo评论服务,轻量、快捷、无侵入,为你的内容带来即时互动与反馈 + +### 💻 跨平台兼容 + +原生支持 Windows、Linux 以及树莓派等 ARM 架构设备,确保多样化部署场景下稳定运行 + +### 🔗 官方 Ech0 Hub 内容广场接入 + +支持手动提交接入官方 Ech0 Hub 内容生态,轻松发现、订阅和共享优质内容 + +### 🌐 自部署 Ech0 Hub 支持 + +允许用户将自身 Connect 列表作为自部署 Ech0 Hub 的内容来源,实现内容网络的高度自治与扩展 + +### 📦 二进制自包含 + +集成完整前端资源,单一二进制文件即可启动使用,无需额外安装依赖或配置,极大简化部署流程 + +🔗 丰富的 API 支持: 提供开放 API,方便与其他系统集成,实现更灵活的应用场景。 + +### 🃏 内容展示支持 + +支持类 X(Twitter)风格卡片展示,同时支持点赞等社交互动 + +### 👤 多用户与权限管理 + +支持多用户账户体系,提供灵活的权限控制,保障内容和功能访问的安全性与私密性 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/ech0/data.yml b/appstore/ech0/data.yml new file mode 100644 index 000000000..21f9ccc37 --- /dev/null +++ b/appstore/ech0/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: ech0 + name: Ech0 + tags: + - WebSite + - Local + shortDescZh: 专注思想流动的轻量级发布平台 + shortDescEn: A lightweight publishing platform focused on the flow of ideas + type: website + crossVersionUpdate: true + limit: 0 + website: https://memo.vaaat.com/ + github: https://github.com/lin-snow/Ech0/ + document: https://github.com/lin-snow/Ech0/ diff --git a/appstore/ech0/logo.png b/appstore/ech0/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e65e28c46f5feaaed58555a266cc7e7f9d6be5cf GIT binary patch literal 3859 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 + + + + + + + diff --git a/dockge/ech0/.env b/dockge/ech0/.env new file mode 100644 index 000000000..9cd0ec1c3 --- /dev/null +++ b/dockge/ech0/.env @@ -0,0 +1,12 @@ +# 数据持久化路径 [必填] +ECH0_ROOT_PATH=/home/ech0 + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=6277 + +# API 端口 [必填] +PANEL_APP_PORT_API=6278 + +# JWT 密钥 [必填] +JWT_SECRET= + diff --git a/dockge/ech0/docker-compose.yml b/dockge/ech0/docker-compose.yml new file mode 100644 index 000000000..7f972f365 --- /dev/null +++ b/dockge/ech0/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true +services: + app_name: + container_name: ech0 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: sn0wl1n/ech0:v2.5.4 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:6277 + - ${PANEL_APP_PORT_API}:6278 + restart: always + volumes: + - ${ECH0_ROOT_PATH}/data:/app/data + - ${ECH0_ROOT_PATH}/backup:/app/backup diff --git a/dockge/ech0/envs/default.env b/dockge/ech0/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/ech0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/ech0/envs/global.env b/dockge/ech0/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/ech0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai