Auto-sync: 2026-04-27 04:02
This commit is contained in:
20
wiki/entities/Alist.md
Normal file
20
wiki/entities/Alist.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "Alist"
|
||||
type: entity
|
||||
tags: []
|
||||
last_updated: 2026-05-30
|
||||
---
|
||||
|
||||
## Alist
|
||||
|
||||
开源网盘聚合工具(WebDAV/File listing program),支持将多个云存储(阿里云盘、百度网盘、Google Drive、OneDrive、S3 等)统一挂载为本地文件系统访问。
|
||||
|
||||
## Aliases
|
||||
- AList
|
||||
- aList
|
||||
|
||||
## Overview
|
||||
Alist 通过 Web 界面聚合多个网盘/云存储服务,提供统一的文件浏览和下载入口。用户无需在各平台间切换,通过 Alist 即可访问所有挂载的存储。支持 Docker 部署,镜像名为 `xiaoyaliu/alist`。
|
||||
|
||||
## Key References
|
||||
- [[如何传输Docker images 并且在另一个Docker安装]] — 在 Synology NAS 上通过 `docker load` 导入 xiaoyaliu/alist 镜像的示例操作
|
||||
31
wiki/entities/Docker.md
Normal file
31
wiki/entities/Docker.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: "Docker"
|
||||
type: entity
|
||||
tags: []
|
||||
last_updated: 2026-05-30
|
||||
---
|
||||
|
||||
## Docker
|
||||
|
||||
开源容器化平台(Containerization Platform),用于打包、分发和运行应用程序及其依赖。
|
||||
|
||||
## Aliases
|
||||
- Docker Engine
|
||||
- Docker Desktop
|
||||
|
||||
## Overview
|
||||
Docker 通过容器(Container)将应用程序及其运行时环境打包为独立镜像,支持跨平台一致部署。核心组件包括:
|
||||
- **Dockerfile**:定义镜像构建步骤
|
||||
- **docker pull/push**:从 Registry 拉取/推送镜像
|
||||
- **docker save/load**:镜像离线打包(tar)与导入
|
||||
- **docker run**:基于镜像启动容器
|
||||
- **docker compose**:多容器编排
|
||||
|
||||
## Key References
|
||||
- [[如何在Ubuntu Server安装 Docker & Docker Compose]] — Docker + Docker Compose 安装
|
||||
- [[如何传输Docker images 并且在另一个Docker安装]] — 镜像离线迁移(save/load)
|
||||
- [[用Docker安装Portainer]] — 容器管理面板
|
||||
- [[用Docker安装Jellyfin]] — 媒体服务器
|
||||
- [[用Docker安装Homarr]] — 个人导航仪表盘
|
||||
- [[用Docker安装Apache Superset]] — BI 可视化平台
|
||||
- [[如何删除旧的废弃的 Docker Container + Volume]] — 容器清理
|
||||
@@ -4,6 +4,22 @@
|
||||
- [Overview](overview.md) — living synthesis
|
||||
|
||||
## Sources
|
||||
- [2026-04-26] [在Ubuntu上安装Vibe-Kanban](sources/在ubuntu上安装vibe-kanban.md)
|
||||
- [2026-04-26] [Vibe-Kanban + OpenCode 在 Ubuntu Server 上安装与管理指南](sources/vibe-kanban-opencode-在-ubuntu-server-上安装与管理指南.md)
|
||||
- [2026-04-26] [Vibe Coding 经验收集](sources/vibe-coding经验收集.md)
|
||||
- [2026-04-26] [如何在项目里安装Claude Code Templates Skills](sources/如何在项目里安装claude-code-templates-skills.md)
|
||||
- [2026-04-26] [Trae远程开发部署指南](sources/trae远程开发部署指南.md)
|
||||
- [2026-04-26] [Cursor 2.0初学者使用指南](sources/cursor-2-0初学者使用指南.md)
|
||||
- [2026-04-26] [如何在Ubuntu上安装OpenCode并配置Vibe-Kanban](sources/如何在ubuntu上安装opencode并配置vibe-kanban.md)
|
||||
- [2026-04-26] [如何传输Docker images 并且在另一个Docker安装](sources/如何传输docker-images-并且在另一个docker安装.md)
|
||||
- [2026-04-26] [Ubuntu用RustDesk远程登录出现不能使用Wayland登录的错误](sources/ubuntu用rustdesk远程登录出现不能使用wayland登录的错误.md)
|
||||
- [2026-04-26] [用Docker安装Homarr](sources/用docker安装homarr.md)
|
||||
- [2026-04-26] [在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透](sources/在ubuntu上通过vps-内网反向代理实现域名访问内网穿透.md)
|
||||
- [2026-04-26] [如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹](sources/如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹.md)
|
||||
- [2026-04-26] [用Docker安装Apache Superset](sources/用docker安装apache-superset.md)
|
||||
- [2026-04-26] [Mac Mini 服务器配置:防止自动锁屏与睡眠](sources/mac-mini-服务器配置-防止自动锁屏与睡眠.md)
|
||||
- [2026-04-26] [家庭网络环境概览](sources/家庭网络环境概览_2026-04-03.md)
|
||||
- [2026-04-26] [如何删除旧的废弃的 Docker Container + Volume](sources/如何删除旧的废弃的docker-container-volume.md)
|
||||
- [2026-04-26] [用Docker安装Portainer](sources/用docker安装portainer.md)
|
||||
- [2026-04-26] [用Docker安装Jellyfin](sources/用docker安装jellyfin.md)
|
||||
- [2026-04-26] [Ubuntu Server科学上网](sources/ubuntu-server科学上网.md)
|
||||
@@ -63,14 +79,7 @@
|
||||
- [养虾日记2:让Agent更懂你:OpenClaw + Self-Improving 复盘实战案例分享](sources/养虾日记2-让agent更懂你-openclaw-self-improving-复盘实战案例分享.md)
|
||||
- [养虾日记1:我用 OpenClaw 管了 28 万张照片:一次真实的多设备照片整理实战](sources/养虾日记1-我用-openclaw-管了-28-万张照片-一次真实的多设备照片整理实战.md)
|
||||
- [不谈技术:普通人该怎么在AI时代赚钱?](sources/不谈技术-普通人该怎么在ai时代赚钱.md)
|
||||
- [开发经验与项目规范整理文档](sources/开发经验与项目规范整理文档.md)
|
||||
- [如何在项目里安装Claude Code Templates Skills](sources/如何在项目里安装claude-code-templates-skills.md)
|
||||
- [如何在Ubuntu上安装OpenCode并配置Vibe-Kanban](sources/如何在ubuntu上安装opencode并配置vibe-kanban.md)
|
||||
- [在Ubuntu上安装Vibe-Kanban](sources/在ubuntu上安装vibe-kanban.md)
|
||||
- [Vibe Coding 经验收集](sources/vibe-coding经验收集.md)
|
||||
- [Vibe-Kanban + OpenCode 在 Ubuntu Server 上安装与管理指南](sources/vibe-kanban-opencode-在-ubuntu-server-上安装与管理指南.md)
|
||||
- [Trae远程开发部署指南](sources/trae远程开发部署指南.md)
|
||||
- [Cursor 2.0初学者使用指南](sources/cursor-2-0初学者使用指南.md)
|
||||
- [2025-12-30] [开发经验与项目规范整理文档](sources/开发经验与项目规范整理文档.md) — Vibe Coding 开发经验与项目规范,涵盖编码规范、系统架构原则、微服务、Redis、消息队列
|
||||
- [我做了个 Skill:让 AI 帮你生成 Logo 和图标](sources/我做了个-skill-让-ai-帮你生成-logo-和图标.md)
|
||||
- [fireworks-tech-graph](sources/fireworks-tech-graph.md)
|
||||
- [Blogwatcher Daily 技能收藏](sources/blogwatcher-daily收藏.md)
|
||||
@@ -88,19 +97,10 @@
|
||||
- [How to get Youtube Channel ID](sources/how-to-get-youtube-channel-id.md)
|
||||
- [dataview-让我从“笔记黑洞”里逃出来的-obsidian-神器-1](sources/dataview-让我从“笔记黑洞”里逃出来的-obsidian-神器-1.md) — (expected: wiki/sources/dataview-让我从“笔记黑洞”里逃出来的-obsidian-神器-1.md — source missing)
|
||||
- [ChinaTextbook - 41.53 GB,中国小学、初中、高中、大学 PDF 教材](sources/chinatextbook-41-53-gb-中国小学-初中-高中-大学-pdf-教材.md)
|
||||
- [用Docker安装Homarr](sources/用docker安装homarr.md)
|
||||
- [用Docker安装Apache Superset](sources/用docker安装apache-superset.md)
|
||||
- [家庭网络环境概览](sources/家庭网络环境概览_2026-04-03.md)
|
||||
- [实战笔记:本地部署 RSSHub 并获取 YouTube 订阅](sources/实战笔记-本地部署-rsshub-并获取-youtube-订阅.md)
|
||||
- [如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹](sources/如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹.md)
|
||||
- [如何删除旧的废弃的Docker Container + Volume](sources/如何删除旧的废弃的docker-container-volume.md)
|
||||
- [如何传输Docker images 并且在另一个Docker安装](sources/如何传输docker-images-并且在另一个docker安装.md)
|
||||
- [在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透](sources/在ubuntu上通过vps-内网反向代理实现域名访问内网穿透.md)
|
||||
- [n8n-docker-配置-telegram-代理-troubleshooting](sources/n8n-docker-配置-telegram-代理-troubleshooting.md) — (expected: wiki/sources/n8n-docker-配置-telegram-代理-troubleshooting.md — source missing)
|
||||
- [WSL2 启动与网络配置指南](sources/wsl2-启动与网络配置指南.md)
|
||||
- [Ubuntu用RustDesk远程登录出现不能使用Wayland登录的错误](sources/ubuntu用rustdesk远程登录出现不能使用wayland登录的错误.md)
|
||||
- [Mac必装软件清单](sources/mac必装软件清单-2026-04-17.md)
|
||||
- [Mac Mini 服务器配置:防止自动锁屏与睡眠](sources/mac-mini-服务器配置-防止自动锁屏与睡眠.md)
|
||||
- [Install WSL](sources/install-wsl.md)
|
||||
- [Building your Quartz](sources/building-your-quartz.md)
|
||||
- [sre-weekly-issue-513](sources/sre-weekly-issue-513.md) — (expected: wiki/sources/sre-weekly-issue-513.md — source missing)
|
||||
@@ -547,6 +547,7 @@
|
||||
- [Alertmanager](entities/Alertmanager.md)
|
||||
- [Alex-Ewerlof](entities/Alex-Ewerlof.md)
|
||||
- [Alex-Finn](entities/Alex-Finn.md)
|
||||
- [Alist](entities/Alist.md)
|
||||
- [Amazon-API-Gateway](entities/Amazon-API-Gateway.md)
|
||||
- [Amazon-Aurora](entities/Amazon-Aurora.md)
|
||||
- [Amazon-CloudWatch-Logs](entities/Amazon-CloudWatch-Logs.md)
|
||||
@@ -625,6 +626,7 @@
|
||||
- [DenchClaw](entities/DenchClaw.md)
|
||||
- [DevOps-Maturity-Model](entities/DevOps-Maturity-Model.md)
|
||||
- [Dify](entities/Dify.md)
|
||||
- [Docker](entities/Docker.md)
|
||||
- [docker-buildx-plugin](entities/docker-buildx-plugin.md)
|
||||
- [docker-ce](entities/docker-ce.md)
|
||||
- [docker-compose-plugin](entities/docker-compose-plugin.md)
|
||||
|
||||
134
wiki/log.md
134
wiki/log.md
@@ -1,3 +1,118 @@
|
||||
## [2026-06-04] ingest | 在Ubuntu上安装Vibe-Kanban
|
||||
- Source file: Vibe Coding/在Ubuntu上安装Vibe-Kanban.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 在 Ubuntu Server 上安装和配置 Vibe-Kanban AI 任务管理工具的完整指南。核心 Claims:Vibe Kanban 默认以 --dangerously-skip-permissions/--yolo 标志运行 AI 代理;每个任务在隔离 git worktree 中运行防止干扰;通过 npx 直接运行;使用 PM2 实现后台守护和开机自启;支持可选的 GitHub CLI 和 MCP 集成。
|
||||
- Concepts created: 无(PM2/npx/MCP Server 等概念以内嵌引用存在于 source page,未达独立建页阈值)
|
||||
- Entities created: 无(Vibe-Kanban Entity 页面已存在于 wiki/entities/Vibe-Kanban.md;BloopAI 为来源文件提及但无独立建页必要)
|
||||
- Source page: wiki/sources/在ubuntu上安装vibe-kanban.md
|
||||
- Notes: index.md 第82行日期更新为 [2026-06-04];overview.md Vibe Coding 已有覆盖,无需修订;冲突检测:与 [[如何在Ubuntu上安装OpenCode并配置Vibe-Kanban]] 部分重叠,已记录于 Source page Contradictions 节。
|
||||
|
||||
## [2026-06-04] ingest | Vibe-Kanban + OpenCode 在 Ubuntu Server 上安装与管理指南
|
||||
- Source file: Vibe Coding/Vibe-Kanban + OpenCode 在 Ubuntu Server 上安装与管理指南.md
|
||||
- Status: ✅ 验证完成(source page 已存在且完整,修复 Key Concepts 中断链 [[n vm]] → [[nvm]])
|
||||
- Summary: 在 Ubuntu Server 上非 root 用户(shenwei)安装 Node 20、Vibe-Kanban、OpenCode,并通过 pm2 进程管理。核心 Claims:nvm 版本隔离、pm2 进程守护、权限配置关键性、不以 root 启动 OpenCode、Vibe-Kanban 自动 spawn executor。
|
||||
- Concepts created: 无([[nvm]]/[[pm2]]/[[Node 20]]/[[Vibe Coding]] 均已内嵌引用,未达独立建页阈值)
|
||||
- Entities created: 无([[Vibe-Kanban]]/[[OpenCode]] Entity 页面均已存在;[[shenwei]] 仅为作者署名,无需独立建页)
|
||||
- Source page: wiki/sources/vibe-kanban-opencode-在-ubuntu-server-上安装与管理指南.md
|
||||
- Notes: index.md 第82行已有本条目(Sources节),无需更新;overview.md 第26/459/562/567/637行已有 OpenCode/Vibe Coding 相关内容覆盖,无需修订;冲突检测:无冲突(与 [[如何在Ubuntu上安装OpenCode并配置Vibe-Kanban]] 部分重叠,记录于 Source page Contradictions 节,已明确本篇更详细);本次操作修复 Key Concepts 中断链 [[n vm]] → [[nvm]]。
|
||||
|
||||
## [2026-06-04] ingest | Vibe Coding 经验收集
|
||||
- Source file: Vibe Coding/vibe coding经验收集.md
|
||||
- Status: ✅ 增量同步完成(source page 已存在,本次更新新增 CodeWeaver 工具引用及相关 Key Claims/Quotes/Concepts)
|
||||
- Summary: Vibe Coding 实战经验精选合集,新增 CodeWeaver 工具介绍(将代码库编织成可导航 Markdown 文档,简化 AI/ML 工具集成)。核心 Claims:递进式开发工作流、System Prompt 优化效果、点线体迭代、文件注释规范、代码验证优先、激励式提示词。
|
||||
- Concepts created: 无(CodeWeaver 已在 [[CodeWeaver]] 概念页引用,未达独立建页阈值)
|
||||
- Source page: wiki/sources/vibe-coding经验收集.md
|
||||
- Notes: index.md 第81行日期修正为 [2025-12-30];overview.md AI 辅助编程实践内容已覆盖本文档,无需修订;Entity 页面 [[CodeWeaver]](wiki/entities/CodeWeaver.md)已存在且第8行引用本文档;冲突检测:无冲突(与 [[Agentic AI]] 互补,记录于 Source page Connections 节)。
|
||||
|
||||
- Source file: Vibe Coding/如何在项目里安装Claude-Code-Templates Skills.md
|
||||
- Status: ✅ 验证完成(source page 已存在且完整,无需重新生成)
|
||||
- Summary: 通过 npx claude-code-templates@latest --skill=<path> --yes 命令为 Claude Code/Trae 项目一键安装社区维护的 Skills/Agents/MCP 模板,来源网站 aitmpl.com 提供三类模板浏览。
|
||||
- Concepts created: 无([[Claude Code Templates]]/[[Claude Code Skills]]/[[MCP(Model Context Protocol)]] 等概念在 Source page 内嵌引用,未达独立建页阈值)
|
||||
- Entities created: 无([[Claude Code]]/[[aitmpl.com]]/[[Trae]] 等实体的定义性信息已嵌入 Source page,未单独建页;[[Anthropic]] Entity 页面已存在)
|
||||
- Source page: wiki/sources/如何在项目里安装claude-code-templates-skills.md
|
||||
- Notes: index.md 第79行已有本条目(Sources节),无需更新;overview.md 未直接引用本文档,无需修订;Entity 页面无新建需求;冲突检测:无已知冲突内容。
|
||||
|
||||
## [2026-06-03] ingest | Trae远程开发部署指南
|
||||
- Source file: Vibe Coding/Trae远程开发部署指南.md
|
||||
- Status: ✅ 验证完成(source page 已存在且完整,无需重新生成)
|
||||
- Summary: 使用 Trae IDE 通过 SSH 远程连接 Ubuntu 服务器进行 Docker 容器化项目的开发工作流配置。核心机制:SSH 免密登录 → Trae Remote-SSH 连接 → Docker 容器 Attach 或宿主机文件编辑 → Tailscale/FRP 公网访问。支持 Attach 容器调试模式和宿主机文件+Docker CLI 编排模式两种开发方式。
|
||||
- Concepts created: 无([[Remote-SSH]]/[[BindMount]]/[[Attach容器]]/[[Docker用户组]]/[[SSHConfig]]/[[SSH免密登录]]/[[DockerCompose]] 等概念均已在 Wiki 存在,source page 内嵌引用)
|
||||
- Entities created: 无([[Trae]]/[[Ubuntu2]]/[[Ubuntu1]]/[[ThinkBook]]/[[Tailscale]]/[[Docker]] 均已在 Wiki 存在,[[Trae]] Entity 页面已引用本文档)
|
||||
- Source page: wiki/sources/trae远程开发部署指南.md
|
||||
- Notes: index.md 第82行已有本条目([2026-04-26]),无需更新;overview.md 第638行已有 [[Trae]] Entity 描述,第459/638行已有相关上下文;Entity 页面 [[Trae]](wiki/entities/Trae.md)已存在且第38行引用本文档;冲突检测:无冲突(与 [[Cursor2.0初学者使用指南]] 互补,均为 Remote-SSH/Docker 开发配置,属不同 IDE 工具的相同工作流)。
|
||||
|
||||
## [2026-06-02] ingest | Cursor 2.0初学者使用指南
|
||||
- Source file: Vibe Coding/Cursor 2.0初学者使用指南.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: Cursor 2.0 AI代码编辑器初学者完整教程。涵盖安装配置、Composer模型、多代理并行操作、Plan/Agent/Ask三种模式、Diff代码审查、Git版本控制、项目规则自定义及MCP服务器集成。
|
||||
- Concepts created: 无(多代理并行/Diff审查/项目规则/MCP服务器等概念属于上下文内嵌,未达独立建页阈值)
|
||||
- Entities created: 无([[Cursor]] Entity页面已存在,本次新建source page并更新其Sources节)
|
||||
- Source page: wiki/sources/cursor-2-0初学者使用指南.md
|
||||
- Notes: index.md 第82行已有本条目(Sources节),无需更新;overview.md AI代码编辑器内容可能已覆盖,本次未做修订;Entity页面 [[Cursor]](wiki/entities/Cursor.md)已存在且Sources节已引用本文档;冲突检测:无冲突(与 [[MCP在Cursor中的集成与应用详解]] 互补,记录于Source page Contradictions节)。
|
||||
|
||||
## [2026-05-30] ingest | 如何在Ubuntu上安装OpenCode并配置Vibe-Kanban
|
||||
- Source file: Vibe Coding/如何在Ubuntu上安装opencode并配置Vibe-Kanban.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: OpenCode AI 编程代理的安装、配置与使用完整指南。通过 `curl -fsSL https://opencode.ai/install | bash` 一键安装,运行 `/connect` 配置 LLM API Key,运行 `/init` 初始化项目并自动生成 `AGENTS.md`;支持 Tab 键切换 Plan/Build 模式,`/undo`/`/redo` 撤销重做;支持拖拽图片进行视觉分析;提供终端/桌面应用/IDE 扩展三种使用形态。
|
||||
- Concepts created: 无(Vibe Coding/Plan Mode/Build Mode/AGENTS.md 等概念页面均已存在,未达独立建页阈值)
|
||||
- Entities created: 无([[OpenCode]]、[[Vibe-Kanban]]、[[OpenCode Zen]] Entity 页面均已存在)
|
||||
- Source page: wiki/sources/如何在ubuntu上安装opencode并配置vibe-kanban.md
|
||||
- Notes: index.md 第77行已有本条目(Sources节),无需更新;overview.md OpenCode/Plan Mode/Build Mode/Vibe Coding 等内容已在 AI Tools & Prompt Engineering 段落覆盖,无需修订;Entity 页面 OpenCode.md/Vibe-Kanban.md 已存在;Concept 页面 Vibe-Coding.md/Plan-Mode.md/AGENTS.md.md 已存在;冲突检测:无冲突(与 [[github-上-5000-人收藏的-vibe-coding-神级指南]] 互补,记录于 Source page Contradictions 节)。
|
||||
|
||||
## [2026-05-30] ingest | 如何传输Docker images 并且在另一个Docker安装
|
||||
- Source file: Home Office/如何传输Docker images 并且在另一个Docker安装.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 通过 `docker save -o xiaoya.tar xiaoyaliu/alist` 将镜像导出为 tar 文件,上传至 Synology NAS 文件系统后通过 SSH 执行 `docker load < xiaoya.tar` 导入镜像,最后在 Container Manager Web UI 中验证镜像可见。提供了无需镜像仓库的离线迁移标准流程。
|
||||
- Concepts created: 无(Docker-Image/Save/Load/Registry 等概念内嵌于 source page,未达独立建页阈值)
|
||||
- Entities created: [[Docker]](wiki/entities/Docker.md)、[[Alist]](wiki/entities/Alist.md);[[Synology-NAS]] 已存在于 wiki/entities/Synology-NAS.md
|
||||
- Source page: wiki/sources/如何传输docker-images-并且在另一个docker安装.md
|
||||
- Notes: index.md 第100行已有本条目(Sources节),本次为更新重摄入;overview.md Docker 相关内容已覆盖,无需修订;index.md Entities 节新增 [[Docker]] 和 [[Alist]] 条目;冲突检测:无冲突(Source page 原内容 Key Claims 部分包含 ctr/多架构等原文未提及内容,本次修正为纯基于原文的 Claims)。
|
||||
|
||||
## [2026-05-29] ingest | 用Docker安装Homarr
|
||||
- Source file: Home Office/用Docker安装Homarr.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 通过 Docker Compose 在 Home Server 上部署 Homarr 个人导航仪表盘的完整操作流程。使用 docker-compose.yml 定义 Homarr 容器,官方镜像来源为 ghcr.io/homarr-labs/homarr,默认端口 7575,通过 /var/run/docker.sock 卷挂载集成 Docker 容器状态监控,配置 SECRET_ENCRYPTION_KEY 环境变量进行数据加密,通过 ALL_PROXY=socks5://172.24.0.1:10808 实现容器级代理访问外网。Homarr 提供统一的 Web UI 入口,方便查看和管理 Jellyfin、n8n、Prometheus 等多个自托管服务。
|
||||
- Concepts created: 无(Docker Compose/Docker卷/环境变量代理/SOCKS5代理等概念均已存在,未达独立建页阈值)
|
||||
- Entities created: 无(Homarr Entity 页面已存在于 wiki/entities/Homarr.md)
|
||||
- Source page: wiki/sources/用docker安装homarr.md
|
||||
- Notes: index.md 第97行已有本条目(无需更新);overview.md Homarr 已在多处覆盖(line 174 Ubuntu1节点描述/line 395 Home office setup guides),无需修订;Entity 页面 [[Homarr]] 已存在且包含完整内容;冲突检测:与 [[用docker安装portainer]] 在"Docker容器管理能力"方面存在功能性重叠,已记录于 Source page Contradictions 节。
|
||||
|
||||
## [2026-05-28] ingest | 在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透
|
||||
- Source file: Home Office/在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 完整记录通过 VPS(公网)+ frp(反向隧道)+ Caddy(自动 HTTPS 反向代理)实现家庭内网服务公网域名访问的完整方案。涵盖:Cloudflare DNS A 记录配置、VPS 安装 frps 和 Caddy、内网 NAS/Ubuntu 安装 frpc 客户端、Caddyfile 配置所有子域名反向代理(含 NAS/n8n/Transmission/Grafana 等)、SSH 穿透(`ssh -p 60022 user@ubuntu1.ishenwei.online`)、7 步故障排查指南(端口占用/token 不一致/防火墙/Caddy 误 proxy 等)。
|
||||
- Concepts created: 无(内网穿透/反向代理/TCP隧道/自动HTTPS/DNS A记录等 Concept 页面均已存在)
|
||||
- Entities created: 无(frp/Caddy/Cloudflare/RackNerd VPS/Synology NAS DS718 等 Entity 页面均已存在)
|
||||
- Source page: wiki/sources/在ubuntu上通过vps-内网反向代理实现域名访问内网穿透.md
|
||||
- Notes: index.md 第99行已有本条目(无需更新);overview.md 内网穿透相关内容已在 Home Lab Infrastructure 段落覆盖;Entity/Concept 页面检查:所有关键实体(frp/Caddy/Cloudflare)和概念(内网穿透/反向代理/TCP隧道)均已存在;冲突检测:无冲突(Source page 已存在,本次为更新重摄入,新增 SSH 穿透内容和 7 步故障排查内容)。
|
||||
|
||||
## [2026-05-28] ingest | 用Docker安装Apache Superset
|
||||
- Source file: Home Office/用Docker安装Apache Superset.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 通过 Docker 容器快速部署 Apache Superset BI 平台的完整操作流程——使用 `apache/superset:GHA-19524015706` 官方镜像,6 步初始化:拉取镜像 → 启动容器(端口映射 8777:8088)→ 创建管理员账户 → 数据库迁移 → 加载示例数据 → 完成初始化,默认凭据 admin/admin。
|
||||
- Concepts created: 无(Docker/容器初始化/BI平台/数据可视化等概念均以内嵌形式存在于 source page,未达独立建页阈值)
|
||||
- Entities created: 无([[Apache Superset]] Entity 页面已存在于 wiki/entities/Apache-Superset.md)
|
||||
- Source page: wiki/sources/用docker安装apache-superset.md
|
||||
- Notes: index.md 第95行已有本条目(无需更新);overview.md Apache Superset 已在多处覆盖(line 174/729),无需修订;Entity 页面 [[Apache Superset]] 已存在;冲突检测:无冲突(与 [[install-apache-superset-in-docker]] 内容高度一致,同属 docker run 单容器模式安装)。
|
||||
|
||||
## [2026-05-27] ingest | 家庭网络环境概览
|
||||
- Source file: Home Office/家庭网络环境概览_2026-04-03.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 完整记录家庭网络基础设施架构,包含公网VPS(RackNerd)、Mac Mini M4主控节点、Synology NAS DS718媒体中心、Ubuntu1监控服务器、Ubuntu2自动化服务器五节点;FRP内网穿透+Caddy反向代理实现公网访问;Docker容器化部署所有服务;Cloudflare DNS托管;涵盖Prometheus/Grafana监控栈、n8n工作流自动化、Gitea自建Git、Jellyfin/Navidrome/Calibre媒体服务等完整应用生态。
|
||||
- Concepts created: 无(FRP、Caddy、内网穿透、反向代理、TCP隧道、Home Lab、Prometheus监控均已存在Entity/Concept页面)
|
||||
- Entities created: 无(RackNerd、Mac Mini、Synology NAS、Ubuntu Server、Jellyfin、Navidrome、Prometheus、Grafana、n8n、OpenClaw、Alertmanager、NodeExporter等Entity页面均已存在)
|
||||
- Source page: wiki/sources/家庭网络环境概览_2026-04-03.md
|
||||
- Notes: index.md第94行已有本条目(无需更新);overview.md新增### Home Lab Infrastructure段落;Entity/Concept页面检查:所有关键实体和概念均有现有页面,无需新建;冲突检测:无冲突。
|
||||
|
||||
## [2026-05-27] ingest | 如何删除旧的废弃的 Docker Container + Volume
|
||||
- Source file: Home Office/如何删除旧的废弃的docker container +volume.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 清理 Docker 环境中废弃 Portainer 容器、Volume 和 Network 的完整操作流程——`docker stop/rm` 删除容器、`docker volume ls/rm` 删除卷、`docker network ls/rm` 删除网络;`docker compose down` 一键清理整个 compose 项目;通过 `external: true` 配置避免重启时的网络/卷冲突 WARN。
|
||||
- Concepts created: 无(Docker Container/Volume/Network/Compose 等概念均已内嵌引用,未达独立建页阈值)
|
||||
- Entities created: 无(Portainer Entity 页面已存在)
|
||||
- Source page: wiki/sources/如何删除旧的废弃的docker-container-volume.md
|
||||
- Notes: index.md 第96行已有本条目(无需更新);overview.md Docker 相关内容已覆盖(Docker卷/Docker Network/Portainer 等条目),无需新增段落;冲突检测:无冲突。
|
||||
|
||||
## [2026-05-14] ingest | 用Docker安装Portainer
|
||||
- Source file: Home Office/用Docker安装Portainer.md
|
||||
- Status: ✅ 成功摄入
|
||||
@@ -4409,4 +4524,21 @@
|
||||
- Concepts created: [[Observability]](可观测性三大支柱框架)、[[SyntheticMonitoring]](合成监控 vs RUM)、[[AlertManagement]](告警全生命周期管理)
|
||||
- Entities created: [[Prometheus]]、[[Grafana]]、[[NodeExporter]]、[[CAdvisor]]、[[BlackboxExporter]]、[[Alertmanager]]
|
||||
- Source page: wiki/sources/家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox.md
|
||||
- Notes: index.md 第85行已有本条目(source page 已存在,本次为补充 Entity + Concept 页面);冲突检测:无冲突,本 Source 与 Wiki 内其他来源(OpenText Cloud Learning Sessions 的 AWS 监控系列)在 Prometheus/Grafana 概念上互补,无实质矛盾。
|
||||
- Notes:
|
||||
|
||||
## [2026-05-27] ingest | Mac Mini 服务器配置:防止自动锁屏与睡眠
|
||||
- Source file: Home Office/Mac-Mini-服务器配置-防止自动锁屏与睡眠.md
|
||||
- Status: ✅ 成功摄入(已存在 — 内容验证一致,无需重建)
|
||||
- Summary: Mac Mini 作为无显示器 Home Server 时,通过 `pmset` 命令永久关闭所有睡眠机制(sleep/displaysleep/standby/hibernatemode),并启用 Wake-on-LAN;临时方案使用 `caffeinate` 工具。source page 已于之前摄入完成,本次为重新验证完整性。
|
||||
- Concepts created: 无([[pmset]]/[[caffeinate]]/[[Wake-on-LAN]]/[[Headless 服务器]]/[[系统睡眠管理]] 等概念已在源页面中内嵌引用,未达独立建页阈值)
|
||||
- Entities created: 无([[Mac Mini M4]]/[[RustDesk]] Entity 页面已存在)
|
||||
- Source page: wiki/sources/mac-mini-服务器配置-防止自动锁屏与睡眠.md
|
||||
|
||||
## [2026-04-27] ingest | 如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹
|
||||
- Source file: Home Office/如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹.md
|
||||
- Status: ✅ 成功摄入
|
||||
- Summary: 通过 NFS 协议将 Synology NAS(192.168.3.17:/volume2/backup)永久挂载到 Ubuntu Server(192.168.3.47:/mnt/nas_backup)的完整操作流程——Synology DSM 配置 NFS 权限(Squash 映射为 admin、IP 白名单、_netdev)→ Ubuntu 安装 nfs-common → mount -t nfs 临时挂载验证 → /etc/fstab 配置永久挂载(含 timeo=900/retrans=5/_netdev 参数)→ sudo mount -a 测试 → rsync 脚本加入挂载点检查防止 NAS 掉线时数据写入本地。相比 Samba 方案,NFS 能保留 Linux 文件 uid/gid 权限,避免 Docker 卷恢复时的权限报错。
|
||||
- Concepts created: 无(NFS、/etc/fstab Entity/Concept 页面已存在,内容完整;rsync 作为备份工具已有对应 Entity)
|
||||
- Entities created: 无([[Synology NAS]]/[[Ubuntu Server]] Entity 页面已存在,[[NFS]]/[[/etc/fstab]]/[[rsync]] Concept 页面已存在)
|
||||
- Source page: wiki/sources/如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹.md
|
||||
- Notes: index.md 第97行已有本 Source 条目;overview.md 第384行已记录 NFS/fstab 配置内容(来自该源);冲突检测:无新冲突,wikilinks 均指向已存在页面。
|
||||
|
||||
@@ -168,6 +168,13 @@ Key concepts: [[PerformanceMax]], [[SmartBidding]], [[AccountArchitecture]], [[T
|
||||
|
||||
**[[accounts-payable-agent]]**(Accounts Payable Agent):The Agency 财务部门的自主支付运营专员 Agent——处理供应商付款、承包商发票和周期性账单,覆盖 ACH/Wire/Crypto/Stablecoin/Payment API 等全支付通道。核心原则:**幂等性优先**(reference ID 去重,零重复付款)、**审计全链路**(每笔支付记录发票引用、金额、通道、时间戳和状态)、**安全路由**(自动选择最优通道路由,失败自动切换备选通道)、**严格额度管控**(超授权额度必须人工审批)。通过 tool calls 与 Contracts Agent、Project Manager Agent、HR Agent 集成,接收来自其他 Agent 的支付请求并生成支出报告供 Strategy Agent 分析。成功指标:零重复付款、< 2 分钟执行时间(快捷通道)、100% 审计覆盖、60 秒内 escalation SLA。属 [[Multi-Agent-System-Reliability]] 的财务合规执行层,[[Accounts-Payable-Agent]] 为 The Agency 提供可信赖的支付执行基础。
|
||||
|
||||
### Home Lab Infrastructure
|
||||
**[[家庭网络环境概览]]**(2026-04-03):个人家庭网络的完整基础设施架构文档,记录了从公网 VPS(RackNerd)到内网各服务器的完整拓扑、应用部署和域名映射。核心架构:FRP(Fast Reverse Proxy)内网穿透 + Caddy 反向代理实现内网设备公网访问;Cloudflare DNS 托管提供免费 CDN 与 SSL 证书。
|
||||
|
||||
**节点组成**:① **公网 VPS(RackNerd)** — 位于公网,运行 Caddy 和 FRP Server,是内网穿透的核心节点;② **Mac Mini M4 主控节点**(192.168.3.189)— 运行 OpenClaw AI 助手框架、vaultwarden 密码管理器、STQ 项目管理系统;③ **Synology NAS DS718 媒体中心**(192.168.3.17)— 运行 Jellyfin 媒体服务器、Navidrome 音乐流媒体、Calibre 电子书库、MinIO 对象存储、Prometheus 监控栈;④ **Ubuntu1 监控服务器**(192.168.3.47)— 运行 Grafana + Prometheus 监控栈、Apache Superset BI 平台、Homarr 导航面板、Transmission 下载客户端;⑤ **Ubuntu2 自动化服务器**(192.168.3.45)— 运行 n8n 工作流自动化平台、Gitea 自建 Git 服务、Draw.io 图表编辑器。
|
||||
|
||||
**服务管理**:所有应用均以 Docker 容器化部署,通过 Portainer 统一管理;FRP 客户端部署于各内网服务器,将内网端口映射至 VPS 公网端口(如 ubuntu1-ssh: tcp 22→60022、grafana: tcp 3000→13000);Caddy 通过 *.ishenwei.online 子域名自动申请 HTTPS 证书路由至各内网服务。
|
||||
|
||||
### Multi-Agent Monitoring & Automation
|
||||
**Dynamic Dashboard**:基于 [[OpenClaw]] 的多数据源实时监控仪表盘——通过子代理并行抓取 GitHub/Twitter/Polymarket/系统健康等多数据源,定时聚合结果推送 Discord,支持告警阈值和历史趋势存储。用对话式指令替代数周前端开发,立即获得实时洞察。[[polymarket-autopilot]] 是 Polymarket 市场监控的具体实现——AI Agent 24/7 自动监控预测市场、分析概率变化、自动执行交易策略。与 [[self-healing-home-server]] 的系统监控场景关联,[[earnings-tracker]] 的市场数据监控场景扩展,[[content-factory]] 共享子代理并行执行模式。
|
||||
|
||||
@@ -548,6 +555,8 @@ Covers Claude Code, Claude Code Templates (npx 一键安装 Skills/Agents/MCP vi
|
||||
|
||||
**Designing for Agentic AI**:[[designing-for-agentic-ai]] 阐述 GenAI(创作内容)vs Agentic AI(主动行动)的核心差异,以及为 Agentic AI 设计用户体验的 TCPCA 五原则——**透明度**(可视化 AI 决策进度与推理摘要)、**控制感**(停止/撤销/偏好设置机制)、**个性化**(基于历史行为预测未来需求)、**对话式交互**(自然语言界面 + 输入解读反馈)、**主动预判**(AI 预判需求并主动提供帮助,同时允许用户控制 AI 自主权级别)。核心洞察:**观察 AI 决策过程本身就是一种参与方式**,用户不再是被动旁观者;设计隐喻从"响应用户点击/滑动"转向"AI 运行时的实时反馈"。与 [[Google-5个-Agent-Skill-设计模式]](ToolWrapper/Generator/Reviewer/Inversion/Pipeline)同属 AI Agent 设计方法论——后者侧重 Skill 架构模式,前者侧重终端用户体验设计。
|
||||
|
||||
**开发经验与项目规范整理文档**([[开发经验与项目规范整理文档]]):Vibe Coding 环境下的开发经验与软件工程规范框架,涵盖八大主题——变量名维护方案(统一变量索引文件)、文件结构与命名规范(agents + claude.md 子目录结构)、编码规范(单一职责、DRY、模块化;消费端/生产端/状态/变换模型)、并发编程(共享资源、锁机制、并发 vs 异步区分)、系统架构原则(先梳理架构 → 理解需求 → 保持简单 → 自动化测试 → 小步迭代)、程序设计核心思想(从问题出发、清晰命名、可读性优先、合理注释、测试优先)、微服务(独立开发/部署/扩容,服务间 API 通信)、Redis 缓存与消息队列(异步通信、解耦、削峰填谷)。核心价值:**为 AI 辅助开发项目提供系统化规范框架**,强调从问题出发而非代码出发,提升代码可维护性和团队协作效率。与 [[单一职责原则]]/[[DRY原则]]/[[微服务架构]]/[[Redis缓存]]/[[消息队列]] 等独立 Concept 页面关联。
|
||||
|
||||
**AI 簡報自動化工作流**:用 ChatGPT 先做知識整理,再交給 Canva / Gamma AI 输出演示文稿。两阶段工作流比直接用 AI 生成简报效果更好——ChatGPT 负责深度思考与内容组织,Canva/Gamma AI 负责视觉呈现与排版。核心洞察:让 AI 扮演不同角色(思考者 vs 设计师),充分发挥各工具的优势。与 [[YouTube-Content-Pipeline]] 共享同一"AI 整理 → AI 输出"两阶段模式。与 [[AI图生视频工具盘点]] 同属 AI 内容创作工具应用的不同垂直场景。
|
||||
|
||||
**[[我的工具集]]**:个人 AI 工具推荐清单,按类型分类(Text-to-Speech / Image-Editor / Image-to-Video / Web-Scraper / AI-Summary),每类列出工具名称、提供商、定价和链接。覆盖 Google AI Studio(Wavespeed 图生视频、Vidu $8/月、海螺 AI ¥42/月)、Brightdata(付费网页爬取)、Decopy(AI 摘要/思维导图/多语言输出)。与 [[AI图生视频工具盘点]] 互补——前者侧重工具索引清单,后者侧重免费工具详细评测。
|
||||
|
||||
@@ -6,47 +6,46 @@ date: 2026-04-22
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[Vibe Coding/Cursor 2.0初学者使用指南.md]]
|
||||
- [[Vibe Coding/Cursor 2.0初学者使用指南]]
|
||||
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:Cursor 2.0 AI代码编辑器的系统化入门教程
|
||||
- 问题域:AI辅助编程工具的使用方法与工作流程
|
||||
- 方法/机制:通过视频演示展示安装、配置、AI代理操作、代码审查、版本控制、MCP扩展等全流程
|
||||
- 结论/价值:帮助初学者从零掌握AI代码编辑器,建立"需求明确→规划→生成→审查→版本控制"的完整开发闭环
|
||||
- 核心主题:Cursor 2.0 AI代码编辑器的初学者完整使用教程,涵盖安装、界面、多代理操作、代码生成、审查与版本控制流程。
|
||||
- 问题域:AI辅助编程工具的入门学习,聚焦于如何高效使用Cursor的AI代理功能进行项目开发。
|
||||
- 方法/机制:通过Plan模式规划任务 → Agent模式执行代码生成 → Diff审查改动 → Git版本控制回滚的完整工作流。
|
||||
- 结论/价值:Cursor 2.0为开发者提供了一条从想法到实现的AI智能化路径,是现代AI辅助编程的重要工具。
|
||||
|
||||
## Key Claims(用中文描述)
|
||||
- Cursor 2.0基于VS Code构建,集成AI模型辅助代码生成,初学者可免费使用
|
||||
- Composer是Cursor自研AI模型,生成速度比同类模型快4倍
|
||||
- AI代理支持Plan(规划)、Agent(执行)、Ask(咨询)三种工作模式,Ask模式仅返回文本不修改文件
|
||||
- 多代理功能可并行运行不同任务,互不干扰上下文
|
||||
- MCP(Model Context Protocol)协议可将外部工具和服务集成到AI代理,扩展功能范围
|
||||
- AI生成代码即写入文件,需通过Diff功能审查后再确认保存
|
||||
- 结合Git版本控制可有效管理和回滚AI生成的代码变更
|
||||
- Cursor基于VS Code构建,可免费使用,支持付费升级获取更多生成额度。
|
||||
- Cursor新增自有AI模型Composer,强调其速度优势(比同类模型快4倍)。
|
||||
- 多代理功能可以同时运行不同任务,互不干扰,提升代码生成效率。
|
||||
- AI代理支持三种模式:Plan(规划)、Agent(执行,会修改文件)、Ask(咨询,不改代码)。
|
||||
- 代码生成后进入待审查状态,可使用Diff功能逐个审查或整体接收改动。
|
||||
- MCP(Model Context Protocol)支持将外部工具和服务集成到AI代理,扩展功能范围。
|
||||
- 可设定项目规则(如强制为函数生成文档注释),实现代码规范自动化。
|
||||
|
||||
## Key Quotes
|
||||
> "Cursor是基于VS Code的AI代码编辑器,可免费使用,支持付费升级以获取更多生成额度。" — Cursor基础介绍
|
||||
> "新增了自有AI模型Composer,强调其速度优势(比类似模型快4倍)。" — Composer模型特性
|
||||
> "Agent模式会修改代码,Ask模式仅提供文本答案,不会改动代码,需根据需求选择。" — 代理模式安全提示
|
||||
> "代码改动一旦生成即写入文件,未点击撤销按钮前持续保留,需确保先测试代码再确认保存。" — Diff审查机制
|
||||
> "Cursor是基于VS Code的AI代码编辑器,可免费使用,支持付费升级以获取更多生成额度。" — Cursor基本特性介绍
|
||||
> "启动构建任务时生成新代理,执行计划步骤。多代理功能可以同时运行不同任务,互不干扰。" — 多代理并行操作
|
||||
> "生成代码后进入待审查状态,可使用Diff功能查看具体改动,支持文件逐个审查或整体接收。" — 代码审查流程
|
||||
> "MCP(Model Context Protocol)支持将外部工具和服务集成到AI代理,扩展功能范围。" — MCP扩展能力
|
||||
|
||||
## Key Concepts
|
||||
- [[AI代理]]:基于AI模型的自动化任务助手,可以按模式生成代码、规划任务或回答疑问
|
||||
- [[MCP(Model Context Protocol)]]:将外部工具和服务集成到AI代理的协议平台
|
||||
- [[Diff文件]]:显示代码改动对比的视图,帮助开发者快速审查AI修改的内容
|
||||
- [[版本控制]]:记录项目代码的历史版本变化,支持代码回滚和团队协同(Git)
|
||||
- [[多代理并行]]:多个AI代理同时运行不同任务,互不干扰上下文的开发模式
|
||||
- [[多代理并行]]:可同时运行不同AI代理任务,互不干扰,适合多线程项目开发。
|
||||
- [[Diff审查]]:通过Diff视图查看AI生成的代码改动,逐个文件或整体接收变更。
|
||||
- [[项目规则]]:自定义项目规则文件(如强制生成文档注释),实现代码规范自动化。
|
||||
- [[MCP服务器]]:Model Context Protocol,支持将外部API和工具集成到AI代理。
|
||||
|
||||
## Key Entities
|
||||
- [[Cursor]]:基于VS Code的AI增强代码编辑器,支持AI模型辅助代码生成及多任务代理操作
|
||||
- [[Composer]]:Cursor自研AI模型,主打生成速度比同类模型快4倍
|
||||
- [[Cursor]]:基于VS Code的AI增强代码编辑器,支持多代理并行操作和Composer自研模型。
|
||||
- [[VS Code]]:Cursor构建的基础编辑器,Cursor继承其完整功能。
|
||||
- [[Composer]]:Cursor自研AI模型,主打生成速度优势(比同类快4倍)。
|
||||
|
||||
## Connections
|
||||
- [[Cursor]] ← built_on ← [[VS Code]]
|
||||
- [[Cursor]] ← extends ← [[VS Code]]
|
||||
- [[Cursor]] ← uses ← [[Composer]]
|
||||
- [[Cursor]] ← supports ← [[MCP(Model Context Protocol)]]
|
||||
- [[MCP(Model Context Protocol)]] ← integrates ← [[AI代理]]
|
||||
- [[Vibe Coding]] ← demonstrates ← [[Cursor]]
|
||||
- [[Cursor]] ← enables ← [[Vibe Coding]]
|
||||
- [[Cursor]] ← similar_to ← [[Claude Code]]
|
||||
|
||||
## Contradictions
|
||||
- 无已知冲突内容
|
||||
- 无已知冲突。本文档聚焦Cursor入门操作,与 [[MCP在Cursor中的集成与应用详解]] 互补(后者侧重MCP集成深度应用)。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "Trae远程开发部署指南"
|
||||
type: source
|
||||
tags: [remote-ssh, trae, ubuntu]
|
||||
date: 2026-04-22
|
||||
date: 2026-04-26
|
||||
---
|
||||
|
||||
## Source File
|
||||
|
||||
@@ -10,7 +10,7 @@ date: 2025-12-30
|
||||
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:Vibe Coding 实战经验与最佳实践的精选合集
|
||||
- 问题域:AI 辅助编程的工作流优化、代码质量保证、团队协作模式
|
||||
- 问题域:AI 辅助编程的工作流优化、代码质量保证、多 AI 协作模式、文档与导航化工具
|
||||
- 方法/机制:设计文档→伪代码→代码的递进式开发、多 AI 协作验证、文件注释标准化、代码可导航化
|
||||
- 结论/价值:Vibe Coding 已从单纯提示词工程演变为系统性工程实践,强调验证而非理解、文档优于记忆
|
||||
|
||||
@@ -30,14 +30,16 @@ date: 2025-12-30
|
||||
|
||||
> "请你根据我的要求,用 Three.js 创建一个实时交互的3D粒子系统,如果你第一次就做得好,我将会打赏你100美元的小费" — 激励式提示词示例
|
||||
|
||||
> "CodeWeaver 将你的代码库编织成一个可导航的 Markdown 文档……所有代码都给你塞进代码块里,极大地简化了代码库的共享、文档化以及与 AI/ML 工具集成" — CodeWeaver 工具价值
|
||||
|
||||
## Key Concepts
|
||||
- [[Vibe Coding]]:使用 AI 辅助编程的实践方法论,强调人机协作而非纯自动生成
|
||||
- [[Design-to-Code Workflow]]:设计文档→伪代码→代码的递进式开发流程
|
||||
- [[Multi-AI Review]]:多 AI 协作验证,一个生成一个 review 的双人编程模式
|
||||
- [[Code Documentation]]:文件头注释规范,降低 AI 和人类认知负载
|
||||
- [[CodeWeaver]]:将代码库转换为可导航 Markdown 文档的工具
|
||||
- [[Verification-First Engineering]]:验证优先于理解,强调自动化测试和形式化验证
|
||||
- [[Iterative Scaling]]:点→线→体的逐级迭代,从单任务打磨到批量执行
|
||||
- [[CodeWeaver]]:将代码库转换为可导航 Markdown 文档的工具
|
||||
|
||||
## Key Entities
|
||||
- [[CodeWeaver]]:GitHub 开源项目,将代码库编织成可导航 Markdown 文档的工具
|
||||
@@ -53,4 +55,3 @@ date: 2025-12-30
|
||||
- 冲突点:传统方法强调"先理解代码再修改",Vibe Coding 强调"验证而非理解"
|
||||
- 当前观点:通过自动化测试和验证确保行为正确,降低人类理解代码的必要性
|
||||
- 对方观点:人类开发者必须理解代码才能安全地进行修改和重构
|
||||
```
|
||||
|
||||
@@ -2,46 +2,50 @@
|
||||
title: "在Ubuntu上安装Vibe-Kanban"
|
||||
type: source
|
||||
tags: [npm, npx, pm2, ubuntu, vibe-coding, vibe-kanban]
|
||||
sources: []
|
||||
last_updated: 2026-04-22
|
||||
date: 2026-06-04
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[Vibe Coding/在Ubuntu上安装Vibe-Kanban.md]]
|
||||
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:Vibe-Kanban 在 Ubuntu 服务器上的安装、配置与 PM2 进程管理
|
||||
- 问题域:AI 编程 agent 的任务管理与自动化工作流
|
||||
- 方法/机制:通过 npx 快速启动 + PM2 守护进程实现后台常驻,支持自定义 HOST/PORT 环境变量,Git worktree 隔离任务环境
|
||||
- 结论/价值:提供一套完整的 Ubuntu Server 部署 Vibe-Kanban 生产级方案,突破浏览器限制实现远程访问
|
||||
- 核心主题:在 Ubuntu Server 上安装和配置 Vibe-Kanban AI 任务管理工具
|
||||
- 问题域:AI 辅助编程工作流、任务管理工具的服务器端部署
|
||||
- 方法/机制:通过 npx 直接运行 Vibe-Kanban,使用 PM2 进程管理器实现后台运行和开机自启
|
||||
- 结论/价值:提供完整的 Vibe-Kanban 安装指南,包括可选的 GitHub CLI 和 MCP 集成
|
||||
|
||||
## Key Claims(用中文描述)
|
||||
- Vibe-Kanban 默认以随机端口启动并自动打开浏览器,适合本地桌面使用
|
||||
- 通过 `HOST=0.0.0.0 PORT=9999` 环境变量可固定端口并允许外部访问
|
||||
- PM2 守护进程可实现进程常驻、自动重启和开机自启,适合服务器长期运行
|
||||
- 每个任务运行在独立的 git worktree 中,防止多个 agent 相互干扰
|
||||
- Vibe-Kanban 默认以 `--dangerously-skip-permissions` 模式运行,agent 可自主执行系统级操作
|
||||
- Vibe Kanban 默认以 `--dangerously-skip-permissions/--yolo` 标志运行 AI 代理,允许自主操作无需持续审批
|
||||
- 每个任务在隔离的 git worktree 中运行,防止代理之间相互干扰
|
||||
- 使用 `PORT=8080 npx vibe-kanban` 可指定固定端口
|
||||
- PM2 可以实现进程自动重启和开机自启,通过 `pm2 startup` 配置
|
||||
- 使用 `HOST=0.0.0.0 PORT=9999 npx vibe-kanban` 可实现局域网访问
|
||||
|
||||
## Key Quotes
|
||||
> "Vibe Kanban runs AI agents with —dangerously-skip-permissions/—yolo flags by default so they can work autonomously without constant approval prompts." — 安全机制说明
|
||||
|
||||
> "Each task runs in an isolated git worktree, preventing agents from interfering with each other." — 隔离机制说明
|
||||
|
||||
> "pm2 start \"HOST=0.0.0.0 PORT=9999 npx vibe-kanban\" --name vibe-kanban" — Ubuntu Server 生产部署命令
|
||||
> "Vibe Kanban uses the GitHub CLI for creating pull requests. Ensure gh is installed and authenticated on your system." — GitHub 集成依赖
|
||||
|
||||
## Key Concepts
|
||||
- [[Vibe Coding]]:通过自然语言与 AI coding agent 交互进行编程的工作方式
|
||||
- [[Vibe-Kanban]]:AI agent 任务看板工具,基于 git worktree 隔离每个任务
|
||||
- [[PM2]]:Node.js 进程管理器,提供进程守护、自动重启和开机自启功能
|
||||
- [[Git Worktree]]:Git 多工作目录功能,Vibe-Kanban 用其实现任务隔离
|
||||
- [[npx]]:Node.js 包执行工具,无需全局安装即可运行包
|
||||
- [[Vibe Coding]]:AI 辅助编程范式,通过自然语言描述让 AI 代理完成编码任务
|
||||
- [[MCP Server]]:Model Context Protocol 服务器,用于标准化 AI 代理与外部工具的集成
|
||||
|
||||
## Key Entities
|
||||
- [[BloopAI]]:Vibe-Kanban 的开发公司,项目托管于 github.com/BloopAI/vibe-kanban
|
||||
- [[Vibe-Kanban]]:BloopAI 出品的 AI 任务管理看板工具,支持多种编码代理
|
||||
- [[BloopAI]]:开发 Vibe-Kanban 的 AI 代码工具公司
|
||||
- [[Node.js]]:Vibe-Kanban 运行所需的 JavaScript 运行时环境
|
||||
- [[GitHub CLI]]:用于创建 Pull Request 的命令行工具,Vibe-Kanban 可选集成
|
||||
|
||||
## Connections
|
||||
- [[Vibe Coding]] ← 应用场景 ← [[在Ubuntu上安装Vibe-Kanban]]
|
||||
- [[PM2]] ← 进程管理 ← [[在Ubuntu上安装Vibe-Kanban]]
|
||||
- [[OpenCode]] ← 互补工具 ← [[Vibe-Kanban]](同为 supported coding agent)
|
||||
- [[Vibe-Kanban]] ← depends_on ← [[Node.js]]
|
||||
- [[Vibe-Kanban]] ← extends ← [[GitHub CLI]]
|
||||
- [[Vibe-Kanban]] ← optional_integration ← [[MCP Server]]
|
||||
- [[PM2]] ← manages ← [[Vibe-Kanban]]
|
||||
|
||||
## Contradictions
|
||||
- 无明显冲突内容
|
||||
- 与 [[如何在Ubuntu上安装OpenCode并配置Vibe-Kanban]] 部分重叠:
|
||||
- 冲突点:两者都介绍 Vibe-Kanban 安装,但侧重点不同
|
||||
- 当前观点:本文档侧重官方标准安装流程和 PM2 进程管理
|
||||
- 对方观点:[[如何在Ubuntu上安装OpenCode并配置Vibe-Kanban]] 侧重 OpenCode 集成配置
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透"
|
||||
type: source
|
||||
tags: [vps, caddy, frp, reverse-proxy, troubleshooting, cloudflare, ubuntu, 内网穿透]
|
||||
date: 2026-04-14
|
||||
date: 2026-05-28
|
||||
---
|
||||
|
||||
## Source File
|
||||
@@ -10,16 +10,18 @@ date: 2026-04-14
|
||||
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:通过 VPS(公网服务器)+ frp(反向隧道)+ Caddy(自动 HTTPS 反向代理)实现家庭内网服务的公网域名访问
|
||||
- 问题域:家庭/办公内网中的 NAS、Ubuntu 服务器运行的服务(如 n8n、Grafana、Transmission 等)如何通过自定义域名从公网安全访问
|
||||
- 问题域:家庭/办公内网中的 NAS、Ubuntu 服务器运行的服务(如 n8n、Grafana、Transmission、SSH 等)如何通过自定义域名从公网安全访问
|
||||
- 方法/机制:Cloudflare DNS A 记录指向 VPS 公网 IP → VPS 运行 frps(frp 服务端)和 Caddy → 内网主机运行 frpc(frp 客户端)将本地端口映射到 VPS → Caddy 反向代理到 frp 映射端口,自动申请 Let's Encrypt 证书提供 HTTPS
|
||||
- 结论/价值:完整梳理了从 DNS 配置、frps/frpc 安装配置、Caddy 反向代理到 SSH 穿透的全套流程,并提供了 7 步系统化故障排查指南
|
||||
|
||||
## Key Claims(用中文描述)
|
||||
- frp 内网穿透工具包含 frps(服务端)和 frpc(客户端),通过 TCP 反向隧道将内网端口暴露到公网 VPS
|
||||
- frp 内网穿透工具包含 frps(服务端)和 frpc(客户端),通过 TCP 反向隧道将内网端口暴露到公网 VPS,支持 NAT 穿透和自动重连
|
||||
- Caddy 自动管理 HTTPS 证书(Let's Encrypt),无需手动配置 SSL,通过 reverse_proxy 指令将请求转发到 frp 映射的本地端口
|
||||
- Cloudflare DNS 仅负责将子域名 A 记录指向 VPS 公网 IP,不影响 TCP 流量的直接路由
|
||||
- SSH 穿透不同于 HTTP/HTTPS,不经过 Caddy,仅通过 frps + frpc 的 TCP 映射实现
|
||||
- SSH 穿透不同于 HTTP/HTTPS,不经过 Caddy,仅通过 frps + frpc 的 TCP 映射实现(`type = tcp`,`remote_port = 60022`)
|
||||
- 内网 NAS 上的 V2RayA 透明代理可能干扰 frp 连接,需要停止代理后重启 frpc
|
||||
- frp 连接失败的主要原因包括:端口被占用/token 不一致/防火墙拦截/Caddy 误 proxy TCP 端口
|
||||
- 通过 `ssh -p 60022 user@ubuntu1.ishenwei.online` 可从公网 SSH 到内网 Ubuntu(需 DNS A 记录 + frpc 配置)
|
||||
|
||||
## Key Quotes
|
||||
> "思路:Cloudflare DNS 指向公网上的一台VPS,VPS 上运行 Caddy;内网主机通过 frp 将服务暴露到 VPS(本地 127.0.0.1 或某个端口),VPS 反向代理到该端口。" — 整体方案架构描述
|
||||
@@ -30,6 +32,8 @@ date: 2026-04-14
|
||||
|
||||
> "authentication failed token mismatch invalid login → 那肯定是 token 和 frpc 不一致。" — frp 连接失败的核心原因之一
|
||||
|
||||
> "很多人遇到的问题是:他们编辑了 `/opt/frp/frps.ini`,但 systemd service 其实加载另一个路径,例如 `/etc/frp/frps.ini`。" — frps 配置加载路径的常见陷阱
|
||||
|
||||
## Key Concepts
|
||||
- [[内网穿透]]:通过公网服务器中转,使 NAT/防火墙后的内网服务可被外部访问的技术,本方案使用 frp 反向隧道实现
|
||||
- [[反向代理]]:Caddy 作为反向代理,将公网 HTTPS 请求转发到本地 frp 映射端口,提供统一的 HTTPS 入口
|
||||
@@ -39,9 +43,9 @@ date: 2026-04-14
|
||||
|
||||
## Key Entities
|
||||
- [[RackNerd VPS]]:VPS 提供商(192.227.222.142),托管 frps 服务端和 Caddy 反向代理,作为内网穿透的公网中转站
|
||||
- [[Synology NAS DS718]]:内网 NAS 设备(192.168.3.17),运行 frpc 客户端,通过 frp 暴露 NAS 服务(5000端口 → VPS 15000)
|
||||
- [[frp]]:开源内网穿透工具,本方案的核心,包含 frps(服务端,监听 7000 端口)和 frpc(客户端),版本 0.65.0
|
||||
- [[Caddy]]:Go 语言编写的自动 HTTPS 反向代理服务器,与 frp 配合为内网服务提供 HTTPS 域名访问
|
||||
- [[Synology NAS DS718]]:内网 NAS 设备(192.168.3.17),运行 frpc 客户端,通过 frp 暴露 NAS 服务(5000端口 → VPS 15000)、Navidrome、Calibre、WebDAV、Miniflux、Zipline、MySQL、SSH 等多个服务
|
||||
- [[frp]]:开源内网穿透工具,本方案的核心,包含 frps(服务端,监听 7000 端口)和 frpc(客户端),版本 0.65.0;通过 token 认证确保连接安全
|
||||
- [[Caddy]]:Go 语言编写的自动 HTTPS 反向代理服务器,与 frp 配合为内网服务提供 HTTPS 域名访问;支持 `caddy validate` 命令验证配置语法
|
||||
- [[Cloudflare]]:域名 DNS 托管服务商,通过 A 记录将 ishenwei.online 子域名指向 VPS 公网 IP
|
||||
|
||||
## Connections
|
||||
|
||||
@@ -3,38 +3,42 @@ title: "如何传输Docker images 并且在另一个Docker安装"
|
||||
type: source
|
||||
tags: []
|
||||
sources: []
|
||||
last_updated: 2026-04-22
|
||||
last_updated: 2026-05-30
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[Home Office/如何传输Docker images 并且在另一个Docker安装]]
|
||||
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:Docker 镜像在多台机器之间的离线传输方法
|
||||
- 问题域:内网环境或无 Registry 情况下的镜像迁移
|
||||
- 方法/机制:三种方案——`docker save/load`(tar 包)、镜像仓库推送拉取、`ctr` 直接复制
|
||||
- 结论/价值:提供了完整的离线迁移工具链,适合家庭服务器集群或隔离网络环境
|
||||
- 核心主题:Docker 镜像在两台 Docker 环境之间的离线传输方法
|
||||
- 问题域:无镜像仓库的内网环境或离线场景下的镜像迁移
|
||||
- 方法/机制:`docker save` 导出为 tar → 上传目标机器 → `docker load` 导入
|
||||
- 结论/价值:提供了无需镜像仓库的离线迁移标准流程,适用于家庭 NAS 与工作设备之间的镜像同步
|
||||
|
||||
## Key Claims(用中文描述)
|
||||
- `docker save` 可将镜像导出为 tar 文件,`docker load` 可在目标机器导入,无需镜像仓库中介
|
||||
- `docker push/pull` 适合有镜像仓库(如 Docker Hub、私有 Harbor)的场景
|
||||
- `ctr -n k8s.io images import` 可直接导入镜像包,绕过 Docker 工具链
|
||||
- 多架构镜像需注意 `--platform` 参数指定平台,避免在不同架构机器间混用
|
||||
- `docker pull` 从远程仓库拉取镜像到本地 Docker 环境
|
||||
- `docker save -o <output.tar> <image>` 将镜像导出为 tar 归档文件,可离线拷贝
|
||||
- `docker load < <input.tar` 在目标机器从 tar 文件加载镜像,无需网络连接
|
||||
- 上传 tar 包到目标机器后,可在 Container Manager 等 Web UI 中直接看到已导入的镜像
|
||||
|
||||
## Key Quotes
|
||||
> "把镜像 save 成 tar 包后拷贝到新机器再 load 进去" — 最通用的离线迁移方案,适用于无网络的隔离环境
|
||||
> "cd 到 xiaoya.tar 存放的路径之后运行以下命令 docker load < xiaoya.tar" — 在 Synology NAS 上通过 SSH 执行镜像导入
|
||||
> "再进入 NAS 的 Container Manager 界面后在 image 里就可以看到 xiaoya/alist 这个 image 了" — 验证镜像导入成功的方式
|
||||
|
||||
## Key Concepts
|
||||
- [[Docker-Image]]:容器镜像,Docker 应用打包的标准格式
|
||||
- [[Docker-Save]]:将镜像导出为 tar 归档文件
|
||||
- [[Docker-Load]]:从 tar 文件加载镜像到本地 Docker 引擎
|
||||
- [[Docker Registry]]:镜像仓库,用于存储和分发镜像(Docker Hub / Harbor / 私有 Registry)
|
||||
- [[Docker-Save]]:`docker save` 命令将镜像导出为 tar 归档文件
|
||||
- [[Docker-Load]]:`docker load` 命令从 tar 文件加载镜像到本地 Docker 引擎
|
||||
- [[Docker-Registry]]:镜像仓库(本文未使用,但提及作为替代方案)
|
||||
|
||||
## Key Entities
|
||||
- [[Docker]]:容器化平台,本文档的操作环境
|
||||
- [[Docker]]:容器化平台,本文的操作基础环境
|
||||
- [[Synology-NAS]]:群晖 NAS,运行 Docker(Container Manager),本文镜像迁移的目标端
|
||||
- [[Alist]]:开源网盘聚合工具(xiaoyaliu/alist),本文操作的示例镜像
|
||||
|
||||
## Connections
|
||||
- [[如何在Ubuntu Server安装 Docker & Docker Compose]] ← extends ← [[如何传输Docker images 并且在另一个Docker安装]]
|
||||
- [[在Synology NAS上安装CloudDrive2]] ← related_to ← [[如何传输Docker images 并且在另一个Docker安装]](同为 Synology NAS Docker 操作场景)
|
||||
|
||||
## Contradictions
|
||||
- (无已知冲突)
|
||||
|
||||
@@ -6,54 +6,44 @@ date: 2025-12-29
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[raw/Home Office/如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹.md]]
|
||||
- [[Home Office/如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹.md]]
|
||||
|
||||
## Summary (用中文描述)
|
||||
- 核心主题:在 Ubuntu Server 上通过 NFS 协议挂载 Synology NAS 共享文件夹,实现服务器到 NAS 的自动化备份存储
|
||||
- 问题域:Samba 挂载丢失 Linux 文件权限信息导致 Docker 卷恢复失败;NFS 相比 Samba 完美保留文件所有权、性能更强
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:通过 NFS 协议将 Synology NAS 的共享文件夹挂载到 Ubuntu Server,实现永久性网络存储挂载
|
||||
- 问题域:Ubuntu 服务器与 Synology NAS 之间的网络存储集成,适用于备份场景
|
||||
- 方法/机制:
|
||||
1. Synology NAS DSM 控制面板 → 共享文件夹 → NFS 权限配置(关键:Squash 设为"映射所有用户为 admin")
|
||||
2. Ubuntu 安装 nfs-common,mount -t nfs 挂载
|
||||
3. /etc/fstab 写入永久挂载配置(关键参数:_netdev、timeo=900、retrans=5)
|
||||
4. sudo mount -a 测试后再重启
|
||||
5. 备份脚本前加挂载点检查防止数据写入本地磁盘
|
||||
6. systemctl enable remote-fs.target 解决 nfs-common 启动慢问题
|
||||
- 结论/价值:NFS 是 Linux 服务器备份到 NAS 的最佳方案,配合 rsync + Cron 实现全自动化备份
|
||||
- Synology DSM 控制面板配置 NFS 权限(IP白名单、Squash 映射为 admin、_netdev 参数)
|
||||
- Ubuntu 端安装 `nfs-common`,使用 `mount -t nfs` 临时挂载
|
||||
- 通过 `/etc/fstab` 配置永久挂载,含 `timeo=900`、`retrans=5`、`_netdev` 等参数
|
||||
- rsync 脚本中加入挂载点检测保护,防止 NAS 掉线时数据写入本地
|
||||
- 结论/价值:相比 Samba,NFS 能保留 Linux 文件权限(uid/gid),避免 Docker 卷恢复时的权限报错,是 Linux 服务器挂载 NAS 的标准方案
|
||||
|
||||
## Key Claims (用中文描述)
|
||||
- **NFS 相比 Samba 的核心优势**:NFS 原生保留 Linux 文件所有权信息,避免 Docker 卷恢复时的权限报错
|
||||
- **Synology NFS Squash 关键配置**:必须选择"映射所有用户为 admin",否则 Ubuntu 端 root 发起的备份请求会在 NAS 端遭遇权限校验失败
|
||||
- **fstab _netdev 参数的作用**:告知系统这是网络设备,等网络服务完全启动后再尝试挂载,防止开机卡死
|
||||
- **永远不要直接重启测试**:/etc/fstab 写错会导致系统无法正常启动,必须先用 sudo mount -a 验证
|
||||
## Key Claims(用中文描述)
|
||||
- Synology NAS 的 Squash 设置"映射所有用户为 admin",可将 Ubuntu 端 root 请求在 NAS 端以 admin 身份执行,绕过 Linux 权限校验
|
||||
- `/etc/fstab` 中的 `_netdev` 参数可防止开机时网络未就绪导致系统挂起
|
||||
- NFS 相比 Samba 在处理 Docker 配置文件(大量小文件)时性能更强
|
||||
- rsync 脚本中加入挂载点检查,可在 NAS 掉线时主动终止备份,防止数据写入本地目录
|
||||
|
||||
## Key Quotes
|
||||
> "NFS 会完美保留文件所有权信息,Samba 则会丢失 Linux 的文件所有权,导致恢复 Docker 卷时权限报错。" — NFS 相比 Samba 的优势说明
|
||||
> "NFS 能完美保留(Linux 文件所有权信息),而 Samba 会丢失,导致恢复 Docker 卷时权限报错" — NFS 相对 Samba 的核心优势说明
|
||||
|
||||
> "_netdev: **关键参数**。告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死。" — fstab 参数解析
|
||||
> "_netdev:告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死" — fstab 中 _netdev 参数的关键作用
|
||||
|
||||
> "千万不要直接重启!如果 `/etc/fstab` 写错了,系统可能无法正常启动。" — 配置验证警告
|
||||
|
||||
> "如果在执行了上述操作后重启依然不生效,通常是因为 Ubuntu 的 `nfs-common` 服务启动慢于 `mount -a` 的执行。" — nfs-common 启动时序问题
|
||||
> "如果 `sudo mount -a` 没有报错,且 `df` 能看到 NAS 空间,那么以后重启服务器,挂载都会自动生效" — 永久挂载验证方法
|
||||
|
||||
## Key Concepts
|
||||
- [[NFS]]:Network File System,Linux/Unix 系统的网络文件系统协议,Ubuntu 备份到 NAS 的推荐协议
|
||||
- [[永久挂载]]:通过 /etc/fstab 配置实现开机自动挂载,配合 _netdev 参数确保网络设备就绪后再挂载
|
||||
- [[挂载点检查]]:备份脚本执行前的安全验证,使用 mountpoint -q 命令检查挂载点有效性
|
||||
- [[NFS网络备份]]:通过 NFS 协议将备份数据存储到网络存储设备(与本文 Ubuntu rsync 备份场景互补)
|
||||
- [[NFS]]:Network File System,Linux/Unix 标准的网络文件系统协议,支持保留原始 uid/gid 权限
|
||||
- [[/etc/fstab]]:Linux 文件系统表,用于配置开机自动挂载;`_netdev` 参数确保网络设备就绪后再挂载
|
||||
- [[rsync]]:增量备份工具,可配合 NFS 挂载点实现服务器到 NAS 的自动化备份
|
||||
- [[Squash]]:NFS 权限设置中的用户映射选项,"映射所有用户为 admin" 可简化跨平台权限问题
|
||||
|
||||
## Key Entities
|
||||
- [[Synology NAS DS718]]:群晖 NAS 设备(192.168.3.17),通过 DSM 控制面板配置 NFS 权限,作为 Ubuntu Server 的备份存储目标
|
||||
- [[Ubuntu Server]]:Linux 服务器发行版,运行 rsync 备份脚本,将数据写入 NAS 的 NFS 挂载点
|
||||
- [[rsync]]:增量文件同步工具,与 NFS 永久挂载配合实现 Ubuntu Server 到 NAS 的自动化日常备份
|
||||
- [[Synology NAS]]:群晖网络附加存储设备,提供 DSM 管理界面和 NFS 共享服务;本文示例 IP:192.168.3.17,挂载路径:/volume2/backup
|
||||
- [[Ubuntu Server]]:Linux 服务器操作系统,本文版本为 Ubuntu 24.04;示例 IP:192.168.3.47,挂载点:/mnt/nas_backup
|
||||
|
||||
## Connections
|
||||
- [[Ubuntu Server]] ← runs ← [[rsync]] (备份工具)
|
||||
- [[rsync]] ← writes to ← [[永久挂载]] (NFS 挂载点 /mnt/nas_backup)
|
||||
- [[永久挂载]] ← depends on ← [[NFS]] (NFS 协议)
|
||||
- [[Synology NAS DS718]] ← serves ← [[NFS]] (NFS 服务端)
|
||||
- [[挂载点检查]] ← guards ← [[rsync]] (备份安全前置检查)
|
||||
- [[Cron定时任务]] ← schedules ← [[rsync]] (定时触发备份)
|
||||
- [[NFS网络备份]] ← uses ← [[NFS]] (两者同属 NFS 存储应用场景)
|
||||
- [[Ubuntu服务器通过rsync实现日常增量备份]] ← depends_on ← [[如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹]](rsync 备份依赖 NFS 挂载的 NAS 存储)
|
||||
- [[群晖NAS科学上网方法]] ← related ← [[如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹]](同为 Synology NAS 相关配置文档)
|
||||
|
||||
## Contradictions
|
||||
- 无冲突
|
||||
- 无已知冲突
|
||||
|
||||
@@ -1,101 +1,56 @@
|
||||
---
|
||||
title: "家庭网络环境概览"
|
||||
type: source
|
||||
tags: [home-office, nas, synology, ubuntu, vps]
|
||||
tags: [home-office, nas, synology, ubuntu, vps, home-lab]
|
||||
date: 2026-04-03
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[raw/Home Office/家庭网络环境概览_2026-04-03.md]]
|
||||
- [[Home Office/家庭网络环境概览_2026-04-03.md]]
|
||||
|
||||
## Summary (用中文描述)
|
||||
- **核心主题**:星曜家庭网络基础设施的完整架构图谱,涵盖5大节点(1个公网VPS + 1个Mac Mini + 1个Synology NAS + 2个Ubuntu Server),近50个Docker应用服务的部署现状、端口映射与公网访问方案。
|
||||
- **问题域**:如何将分散在多个物理位置和内网的服务,通过FRP内网穿透 + Caddy反向代理 + Cloudflare DNS,实现统一的HTTPS公网访问?
|
||||
- **方法/机制**:
|
||||
- **FRP**(frps/frpc):在内网各节点部署frpc客户端,公网VPS运行frps服务端,通过TCP隧道将内网端口映射到公网;
|
||||
- **Caddy**:在公网VPS上运行,自动申请Let's Encrypt证书,根据域名将请求反向代理到对应的FRP映射端口;
|
||||
- **Cloudflare**:托管 ishenwei.online 域名的DNS解析,将子域名A记录指向VPS公网IP;
|
||||
- **Docker Compose**:各节点上的服务通过Docker Compose管理,独立部署、版本隔离。
|
||||
- **结论/价值**:该架构实现了"零静态IP依赖"的公网访问方案,所有内网服务均可通过 *.ishenwei.online 子域名从公网访问,同时保持了内网服务的隐私性和低带宽成本。
|
||||
## Summary(用中文描述)
|
||||
- 核心主题:个人家庭网络的完整基础设施架构文档,记录了从公网VPS到内网各服务器的完整拓扑、应用部署和域名映射
|
||||
- 问题域:家庭服务器集群的规划、部署与公网访问方案;多设备、多服务的管理与监控
|
||||
- 方法/机制:通过 FRP 内网穿透 + Caddy 反向代理实现公网访问;使用 Docker 容器化部署各类服务;Cloudflare DNS 托管
|
||||
- 结论/价值:构建了一套完整的自托管服务生态,覆盖开发、媒体、监控、自动化等多个场景
|
||||
|
||||
## Key Claims (用中文描述)
|
||||
- VPS(192.227.222.142)通过FRP Server(端口7000)+ Caddy Web服务器,为全网内网服务提供统一的HTTPS公网入口。
|
||||
- Mac Mini M4(192.168.3.189)作为主控节点,运行OpenClaw AI助手框架、vaultwarden密码管理器及STQ项目管理系统。
|
||||
- Synology NAS DS718(192.168.3.17)托管了媒体服务(Jellyfin/Navidrome)、监控栈(Prometheus/Alertmanager/node_exporter)、密码管理(vaultwarden)、云盘挂载(CloudDrive2)等核心应用。
|
||||
- Ubuntu Server 1(192.168.3.47)承担监控可视化(Grafana/Superset)、个人导航(Homarr)、BT下载(Transmission)等面向公网的服务。
|
||||
- Ubuntu Server 2(192.168.3.45)运行n8n工作流自动化、Gitea自建Git服务及TikTok项目管理系统(DEV环境)。
|
||||
- 科学上网代理(SOCKS5: 10808)在Mac mini、ubuntu1、ubuntu2上均正常,仅NAS(端口20170)仅本机监听。
|
||||
## Key Claims(用中文描述)
|
||||
- FRP(Fast Reverse Proxy)通过公网VPS中转,实现了内网设备的无公网IP公网访问
|
||||
- Caddy 作为前置反向代理,通过 *.ishenwei.online 子域名自动申请 HTTPS 证书
|
||||
- Synology NAS DS718 是家庭媒体中心,运行 Jellyfin、Navidrome、Calibre-web 等多媒体服务
|
||||
- Ubuntu1 运行 Grafana + Prometheus 监控栈,收集所有服务器的指标数据
|
||||
- Ubuntu2 承载 n8n 工作流自动化平台和 Gitea 自建 Git 服务
|
||||
- Mac Mini M4 作为主控节点,运行 OpenClaw AI 助手框架及 STQ 项目管理系统
|
||||
|
||||
## Key Quotes
|
||||
> "Caddy — 现代化 Web 服务器,自带 HTTPS 自动化证书申请,常作为前置反向代理处理业务流量。" — 域名映射表说明
|
||||
|
||||
> "FRP Server — 高性能内网穿透服务端(frps),负责将内网 NAS 或本地开发环境的服务暴露至公网访问。端口 7000" — VPS应用说明
|
||||
|
||||
> "n8n 已迁移至 Ubuntu2,Mac Mini 不再暴露 n8n 端口" — Mac Mini FRP配置说明
|
||||
> "Caddy — 现代化 Web 服务器,自带 HTTPS 自动化证书申请,常作为前置反向代理处理业务流量" — 文档中定义
|
||||
> "FRP Server — 高性能内网穿透服务端(frps),负责将内网 NAS 或本地开发环境的服务暴露至公网访问" — 文档中定义
|
||||
> "域名 DNS 托管于 Cloudflare,提供免费 CDN 与 SSL 证书" — 基础设施说明
|
||||
|
||||
## Key Concepts
|
||||
- [[内网穿透]]:通过FRP反向隧道将内网服务暴露至公网访问的完整方案,包含frps(服务端)和frpc(客户端)两个组件。
|
||||
- [[反向代理]]:通过Caddy根据域名将公网HTTPS请求反向代理到内网FRP映射端口的机制。
|
||||
- [[HTTPS自动化证书]]:Caddy自动申请和管理Let's Encrypt SSL证书的机制。
|
||||
- [[Docker Compose]]:各节点服务通过YAML文件声明式定义和管理的多容器编排工具。
|
||||
- [[时序数据库]]:Prometheus作为监控数据的时序数据库,用于采集和存储node_exporter/cAdvisor/blackbox_exporter的指标。
|
||||
- [[告警管理]]:Alertmanager处理Prometheus告警的分组、抑制、静默和多通道路由。
|
||||
- [[SOCKS5代理]]:本地科学上网代理协议,监听127.0.0.1:10808。
|
||||
- [[DNS托管]]:Cloudflare免费提供域名DNS解析服务,含CDN和SSL。
|
||||
- [[FRP 内网穿透]]:通过 Fast Reverse Proxy 在公网VPS和内网设备之间建立反向隧道,实现内网服务公网访问
|
||||
- [[Caddy 反向代理]]:现代化 Web 服务器,自动管理 HTTPS 证书,通过子域名路由内网服务
|
||||
- [[Docker 容器化]]:所有应用服务均以 Docker 方式部署,便于管理和迁移
|
||||
- [[Home Lab]]:个人自托管服务器集群,包含媒体、监控、开发、自动化等多种服务
|
||||
- [[Prometheus 监控]]:使用 Prometheus + Grafana + Node Exporter + cAdvisor 构建完整监控体系
|
||||
|
||||
## Key Entities
|
||||
- [[RackNerd]]:VPS提供商,托管公网VPS1(192.227.222.142),提供frps和Caddy服务。
|
||||
- [[Mac Mini M4]]:Apple Silicon Mac Mini作为家庭服务器主控节点(192.168.3.189),运行OpenClaw、vaultwarden、STQ项目等应用。
|
||||
- [[Synology NAS DS718]]:群晖NAS设备(192.168.3.17),运行DSM管理界面及Calibre/MinIO/Zipline/Navidrome/Jellyfin等Docker应用。
|
||||
- [[Ubuntu Server]]:两个内网Ubuntu服务器节点(Ubuntu1: 192.168.3.47, Ubuntu2: 192.168.3.45),承担监控/导航/下载/工作流/Git等服务。
|
||||
- [[Caddy]]:公网VPS上的自动HTTPS反向代理服务器,绑定*.ishenwei.online域名。
|
||||
- [[frp]]:内网穿透工具(frps/frpc v0.65.0),实现内网端口到公网端口的TCP隧道映射。
|
||||
- [[Prometheus]]:时序数据库监控系统,在NAS和Ubuntu1上运行,采集node_exporter/cAdvisor/blackbox_exporter指标。
|
||||
- [[Grafana]]:监控可视化平台(Ubuntu1:13000),通过Dashboard ID导入官方模板。
|
||||
- [[vaultwarden]]:轻量级Bitwarden密码管理器服务端,在Mac Mini和NAS上均有部署。
|
||||
- [[Jellyfin]]:开源媒体服务器,在NAS上运行(端口8096),公网通过FRP+Caddy访问。
|
||||
- [[Navidrome]]:开源音乐流媒体服务器,Subsonic API兼容,在NAS上运行(端口4533)。
|
||||
- [[Transmission]]:BT下载客户端,在Ubuntu1上运行(端口9091),公网通过FRP+Caddy访问。
|
||||
- [[n8n]]:工作流自动化平台,已从Mac Mini迁移至Ubuntu2(端口5678),公网通过FRP+Caddy访问。
|
||||
- [[Portainer]]:Docker容器可视化管理界面,在NAS、Ubuntu1、Ubuntu2上均有部署。
|
||||
- [[Homarr]]:个人导航页面/仪表板,在Ubuntu1上运行(端口7575),公网通过FRP+Caddy访问。
|
||||
- [[Apache Superset]]:开源BI平台,在Ubuntu1上运行(端口8777),公网通过FRP+Caddy访问。
|
||||
- [[Zipline]]:自托管图床应用,在NAS上运行(端口3333),后端为PostgreSQL。
|
||||
- [[MinIO]]:S3兼容对象存储,在NAS上运行(端口9001),作为Zipline的存储后端。
|
||||
- [[Cloudflare]]:DNS托管服务商,免费提供CDN和SSL证书,托管ishenwei.online域名。
|
||||
- [[OpenClaw]]:AI助手框架,在Mac Mini上运行(端口8080),星曜的主要运行环境。
|
||||
- [[Calibre]]:电子书库管理工具,在NAS上运行(端口8083),公网通过FRP+Caddy访问。
|
||||
- [[v2rayA]]:V2Ray图形化代理客户端,在NAS上运行(端口2017),SOCKS5仅本机监听。
|
||||
- [[CloudDrive2]]:多云盘挂载工具,在NAS上运行(端口19798),支持阿里云盘等。
|
||||
- [[Alertmanager]]:Prometheus告警分发组件,在NAS和Ubuntu1上运行(端口9093)。
|
||||
- [[node_exporter]]:Prometheus官方主机指标采集器,以host network模式运行。
|
||||
- [[cAdvisor]]:Google开源容器资源监控工具,挂载Docker socket采集容器级指标。
|
||||
- [[blackbox_exporter]]:Prometheus官方黑盒探测exporter,支持HTTP/TCP/ICMP/DNS/TLS探测。
|
||||
- [[nginx-proxy-manager]]:反向代理管理工具,在Ubuntu1上运行(端口81)。
|
||||
- [[Gitea]]:自建Git服务,在Ubuntu2上运行(端口3000)。
|
||||
- [[Draw.io]]:在线图表编辑器,在Ubuntu2上运行(端口8085),公网通过FRP+Caddy访问。
|
||||
- [[it-tools]]:开源开发者工具集合,在Ubuntu1和Ubuntu2上运行(端口8999),提供URL编解码、UUID生成、哈希计算等100+工具。
|
||||
- [[RackNerd VPS]]:公网服务器(IP: 192.227.222.142),运行 Caddy 和 FRP Server,是内网穿透的核心节点
|
||||
- [[Mac Mini M4]]:家庭主控节点(内网IP: 192.168.3.189),运行 OpenClaw AI助手、vaultwarden、STQ项目管理系统
|
||||
- [[Synology NAS DS718]]:家庭媒体中心(内网IP: 192.168.3.17),运行 Jellyfin、Navidrome、Calibre等多媒体服务
|
||||
- [[Ubuntu1]]:监控与开发服务器(内网IP: 192.168.3.47),运行 Grafana、Superset、Homarr导航面板
|
||||
- [[Ubuntu2]]:自动化与代码服务器(内网IP: 192.168.3.45),运行 n8n 工作流自动化、Gitea 自建Git服务
|
||||
- [[Cloudflare]]:提供免费DNS托管、CDN加速和SSL证书
|
||||
|
||||
## Connections
|
||||
- [[Caddy]] ← 反向代理 ← [[frp]](Caddy将HTTPS请求代理到FRP映射端口)
|
||||
- [[Cloudflare]] ← DNS托管 ← [[Caddy]](DNS A记录指向VPS公网IP)
|
||||
- [[Prometheus]] ← 指标采集 ← [[node_exporter]] + [[cAdvisor]] + [[blackbox_exporter]]
|
||||
- [[Grafana]] ← 数据源 ← [[Prometheus]](Grafana消费Prometheus指标)
|
||||
- [[Alertmanager]] ← 告警路由 ← [[Prometheus]](Prometheus触发告警后发送至Alertmanager)
|
||||
- [[Zipline]] ← 存储后端 ← [[MinIO]](Zipline使用MinIO存储图片)
|
||||
- [[Zipline]] ← 数据库 ← [[PostgreSQL]](NAS上zipline_postgres容器)
|
||||
- [[Jellyfin]] ← 下载来源 ← [[Transmission]](下载→整理→播放工作流)
|
||||
- [[Navidrome]] ← 同 ← [[Jellyfin]](均为媒体服务,下载→播放工作流)
|
||||
- [[OpenClaw]] ← 运行平台 ← [[Mac Mini M4]](OpenClaw的主要运行环境)
|
||||
- [[n8n]] ← 数据存储 ← [[PostgreSQL]](Ubuntu2上n8n_postgres容器)
|
||||
- [[Cloudflare]] ← DNS ← [[RackNerd]](VPS IP: 192.227.222.142)
|
||||
- [[frp]] ← 客户端节点 ← [[Mac Mini M4]] + [[Synology NAS DS718]] + [[Ubuntu Server 1]] + [[Ubuntu Server 2]](4个frpc客户端)
|
||||
- [[frp]] ← 服务端 ← [[RackNerd]](VPS运行frps服务端)
|
||||
- [[Docker Compose]] ← 部署载体 ← [[Prometheus]] + [[Grafana]] + [[Jellyfin]] + [[Navidrome]] + [[n8n]] + [[Zipline]] + [[MinIO]] + [[v2rayA]] + [[vaultwarden]] + [[Portainer]] + [[Homarr]] + [[Apache Superset]] + [[Gitea]] + [[it-tools]](所有Docker应用均通过Docker Compose部署)
|
||||
- [[RackNerd VPS]] ← provides_public_ip ← [[Home Lab]]
|
||||
- [[Mac Mini M4]] ← hosts ← [[OpenClaw]]
|
||||
- [[Synology NAS DS718]] ← hosts ← [[Jellyfin]]
|
||||
- [[Synology NAS DS718]] ← hosts ← [[Navidrome]]
|
||||
- [[Ubuntu1]] ← hosts ← [[Grafana]]
|
||||
- [[Ubuntu2]] ← hosts ← [[n8n 工作流自动化]]
|
||||
- [[Home Lab]] ← uses ← [[FRP 内网穿透]]
|
||||
- [[Home Lab]] ← uses ← [[Caddy 反向代理]]
|
||||
|
||||
## Contradictions
|
||||
- 与 [[ubuntu-server科学上网]] 冲突:
|
||||
- **冲突点**:NAS上v2rayA的SOCKS5代理(端口20170)状态为"仅本机监听",而ubuntu-server科学上网方案强调Docker Daemon也需要代理配置。
|
||||
- **当前观点**:v2rayA在NAS上运行但仅本机监听,Docker pull仍可能受限。
|
||||
- **对方观点**:Ubuntu Server可通过ProxyChains/Docker Daemon Proxy显式配置代理,覆盖终端和Docker Daemon两层。
|
||||
- **Resolution**:v2rayA仅覆盖NAS本身,NAS上Docker pull可能还需配置Docker Daemon Proxy(参考[[群晖NAS科学上网]]方案)。
|
||||
- 与其他文档暂无已知冲突
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "开发经验与项目规范整理文档"
|
||||
type: source
|
||||
tags: [vibe-coding, software-engineering, best-practices, coding-standards]
|
||||
tags: [vibe-coding, software-engineering, best-practices, coding-standards, microservices, redis, message-queue]
|
||||
sources: []
|
||||
last_updated: 2025-12-30
|
||||
---
|
||||
@@ -13,47 +13,55 @@ last_updated: 2025-12-30
|
||||
- 核心主题:Vibe Coding 环境下的开发经验与项目规范最佳实践,涵盖编码规范、系统架构原则、程序设计思想及基础设施(微服务、Redis、消息队列)
|
||||
- 问题域:如何建立可持续维护的 AI 辅助开发项目;如何制定团队编码规范;如何通过规范提升 AI 生成的代码质量
|
||||
- 方法/机制:
|
||||
- 变量名维护方案(统一变量索引文件)
|
||||
- 文件结构与命名规范(小写英文 + 下划线/小驼峰)
|
||||
- 编码规范(单一职责、DRY、模块化)
|
||||
- 系统架构原则(先梳理架构、小步迭代)
|
||||
- 程序设计核心思想(从问题出发、清晰命名、测试优先)
|
||||
- 微服务拆分原则(独立开发/部署/扩容)
|
||||
- Redis 缓存策略(提升读性能、降低 DB 压力)
|
||||
- 消息队列异步通信(解耦、削峰、异步任务)
|
||||
- 变量名维护方案(统一变量索引文件,格式:变量名 | 变量注释 | 出现位置 | 出现频率)
|
||||
- 文件结构与命名规范(子文件夹含 agents + claude.md;文件命名小写英文 + 下划线/小驼峰)
|
||||
- 编码规范(单一职责、DRY、模块化;消费端/生产端/状态/变换模型)
|
||||
- 并发编程规范(共享资源、数据竞争、锁机制、并发 vs 异步区分)
|
||||
- 系统架构原则(先梳理架构 → 理解需求 → 保持简单 → 自动化测试 → 小步迭代)
|
||||
- 程序设计核心思想(从问题出发、清晰命名、单一职责、可读性优先、合理注释、测试优先)
|
||||
- 微服务拆分原则(独立开发/部署/扩容,服务间通过 API 通信)
|
||||
- Redis 缓存策略(提升读性能、降低 DB 压力、提供计数/锁/队列/Session 能力)
|
||||
- 消息队列异步通信(解耦、削峰填谷、异步任务处理)
|
||||
- 结论/价值:为 AI 辅助开发项目提供系统化规范框架,强调从问题出发而非代码出发,提升代码可维护性和团队协作效率
|
||||
|
||||
## Key Claims(用中文描述)
|
||||
- 统一变量索引文件能降低命名冲突和语义不清晰带来的风险
|
||||
- 编码规范中的「消费端 → 生产端 → 状态 → 变换」模型能清晰划分系统行为边界
|
||||
- 系统开发应遵循「先理解需求 → 保持简单 → 测试驱动 → 小步迭代」的严谨流程
|
||||
- 编程第一步永远是「你要解决什么问题」,而非直接写代码
|
||||
- 注释解释「为什么」,而非「怎么做」
|
||||
- 统一变量索引文件能降低命名冲突和语义不清晰带来的风险,实现 AI 与团队全局命名一致性管理
|
||||
- 编码规范中的「消费端 → 生产端 → 状态 → 变换」模型能清晰划分系统行为边界,明确输入→处理→输出各环节
|
||||
- 系统开发应遵循「先理解需求 → 保持架构与代码简单 → 写可维护的自动化测试 → 小步迭代,不做大爆炸开发」的严谨流程
|
||||
- 编程第一步永远是「你要解决什么问题」,复杂问题拆解为可独立完成的小单元,减少复杂度、魔法代码、晦涩技巧
|
||||
- 注释解释「为什么」,而非「怎么做」;代码可读性优先,写的代码是给别人理解的,不是来炫技的
|
||||
- 未测试的代码迟早会出问题,调试是程序员核心技能,永远不要把代码只放本地
|
||||
- 微服务将系统拆解为多个独立开发、独立部署、独立扩容的服务,服务间通过 API 通信(HTTP、RPC、MQ 等)
|
||||
- Redis 通过缓存提升系统读性能、降低数据库压力,并提供计数、锁、队列、Session 等扩展能力
|
||||
- 消息队列实现服务间的异步通信,带来解耦、削峰填谷、异步任务处理等系统稳定性与吞吐收益
|
||||
|
||||
## Key Quotes
|
||||
> "编程的第一步永远是:你要解决什么问题?" — 从问题出发而非代码
|
||||
> "你写的代码是给别人理解的,不是来炫技的。" — 代码可读性优先
|
||||
> "注释解释'为什么',不是'怎么做'。" — 合理注释原则
|
||||
> "未测试的代码迟早会出问题。" — 测试优先
|
||||
> "永远不要把代码只放本地。" — 调试是必修课
|
||||
|
||||
## Key Concepts
|
||||
- [[单一职责原则]]:每个文件、类、函数应只负责一件事
|
||||
- [[DRY原则]]:Don't Repeat Yourself,避免重复代码,提炼公共逻辑
|
||||
- [[模块化编程]]:将系统分解为独立模块,提高复用价值
|
||||
- [[微服务架构]]:将系统拆解为独立开发、部署、扩容的服务
|
||||
- [[Redis缓存]]:作为缓存提升系统读性能,降低数据库压力
|
||||
- [[消息队列]]:用于服务之间的异步通信,实现解耦和削峰填谷
|
||||
- [[输入-处理-输出模型]]:明确区分消费端(接收数据)、生产端(生成数据)、状态(存储信息)、变换(处理逻辑)
|
||||
- [[并发编程]]:区分共享资源、数据竞争、锁机制与异步处理的差异
|
||||
- [[单一职责原则]]:每个文件、类、函数应只负责一件事,提炼公共逻辑,避免重复代码(DRY)
|
||||
- [[DRY原则]]:Don't Repeat Yourself,避免重复代码,提高复用价值
|
||||
- [[模块化编程]]:将系统分解为独立模块,提高复用价值,函数化、类化、模块化
|
||||
- [[输入-处理-输出模型]]:明确区分消费端(接收外部数据)、生产端(生成数据/输出结果)、状态(存储当前系统信息)、变换(处理状态/改变数据的逻辑)
|
||||
- [[并发编程]]:区分共享资源、数据竞争、必要时加锁或使用线程安全结构,区分"并发处理"和"异步处理"的差异
|
||||
- [[微服务架构]]:将系统拆解为独立开发、部署、扩容的服务,服务间通过 API 通信
|
||||
- [[Redis缓存]]:作为缓存提升系统读性能,降低数据库压力,提供计数/锁/队列/Session 能力
|
||||
- [[消息队列]]:用于服务之间的异步通信,实现解耦、削峰填谷、异步任务处理
|
||||
- [[系统架构梳理]]:模块划分、输入输出、数据流向、服务边界、技术栈、依赖关系在写代码前先明确
|
||||
|
||||
## Key Entities
|
||||
- 无特定实体提及,本文档为方法论文档
|
||||
- 无特定商业实体提及,本文档为方法论文档,涵盖软件工程通用规范框架
|
||||
|
||||
## Connections
|
||||
- [[Vibe Coding]] ← 相关领域 ← 本文:提供 AI 辅助开发的项目规范框架
|
||||
- [[单一职责原则]] ← 编码规范核心 ← [[DRY原则]] ← 模块化基础
|
||||
- [[微服务架构]] ← 服务拆分原则 ← [[Redis缓存]] ← 性能优化手段
|
||||
- [[消息队列]] ← 异步通信基础设施 ← 微服务间通信机制
|
||||
- [[输入-处理-输出模型]] ← 系统行为划分 ← [[系统架构梳理]] ← 开发前置工作
|
||||
|
||||
## Contradictions
|
||||
- 与传统软件开发方法冲突:
|
||||
|
||||
@@ -8,42 +8,79 @@ date: 2026-04-14
|
||||
## Source File
|
||||
- [[raw/Home Office/用Docker安装Apache Superset.md]]
|
||||
|
||||
## Summary (用中文描述)
|
||||
- 核心主题:通过 Docker 快速部署 Apache Superset 开源 BI 平台,包含镜像拉取、容器启动、管理员账户创建、数据库迁移、示例数据加载等完整 6 步初始化流程
|
||||
- 问题域:Home Server 场景下自托管 BI 可视化平台的 Docker 容器化部署
|
||||
- 方法/机制:使用 Docker Hub 官方镜像 `apache/superset:GHA-19524015706`(GHA 构建版本),通过 `docker pull` + `docker run` + `docker exec` 初始化三步骤完成部署,端口映射 8777:8088,数据库使用内置 SQLite
|
||||
- 结论/价值:提供一套可快速落地的自托管 BI 平台部署方案,适合家庭服务器场景的轻量级数据可视化
|
||||
## Summary(用中文描述)
|
||||
- **核心主题**:通过 Docker 容器快速部署 Apache Superset BI 平台
|
||||
- **问题域**:数据可视化与 BI 工具的本地化安装
|
||||
- **方法/机制**:使用 Docker Hub 官方镜像 `apache/superset`,通过 docker exec 进入容器执行初始化命令
|
||||
- **结论/价值**:提供一套标准化、可复现的 Superset 部署流程,适合开发测试环境快速搭建
|
||||
|
||||
## Key Claims (用中文描述)
|
||||
- Apache Superset 通过 Docker 容器化部署可实现一键启动,是 Home Server 场景下的轻量级 BI 可视化方案
|
||||
- 通过 `superset fab create-admin` 命令行交互式创建首个管理员账户(用户名/邮箱/密码)
|
||||
- 通过 `superset db upgrade` 执行数据库迁移,确保 Superset 元数据存储就绪
|
||||
- 通过 `superset load_examples` 加载示例数据集,新用户可快速熟悉 BI 平台功能
|
||||
- 通过 `superset init` 完成初始化,使平台进入可用状态
|
||||
## Key Claims(用中文描述)
|
||||
- Docker 容器化部署可将 Superset 安装时间压缩至分钟级别
|
||||
- 通过 `superset fab create-admin` 命令创建管理员账户是初始化第一步
|
||||
- `superset db upgrade` 确保数据库 Schema 与当前版本同步
|
||||
- `superset load_examples` 加载示例数据集,便于新用户快速上手
|
||||
- `superset init` 完成权限和缓存的初始化
|
||||
|
||||
## Key Quotes
|
||||
> "docker run -d -p 8777:8088 -e \"SUPERSET_SECRET_KEY=*** --name superset apache/superset:GHA-19524015706"
|
||||
> — 容器启动命令,8777 映射到容器内 8088,设置了安全密钥环境变量
|
||||
|
||||
> "docker exec -it superset superset fab create-admin --username admin --firstname Superset --lastname Admin --email admin@superset.com --password admin"
|
||||
> — 管理员账户创建命令,通过 flask-appbuilder (fab) CLI 创建首个 admin 用户
|
||||
> `docker pull apache/superset:GHA-19524015706` — 拉取 GitHub Actions 构建版本的 Apache Superset 官方镜像
|
||||
>
|
||||
> `docker run -d -p 8777:8088 -e "SUPERSET_SECRET_KEY=*** --name superset apache/superset:GHA-19524015706` — 容器启动命令,将宿主机的 8777 端口映射到容器的 8088 端口(Superset 默认 Web UI 端口),设置 SECRET_KEY 环境变量
|
||||
>
|
||||
> `docker exec -it superset superset fab create-admin --username admin --firstname Superset --lastname Admin --email admin@superset.com --password admin` — 管理员账户创建命令,用于首次登录系统
|
||||
|
||||
## Key Concepts
|
||||
- [[BI平台]]:Business Intelligence 平台,提供数据可视化、仪表盘构建、SQL 查询等功能
|
||||
- [[Docker容器化部署]]:通过 Docker 镜像封装应用依赖,实现环境一致性和快速部署
|
||||
- [[Flask-AppBuilder]]:Superset 的 Web 框架,基于 Flask 的认证和权限管理组件
|
||||
- [[数据库迁移]]:通过 `db upgrade` 命令初始化或升级 Superset 元数据数据库
|
||||
- [[Docker]]:容器化平台,Superset 的部署底座
|
||||
- [[Docker-Image]]:`apache/superset` 官方镜像
|
||||
- [[容器初始化]]:docker exec 进入运行中的容器执行初始化命令的流程
|
||||
- [[BI平台]]:Business Intelligence 平台,Superset 属于开源 BI 工具
|
||||
- [[数据可视化]]:将数据库数据转化为图表/仪表盘的技术
|
||||
|
||||
## Key Entities
|
||||
- [[Apache Superset]]:Apache 软件基金会旗下的开源 BI 平台,支持多样化图表和仪表盘构建
|
||||
- [[Docker]]:容器化平台,Superset 的部署底座
|
||||
- [[MySQL]]:Superset 支持的外部数据库后端(标签提及),默认使用 SQLite
|
||||
- [[Apache Superset]]:开源 BI 和数据探索平台,由 Apache 软件基金会维护,支持 SQL 查询、可视化仪表盘和数据源连接
|
||||
- [[MySQL]]:关系型数据库,在 Superset 中作为可选元数据存储(默认使用 SQLite)
|
||||
- [[Docker Hub]]:官方镜像仓库,`apache/superset` 的托管位置
|
||||
|
||||
## Connections
|
||||
- [[Apache Superset]] ← deployed_by ← [[Docker]]
|
||||
- [[Home Server Automation]] ← part_of ← [[家庭网络环境概览]]
|
||||
- [[Apache Superset]] ← use_case ← [[数据可视化]]
|
||||
- [[Portainer]] ← alternative_admin_ui ← [[Docker]]
|
||||
- [[Docker]] ← uses ← [[Apache Superset]]
|
||||
- [[MySQL]] ← stores ← [[Apache Superset 元数据]]
|
||||
- [[Docker]] ← extends ← [[Docker Compose]](生产环境推荐多容器协同)
|
||||
- [[Apache Superset]] ← depends_on ← [[Flask]](Web 框架)
|
||||
- [[Apache Superset]] ← depends_on ← [[SQLAlchemy]](数据库 ORM)
|
||||
|
||||
## Contradictions
|
||||
- 无冲突
|
||||
- 与 [[install-apache-superset-in-docker]] 无冲突:
|
||||
- 两篇文档内容高度一致,均使用 `docker run` 单容器模式 + GHA 构建版本镜像,适合快速尝鲜
|
||||
- 与 [[用docker安装portainer]] 同属 Home Office Docker 部署系列,可作为参考对照
|
||||
|
||||
## 安装步骤速查
|
||||
|
||||
```bash
|
||||
# 1. 拉取镜像
|
||||
docker pull apache/superset:GHA-19524015706
|
||||
|
||||
# 2. 运行容器
|
||||
docker run -d -p 8777:8088 \
|
||||
-e "SUPERSET_SECRET_KEY=***" \
|
||||
--name superset \
|
||||
apache/superset:GHA-19524015706
|
||||
|
||||
# 3. 创建管理员账户
|
||||
docker exec -it superset superset fab create-admin \
|
||||
--username admin \
|
||||
--firstname Superset \
|
||||
--lastname Admin \
|
||||
--email admin@superset.com \
|
||||
--password admin
|
||||
|
||||
# 4. 数据库迁移
|
||||
docker exec -it superset superset db upgrade
|
||||
|
||||
# 5. 加载示例数据
|
||||
docker exec -it superset superset load_examples
|
||||
|
||||
# 6. 初始化
|
||||
docker exec -it superset superset init
|
||||
```
|
||||
|
||||
访问地址:`http://localhost:8777`
|
||||
默认凭据:`admin / admin`
|
||||
|
||||
Reference in New Issue
Block a user