From cf5e3c016c2ca18027ea4c9b772f9a10f87d42bc Mon Sep 17 00:00:00 2001 From: arch3rPro Date: Mon, 25 May 2026 14:26:34 +0800 Subject: [PATCH] feat: add Fast Note Sync Service with configuration, documentation, and logo --- .gitignore | 5 ++- apps/fast-note-sync-service/3.1.0/data.yml | 14 +++++++ .../3.1.0/data/.gitkeep | 1 + .../3.1.0/docker-compose.yml | 18 +++++++++ apps/fast-note-sync-service/README.md | 36 ++++++++++++++++++ apps/fast-note-sync-service/README_en.md | 36 ++++++++++++++++++ apps/fast-note-sync-service/data.yml | 29 ++++++++++++++ apps/fast-note-sync-service/latest/data.yml | 14 +++++++ .../latest/data/.gitkeep | 1 + .../latest/docker-compose.yml | 18 +++++++++ apps/fast-note-sync-service/logo.png | Bin 0 -> 2691 bytes 11 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 apps/fast-note-sync-service/3.1.0/data.yml create mode 100644 apps/fast-note-sync-service/3.1.0/data/.gitkeep create mode 100644 apps/fast-note-sync-service/3.1.0/docker-compose.yml create mode 100644 apps/fast-note-sync-service/README.md create mode 100644 apps/fast-note-sync-service/README_en.md create mode 100644 apps/fast-note-sync-service/data.yml create mode 100644 apps/fast-note-sync-service/latest/data.yml create mode 100644 apps/fast-note-sync-service/latest/data/.gitkeep create mode 100644 apps/fast-note-sync-service/latest/docker-compose.yml create mode 100644 apps/fast-note-sync-service/logo.png diff --git a/.gitignore b/.gitignore index d4ea6af..0162245 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,7 @@ .trae # Codex -.codex \ No newline at end of file +.codex + +# superpowers +/docs \ No newline at end of file diff --git a/apps/fast-note-sync-service/3.1.0/data.yml b/apps/fast-note-sync-service/3.1.0/data.yml new file mode 100644 index 0000000..061ee51 --- /dev/null +++ b/apps/fast-note-sync-service/3.1.0/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + formFields: + - default: 9000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web/API Port + labelZh: Web/API 端口 + required: true + rule: paramPort + type: number + label: + en: Web/API Port + zh: Web/API 端口 + zh-Hant: Web/API 連接埠 diff --git a/apps/fast-note-sync-service/3.1.0/data/.gitkeep b/apps/fast-note-sync-service/3.1.0/data/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/apps/fast-note-sync-service/3.1.0/data/.gitkeep @@ -0,0 +1 @@ + diff --git a/apps/fast-note-sync-service/3.1.0/docker-compose.yml b/apps/fast-note-sync-service/3.1.0/docker-compose.yml new file mode 100644 index 0000000..37f40f7 --- /dev/null +++ b/apps/fast-note-sync-service/3.1.0/docker-compose.yml @@ -0,0 +1,18 @@ +services: + fast-note-sync-service: + image: haierkeys/fast-note-sync-service:3.1.0 + container_name: ${CONTAINER_NAME} + restart: always + ports: + - "${PANEL_APP_PORT_HTTP}:9000" + networks: + - 1panel-network + volumes: + - ./data/storage:/fast-note-sync/storage + - ./data/config:/fast-note-sync/config + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/fast-note-sync-service/README.md b/apps/fast-note-sync-service/README.md new file mode 100644 index 0000000..63b5964 --- /dev/null +++ b/apps/fast-note-sync-service/README.md @@ -0,0 +1,36 @@ +# Fast Note Sync Service + +Fast Note Sync Service 是一个高性能、低延迟的 Obsidian 笔记同步、在线管理与 REST API 服务平台,基于 Go、WebSocket 和 React 构建。 + +## 功能特点 + +- 支持 Obsidian 笔记、目录、配置和附件同步 +- 提供 Web 管理面板,可创建用户、管理仓库并查看笔记内容 +- 支持 REST API、MCP、分享、历史版本、回收站和多存储备份 +- 支持 SQLite、MySQL 和 PostgreSQL 等数据库配置 + +## 使用说明 + +### 默认端口 + +- Web 管理面板 / API / WebSocket: 9000 + +### 初始账号 + +- 首次访问 `http://服务器IP:9000` 后注册第一个账号 +- 如需关闭公开注册,请在配置文件中设置 `user.register-is-enable: false` + +### 数据目录 + +- 笔记与附件数据: `./data/storage` +- 配置文件: `./data/config` + +### 客户端配置 + +登录 Web 管理面板后,点击“复制 API 配置”,并粘贴到 Obsidian Fast Note Sync 插件设置中。 + +## 相关链接 + +- GitHub: https://github.com/haierkeys/fast-note-sync-service +- Obsidian 插件: https://github.com/haierkeys/obsidian-fast-note-sync +- REST API 文档: https://github.com/haierkeys/fast-note-sync-service/blob/master/docs/REST_API.md diff --git a/apps/fast-note-sync-service/README_en.md b/apps/fast-note-sync-service/README_en.md new file mode 100644 index 0000000..9e82cbc --- /dev/null +++ b/apps/fast-note-sync-service/README_en.md @@ -0,0 +1,36 @@ +# Fast Note Sync Service + +Fast Note Sync Service is a high-performance, low-latency note synchronization, online management, and REST API service platform for Obsidian, built with Go, WebSocket, and React. + +## Features + +- Sync Obsidian notes, folders, configuration, and attachments +- Web administration panel for users, vaults, and note browsing +- REST API, MCP, sharing, history, trash, and multi-storage backup support +- Configurable SQLite, MySQL, and PostgreSQL database support + +## Usage + +### Default Port + +- Web admin panel / API / WebSocket: 9000 + +### Initial Account + +- Open `http://SERVER_IP:9000` and register the first account +- To disable public registration, set `user.register-is-enable: false` in the configuration file + +### Data Directories + +- Notes and attachments: `./data/storage` +- Configuration files: `./data/config` + +### Client Setup + +Log in to the web admin panel, click "Copy API Configuration", and paste it into the Obsidian Fast Note Sync plugin settings. + +## Links + +- GitHub: https://github.com/haierkeys/fast-note-sync-service +- Obsidian plugin: https://github.com/haierkeys/obsidian-fast-note-sync +- REST API docs: https://github.com/haierkeys/fast-note-sync-service/blob/master/docs/REST_API.md diff --git a/apps/fast-note-sync-service/data.yml b/apps/fast-note-sync-service/data.yml new file mode 100644 index 0000000..af02a44 --- /dev/null +++ b/apps/fast-note-sync-service/data.yml @@ -0,0 +1,29 @@ +name: Fast Note Sync Service +tags: + - 实用工具 + - 云存储 +title: 高性能低延迟的 Obsidian 笔记同步服务 +description: Fast Note Sync Service 是一个基于 Go、WebSocket 和 React 的笔记同步、在线管理与 REST API 服务平台。 +additionalProperties: + key: fast-note-sync-service + name: Fast Note Sync Service + tags: + - Tool + - Storage + shortDescZh: 高性能低延迟的 Obsidian 笔记同步服务 + shortDescEn: High-performance low-latency note synchronization service for Obsidian. + description: + zh: Fast Note Sync Service 是一个基于 Go、WebSocket 和 React 的笔记同步、在线管理与 REST API 服务平台,支持 Obsidian 客户端同步、附件同步、历史版本、分享、备份和 MCP 接入。 + en: Fast Note Sync Service is a Go, WebSocket, and React based platform for note synchronization, online management, and REST APIs, supporting Obsidian client sync, attachments, history, sharing, backups, and MCP integration. + zh-Hant: Fast Note Sync Service 是一個基於 Go、WebSocket 和 React 的筆記同步、線上管理與 REST API 服務平台,支援 Obsidian 客戶端同步、附件同步、歷史版本、分享、備份和 MCP 接入。 + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/haierkeys/fast-note-sync-service + github: https://github.com/haierkeys/fast-note-sync-service + document: https://github.com/haierkeys/fast-note-sync-service/blob/master/README.md + architectures: + - amd64 + - arm64 + - arm/v7 diff --git a/apps/fast-note-sync-service/latest/data.yml b/apps/fast-note-sync-service/latest/data.yml new file mode 100644 index 0000000..061ee51 --- /dev/null +++ b/apps/fast-note-sync-service/latest/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + formFields: + - default: 9000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web/API Port + labelZh: Web/API 端口 + required: true + rule: paramPort + type: number + label: + en: Web/API Port + zh: Web/API 端口 + zh-Hant: Web/API 連接埠 diff --git a/apps/fast-note-sync-service/latest/data/.gitkeep b/apps/fast-note-sync-service/latest/data/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/apps/fast-note-sync-service/latest/data/.gitkeep @@ -0,0 +1 @@ + diff --git a/apps/fast-note-sync-service/latest/docker-compose.yml b/apps/fast-note-sync-service/latest/docker-compose.yml new file mode 100644 index 0000000..e8c76a5 --- /dev/null +++ b/apps/fast-note-sync-service/latest/docker-compose.yml @@ -0,0 +1,18 @@ +services: + fast-note-sync-service: + image: haierkeys/fast-note-sync-service:latest + container_name: ${CONTAINER_NAME} + restart: always + ports: + - "${PANEL_APP_PORT_HTTP}:9000" + networks: + - 1panel-network + volumes: + - ./data/storage:/fast-note-sync/storage + - ./data/config:/fast-note-sync/config + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/fast-note-sync-service/logo.png b/apps/fast-note-sync-service/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5344ebe22a831d61c5c2cc2bf5c8c33c2e35b668 GIT binary patch literal 2691 zcmbuB=OY`68pdN4Y3np<97V07gc>zNRYHo0Sn05L?Am)rh*(v76tyBLwQ1!Tr>bI9 z#cWGy9XlvNOR4s_U+%a2>3(>|`#%4`k6?x}xCp!g1ONaRjSTfI&T{ZS;$S^DCXK{1GBTSfj$86EJH&1 z>|zf#GJ&(x*#y|Q6^waObpZg*QzLySI(&9}KFS}xB0y#AJj}=GGIOqCpY~r%RTRbD zsZMnXsLy{a3$fJl*i7kgsSSNLeY-xCo<8gO{6KktMzw^^Xp}9ZNvPu6}DF(IaP+^@yIn|z&Ta4a+*=PM0wY>UlH*)C>u}9ARW!6=eTI2@x7Mc-GUk26;FVe zKq*yZ1vXk-z(@IxNQO#Nj{H<>T4LKtP$R<%$vjwx{_SO7a2pH#u zFgz8+(T5JuEHF3j#E%EJB)&Kj6rpYV7KDGGi1uA*SlL9oEduh=`DS)`yfx`|)bObW z#|uF(6Y4ZatKQ-#hpfw7RecwNGueHCdq>P8R)|h^0qH7y+#YM4M)oP!uvZjg@{l>d z6_+jNUi{2{W?!X|RyYrClIxHhTr!R>F_sy2PA*z^zZ~Z%nNj9&s$s%$m+sVl-Q)OM zLr*0WCwrncJmIbm;CPz~ar^UgWzZ@9!W=}X5TMe&Lt@nwvPvbF_6gdwUxiBR8} z&1bvZSvE%w^siEacsxxQZKIij@g6maS1S+3O?5PvmC87C{ecn7H%nWKkVRE18~bXa!vh8s%O**VQmy3bVgipw_7|?N zi)>*;itPs?fNvMfhv_0;rCW{sq>$}t1O~P4x52_ z;4KsdM$&Dk=+#XXLaizzVU{s5Vd7}g$y8ZrD*js=UmaTPFoy@Wgsu|tt~)o8u1=hW zP-`VYFt=0$dqxwUEe!o6Lhtj5PMDCP26tzzhWYkho#?dB;O9(I zfq$MnR!OsH^yXpQHNw#%jzu$Eou9oQQ>AX=a4^})j7WodPuKBEn;4aPaomlmd=+lb z36|ooGecU>wNpb%XKDi~cWCoHG6b_cwdyA@bY1)4<}H^LTiV8PQf9SzwqSHXBtOs_ zKD?;Dj+bS?nf2UM?xeNfJC#{&v*OhmG$2`o$gnNc797BPg-FRmoF+3dUPzfnrunTO z_mLcSRSP_Q3$->Z{`fSrOg_&L#K}-=nFuzCCTzqmG`(NE_PXx-Vk>yu&IItZlj@owpQqWi28Z zRv@Y5&|@?5MCiq6VDh?8cW(dnehHnIXppQ)_@l35jIyZ~xk(ASpwh@gyX{1lmP-^j zocYtjg@f%B53dM5y0k>5YcKtWfUDw^_$@7Dmia9*xrbwtpdIv0K1K~mjB2MzM*u5; zw{G_9E=ahm z!MCVV;Vq`I`b)sNdt}%5-TC#1Y%d9ZTsr`Ccvd~bw%q*KoQu}a7uuW@im`-Wv@C)_&#_R_il~qsO8*=d9q@4Yw?yUy zLRh4g5c%Cd3w5j)zaaVcK`Pn#%03ALSwT7?Q|A;gpv~ovm%3lDX_ofo>WH|hHnt?4 z;~Ee6C)kq1Ie7d{?5py@6`tXup$J<8E5vhj_UriC(|;~jY+6thK1XdqlhLTo#6Nhe z_cYcV?rfwJXxY^w&0FJ$QDgU&`pgXGPtQ+{_?H<^8({CUXtu(LJ?Dc}E&_Pk{=`r~5`B>YZ)ZRUgabv&G{Ai$P-vjZ3@y$b#^Edy?4*V!A zgIRb)9EaV_^%YNerwf3;b!TcFT)L^&lsT^^y8^06$@j>Bu;XbivsEV{^y}r5yUAu{ zv5NiT1g37X)x9ja%fJnylY{j4WGNe?7R0*Hwm>LGn;6wyej*6R(Z=rBYFX6M9r^l2 zZp)QZoNov)cJA7K2}#-D^n%KgkXiTT6S`)AUQj7zu~*UqQNqrVSnDjEN=_XRjU9Ma zO+5{F36YI@NK>=(6N7k(U)@P@tU?r@Ni|p{At&iZhWJG& w3jFdhm9vk>5`n8ynF!*pcKzRs#Yp(gJdlh_*E|`5pRpmp2#(TkfH`9S1)Tj2m;e9( literal 0 HcmV?d00001