diff --git a/apps/cflow/README.md b/apps/cflow/README.md new file mode 100644 index 000000000..4797fd3ac --- /dev/null +++ b/apps/cflow/README.md @@ -0,0 +1,56 @@ +# CFlow + +## 产品介绍 +CFlow 是基于 Memos 0.18.2 魔改的个人知识流工具,强化了编辑器、标签、搜索、热力图、资源管理和双链等个人知识管理体验。 + +## 主要功能 +- 基于 Memos 的轻量笔记和卡片管理 +- 编辑器增强、列表操作优化和快捷输入 +- 标签、搜索、双链、热力图和资源库增强 +- SQLite 数据持久化 + +## 访问说明 +安装后通过 `http://<服务器 IP>:5230` 访问,实际端口以安装表单中的 `PANEL_APP_PORT_HTTP` 为准。 + +## Introduction +CFlow is a personal knowledge-flow tool based on a modified Memos 0.18.2 build. + +## Features +- Lightweight note and card management based on Memos +- Enhanced editor, list operations, and quick input +- Improved tags, search, backlinks, heatmaps, and resource management +- SQLite-backed persistence + +## 部署说明 +- 本应用使用上游 README 中发布的 Docker Hub 镜像 `vespa314/cflow:latest` 部署。 +- 应用分类:工具。 +- 支持架构:amd64。 +- 可选版本:`latest`。 + +## 端口 +| 变量 | 说明 | 默认值 | 必填 | +| --- | --- | --- | --- | +| PANEL_APP_PORT_HTTP | HTTP 访问端口 | 5230 | 是 | + +## 数据持久化 +| 变量 | 说明 | 默认值 | 必填 | +| --- | --- | --- | --- | +| APP_DATA_DIR | CFlow 数据目录,映射到容器内 `/var/opt/memos` | ./data | 是 | + +升级或迁移前,请先在 1Panel 中备份上述数据目录。 + +## 参数说明 +| 变量 | 说明 | 默认值 | 必填 | +| --- | --- | --- | --- | +| TZ | 容器时区 | Asia/Shanghai | 是 | + +## 使用说明 +- 上游 README 说明本仓库只包含 CFlow 架构中的 Memos 主站部分。 +- AI、Wallabag、Artalk、相似度计算、自研后端等依赖外部服务的功能,当前开源镜像不包含完整后端能力。 +- 上游说明该版本主要按 SQLite 场景使用,迁移前请完整备份数据目录。 + +## 参考资料 +- 项目仓库: +- Docker Hub 使用说明: +- Dockerfile: +- Docker compose: diff --git a/apps/cflow/data.yml b/apps/cflow/data.yml new file mode 100644 index 000000000..f85fff880 --- /dev/null +++ b/apps/cflow/data.yml @@ -0,0 +1,29 @@ +name: CFlow +tags: + - Tool +title: 基于 Memos 魔改的个人知识流工具 +description: 基于 Memos 魔改的个人知识流工具 +additionalProperties: + key: cflow + name: CFlow + tags: + - Tool + shortDescZh: 基于 Memos 魔改的个人知识流工具 + shortDescEn: A personal knowledge-flow tool based on a modified Memos + description: + en: A personal knowledge-flow tool based on a modified Memos + zh: 基于 Memos 魔改的个人知识流工具 + zh-Hant: 基於 Memos 魔改的個人知識流工具 + ja: Memos を改造した個人向け知識フローツール + ko: Memos를 수정한 개인 지식 흐름 도구 + ru: Персональный инструмент потока знаний на основе модифицированного Memos + ms: Alat aliran pengetahuan peribadi berasaskan Memos yang diubah suai + pt-br: Ferramenta pessoal de fluxo de conhecimento baseada em uma versao modificada do Memos + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/Vespa314/cflow + github: https://github.com/Vespa314/cflow + document: https://github.com/Vespa314/cflow#dockerhub + architectures: + - amd64 diff --git a/apps/cflow/latest/.env.sample b/apps/cflow/latest/.env.sample new file mode 100644 index 000000000..d1eaf219b --- /dev/null +++ b/apps/cflow/latest/.env.sample @@ -0,0 +1,4 @@ +PANEL_APP_PORT_HTTP=5230 +TZ=Asia/Shanghai +APP_DATA_DIR=./data +CONTAINER_NAME=cflow diff --git a/apps/cflow/latest/data.yml b/apps/cflow/latest/data.yml new file mode 100644 index 000000000..0d7b9d4eb --- /dev/null +++ b/apps/cflow/latest/data.yml @@ -0,0 +1,51 @@ +additionalProperties: + formFields: + - default: 5230 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + zh: HTTP 端口 + zh-Hant: HTTP 埠 + ja: HTTP ポート + ko: HTTP 포트 + ru: HTTP-порт + ms: Port HTTP + pt-br: Porta HTTP + required: true + rule: paramPort + type: number + - default: Asia/Shanghai + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + label: + en: Timezone + zh: 时区 + zh-Hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon waktu + pt-br: Fuso horario + required: true + type: text + - default: ./data + edit: true + envKey: APP_DATA_DIR + labelEn: Data Directory + labelZh: 数据目录 + label: + en: Data Directory + zh: 数据目录 + zh-Hant: 資料目錄 + ja: データディレクトリ + ko: 데이터 디렉터리 + ru: Каталог данных + ms: Direktori data + pt-br: Diretorio de dados + required: true + type: text diff --git a/apps/cflow/latest/data/.gitkeep b/apps/cflow/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/cflow/latest/docker-compose.yml b/apps/cflow/latest/docker-compose.yml new file mode 100644 index 000000000..142ddc0c8 --- /dev/null +++ b/apps/cflow/latest/docker-compose.yml @@ -0,0 +1,24 @@ +services: + cflow: + image: "vespa314/cflow:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:5230" + environment: + - TZ=${TZ} + - MEMOS_MODE=prod + - MEMOS_PORT=5230 + volumes: + - "${APP_DATA_DIR}:/var/opt/memos" + command: + - "--mode" + - "prod" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/cflow/latest/scripts/.gitkeep b/apps/cflow/latest/scripts/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/cflow/latest/scripts/init.sh b/apps/cflow/latest/scripts/init.sh new file mode 100755 index 000000000..2de7e6c39 --- /dev/null +++ b/apps/cflow/latest/scripts/init.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data diff --git a/apps/cflow/latest/scripts/uninstall.sh b/apps/cflow/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/cflow/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/cflow/latest/scripts/upgrade.sh b/apps/cflow/latest/scripts/upgrade.sh new file mode 100755 index 000000000..9879df4c3 --- /dev/null +++ b/apps/cflow/latest/scripts/upgrade.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +set -euo pipefail +exit 0 diff --git a/apps/cflow/logo.png b/apps/cflow/logo.png new file mode 100644 index 000000000..029df083a Binary files /dev/null and b/apps/cflow/logo.png differ diff --git a/apps/cflow/source-evidence.json b/apps/cflow/source-evidence.json new file mode 100644 index 000000000..af3c2bb34 --- /dev/null +++ b/apps/cflow/source-evidence.json @@ -0,0 +1,14 @@ +{ + "repository": "https://github.com/Vespa314/cflow", + "dockerDocs": "https://github.com/Vespa314/cflow#dockerhub", + "composeFile": "https://github.com/Vespa314/cflow/blob/main/docker-compose.yaml", + "dockerfile": "https://github.com/Vespa314/cflow/blob/main/Dockerfile", + "imageRegistry": "https://hub.docker.com/r/vespa314/cflow", + "notes": [ + "Issue request: https://github.com/okxlin/appstore/issues/2231", + "Upstream README documents Docker Hub deployment with vespa314/cflow:latest, port 5230, and /var/opt/memos data volume.", + "The repository docker-compose.yaml currently references neosmemo/memos:latest, which is not available on Docker Hub; this adaptation follows the README Docker Hub command instead.", + "Docker Hub tag metadata for vespa314/cflow:latest shows linux/amd64 only, so the app metadata is limited to amd64.", + "Upstream README states that external-service features are not included in the open-source container; README documents this limitation for users." + ] +}