Auto-sync: 2026-04-22 08:02

This commit is contained in:
2026-04-22 08:02:59 +08:00
parent de096f2f88
commit 143d1fd105
62 changed files with 5232 additions and 1268 deletions

View File

@@ -0,0 +1,50 @@
---
title: "Apache Superset"
type: entity
aliases:
- Superset
- Apache Superset
tags: [apache, bi, docker, data-visualization]
date: 2026-04-14
---
# Apache Superset
## Overview
Apache Superset 是 Apache 软件基金会旗下的开源 **Business Intelligence (BI) 平台**提供数据可视化、仪表盘构建、SQL 查询和数据分析功能。Superset 基于 **Flask-AppBuilder**Fab框架构建支持通过插件扩展图表类型并与多种数据源集成MySQL、PostgreSQL、SQLite、Druid 等)。
## Key Attributes
- **类型**: Product / Open Source Project
- **维护方**: Apache Software Foundation
- **编程语言**: Python (Flask)
- **前端**: React
- **默认端口**: 8088
- **默认数据库**: SQLite生产环境建议外挂 PostgreSQL 或 MySQL
## Docker 部署
通过 Docker 镜像容器化部署是 Home Server 场景的推荐方式:
- **镜像**: `apache/superset:GHA-*`GitHub Actions 构建版本)
- **6 步初始化流程**:
1. `docker pull apache/superset:GHA-*`
2. `docker run -d -p 8777:8088 -e SUPERSET_SECRET_KEY=... --name superset apache/superset:GHA-*`
3. `docker exec -it superset superset fab create-admin`(创建管理员账户)
4. `docker exec -it superset superset db upgrade`(数据库迁移)
5. `docker exec -it superset superset load_examples`(加载示例数据)
6. `docker exec -it superset superset init`(完成初始化)
- **端口映射**: 宿主机 8777 → 容器 8088
## Related Entities
- [[Docker]] — 部署底座
- [[MySQL]] — 支持的外挂数据库后端
- [[Portainer]] — 可用于管理 Superset 容器生命周期
- [[Jellyfin]] — 同属 Home Server 可视化服务系列(视频 vs 数据)
- [[Prometheus]] — 可作为数据源接入 Superset
- [[Grafana]] — 功能重叠的替代方案Superset 更偏重 BI/GalleryGrafana 更偏重监控
## Related Concepts
- [[BI平台]] — 核心概念定义
- [[数据可视化]] — 核心应用场景
- [[Docker容器化部署]] — 部署方法论
## Sources
- [[用docker安装apache-superset]]

57
wiki/entities/Calibre.md Normal file
View File

@@ -0,0 +1,57 @@
# Calibre
> Calibre开源电子书库管理工具在 Synology NAS 上以 Docker 方式部署,提供电子书管理、格式转换和 Web 阅读界面。
## Overview
Calibre 是功能最强大的开源电子书库管理工具支持电子书格式转换、元数据编辑、新闻订阅、Web服务器等功能。本方案中通过 Docker Compose 在 Synology NAS DS718 上部署 Calibre-Web提供公网访问。
## Deployment
|| 项目 | 配置 |
|------|------|
| 部署位置 | Synology NAS DS718192.168.3.17|
| 容器名称 | calibre |
| 内网端口 | 8083 |
| 公网域名 | calibre.ishenwei.online |
| FRP remotePort | 18083 |
| FRP 客户端 | NAS frpc |
| Docker 镜像 | ghcr.io/linuxserver/calibre-web推测|
## Architecture
```
[用户]
│ HTTPS: calibre.ishenwei.online
[Cloudflare DNS → RackNerd VPS]
│ HTTPS 反向代理
[Caddy (VPS)]
│ FRP 隧道 (端口 18083)
[NAS:8083]
Calibre-Web
```
## Key Features
1. **电子书管理**:支持 EPUB/MOBI/AZW3/PDF/TXT 等格式
2. **元数据编辑**封面、作者、出版商、ISBN 等信息管理
3. **格式转换**Calibre 内核支持 20+ 格式转换
4. **Web 服务器**:内置 Web UI支持多设备阅读
5. **新闻订阅**:支持 RSS/Atom 格式新闻自动下载
## Related Concepts
- [[媒体服务器]] — 与 Jellyfin/Navidrome 构成家庭媒体服务矩阵
- [[Docker堆栈]] — NAS 上通过 Docker Compose 部署
- [[反向代理]] — 通过 Caddy + FRP 暴露公网访问
## Related Entities
- [[Synology NAS DS718]] — 部署宿主
- [[RackNerd]] — 公网 VPSCaddy
- [[FRP]] — 内网穿透机制
- [[Jellyfin]] — 视频媒体服务(同一 NAS
- [[Navidrome]] — 音乐流媒体服务(同一 NAS

View File

@@ -0,0 +1,88 @@
---
title: "Docker Network"
tags: [docker, networking, container]
date: 2026-04-22
---
# Docker Network
## Definition
Docker Network 是 Docker 提供的容器网络连接机制支持多种网络驱动bridge / host / overlay / macvlan / none使容器能够相互通信并与外部网络交互。
## Network Drivers
| 驱动 | 用途 | 特点 |
|------|------|------|
| **bridge** | 默认网络驱动 | 容器通过虚拟网桥通信,默认 bridge IP 为 172.17.0.1 |
| **host** | 移除网络隔离 | 容器直接使用宿主机网络栈 |
| **overlay** | Docker Swarm 多主机通信 | 跨多个 Docker daemon |
| **macvlan** | 给容器分配真实 MAC | 容器像物理机一样出现在网络中 |
## 查看与管理命令
```bash
# 查看所有网络
docker network ls
# 查看特定网络的详细信息驱动、容器、IP
docker network inspect bridge
# 查看连接了某网络的容器
docker network inspect <network_name> --format '{{range .Containers}}{{.Name}} {{end}}'
# 创建自定义 bridge 网络
docker network create --driver bridge my_network
# 删除网络
docker network rm my_network
# 删除前先断开容器连接
docker network disconnect my_network container_name
```
## Docker Compose 中的 Network
```yaml
services:
app:
networks:
- frontend
- backend
networks:
frontend:
driver: bridge
backend:
driver: bridge
```
## Compose 项目间命名冲突
Docker Compose 默认以**项目目录名**作为网络名前缀:
- 项目 A目录 `~/portainer`)→ 网络名 `portainer_default`
- 项目 B目录 `~/portainer-stack`)→ 网络名 `portainer-stack_default`
当两个项目名不同但都声明了 `portainer_network` 时,会产生警告:
> WARN: Network portainer_network declared as external, but it does not exist
**解决方案**
1. 删除旧网络:`docker network rm portainer_network`
2. 或在 compose 中声明 `external: true` 复用已存在的网络
## External Mode复用外部网络
```yaml
networks:
portainer_network:
external: true
```
声明 `external: true`Compose 不会尝试创建网络,而是直接使用已存在的同名网络。
## Related Concepts
- [[Docker Compose]] — compose 中声明式定义网络
- [[Docker堆栈]] — 堆栈中多服务共享网络
- [[桥接网络]] — Docker bridge 网络驱动
## Related Entities
- [[Portainer]] — Docker 可视化管理工具,提供网络管理 Web UI
- [[群晖 NAS]] — Docker 网络配置的平台
- [[Docker]] — 网络系统的底层平台
## See Also
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]] — Prometheus 部署涉及 Docker 网络配置

View File

@@ -61,6 +61,7 @@ docker load < images.tar
## Related Entities
- [[Navidrome]] — 音乐流媒体服务使用 Docker 卷存储音乐文件和数据库
- [[群晖 NAS]] — 网络存储作为 Docker 卷备份的目标位置
- [[Portainer]] — Docker 可视化管理工具,通过 Web UI 查看/管理卷Portainer 重装前可通过 `docker volume ls | grep portainer` 查找 `portainer_data` 卷,删除前需确认是否需要保留数据
## Best Practices
1. **数据库一致性**: 使用 mysqldump 而非直接复制

76
wiki/entities/Jellyfin.md Normal file
View File

@@ -0,0 +1,76 @@
---
title: "Jellyfin"
type: entity
tags: [video, media-server, self-hosted, open-source, docker]
date: 2026-04-14
---
# Jellyfin
开源视频媒体服务器,提供网页端流媒体播放、管理界面和转码能力。
## Aliases
- Jellyfin Media Server
- Jellyfin Server
## Type
开源自托管视频流媒体服务器Emby 分支)
## Core Functionality
- 视频播放与管理,支持电影、电视剧、体育节目等多种媒体类型
- 硬件加速视频转码Intel QuickSync / NVIDIA GPU / VA-API / AMD VCE
- 元数据刮削TMDB/TheTVDB 等)
- 多用户支持与播放进度追踪
- DLNA / Chromecast / Apple TV / Roku 等设备投射
- Web UI + 官方客户端Android / iOS / TV 版)
## Key Images
| 镜像 | 维护者 | 特点 |
|------|--------|------|
| linuxserver/jellyfin | LinuxServer.io | 官方稳定版 |
| nyanmisaka/jellyfin | 社区维护 | 预装优化 FFmpeg硬件转码开箱即用 |
## Docker 配置关键参数nyanmisaka 镜像)
```yaml
services:
jellyfin:
image: nyanmisaka/jellyfin:latest
user: "1026:100" # 群晖 UID:GID
ports:
- 8096:8096/tcp # Web UI
- 7359:7359/udp # 自动发现
volumes:
- /volume1/docker/jellyfin/config:/config
- /volume1/docker/jellyfin/cache:/cache
- /volume2/movie:/media
- "/volume1/TV shows:/media2"
- /volume1/docker/jellyfin/fonts:/usr/local/share/fonts/custom:ro
environment:
- JELLYFIN_PublishedServerUrl=http://jellyfin.ishenwei.online
- TZ=Asia/Shanghai
devices:
- /dev/dri:/dev/dri # Intel QuickSync 硬件转码
restart: unless-stopped
extra_hosts:
- 'host.docker.internal:host-gateway'
```
## Hardware Transcoding
- **Intel QuickSync**:通过 `/dev/dri` 设备直通nyanmisaka 镜像预装支持
- **NVIDIA GPU**:需 nvidia-container-toolkit
- **软件转码**ffmpeg fallback适合低功耗设备
## 性能考量
- 媒体转码建议内存 2-4GB
- 群晖 NAS 上优先使用 QuickSync / VA-API 硬件转码以降低 CPU 占用
- cache 目录建议 SSD 以提升元数据和缩略图读写性能
## Connections
- [[Transmission]] ← 下载端 → [[Jellyfin]](播放端)— "下载→整理→播放" 家庭媒体工作流
- [[Navidrome]] ← 对标竞品 → [[Jellyfin]] — Navidrome 服务音乐Jellyfin 服务视频
- [[群晖 NAS]] ← 宿主机 → [[Jellyfin]] — NAS 提供存储和 Docker 运行环境
- [[nyanmisaka/jellyfin]] ← 优化镜像 → [[Jellyfin]] — 预装硬件转码支持的社区镜像
- [[LinuxServer.io]] ← 官方镜像 → [[Jellyfin]] — 稳定版官方镜像维护组织
## Sources
- [[用docker安装jellyfin]] — 在群晖 NAS 上部署 Jellyfin 的完整 Docker Compose 配置

View File

@@ -19,12 +19,20 @@ Mac Mini M4 是 Apple 2024 年推出的迷你台式机,搭载 Apple M4 芯片
## Home Server Use Cases
### Core Services
| 服务 | 用途 | 端口 |
|------|------|------|
| FRP 客户端 | 内网穿透,远程访问 | frpc → VPS:7000 |
| N8n | 工作流自动化 | 5678 |
| OpenClaw | AI Agent | 8080 |
| Hermes Agent | 个人 AI 助手 | Telegram Bot |
|| 服务 | 用途 | 端口 | 公网访问 |
|------|------|------|------|----------|
| FRP 客户端 | 内网穿透,远程访问 | frpc → VPS:7000 | SSH:60026, vaultwarden:15151 |
| OpenClaw | AI Agent主运行环境| 8080 | — |
| Hermes Agent | 个人 AI 助手 | Telegram Bot | — |
| vaultwarden | 密码管理器 | 5151 | ✅ vaultwarden.ishenwei.online |
| STQ nginx | STQ 项目前端反向代理 | 7777 | ✅ stq-admin.ishenwei.online |
| STQ frontend | STQ 项目前端 | 5173 | ✅ stq.ishenwei.online |
| STQ web | STQ Web 服务 | 8000 | — |
| STQ mariadb | STQ 数据库 | 3306 | — |
| STQ n8n | STQ 专用 n8n | 62000 | ✅ stq-n8n.ishenwei.online |
| Portainer | Docker 管理(历史版)| 9000 | 已废弃,使用各服务器本地 Portainer |
> ⚠️ **重要更新**n8n 工作流自动化平台已从 Mac Mini 迁移至 Ubuntu2端口5678Mac Mini 不再暴露 n8n 端口。
### macOS-Specific Considerations
1. **ARM64 架构**:必须下载 ARM64 版本的软件(如 `frp_0.65.0_darwin_arm64.tar.gz`
@@ -82,12 +90,36 @@ Mac Mini M4 是 Apple 2024 年推出的迷你台式机,搭载 Apple M4 芯片
| tmux | 开发调试 | tmux new -s / attach |
| nohup | 简单后台 | nohup ./program & |
## Power & Sleep Configuration (Home Server)
作为 Headless 服务器运行Mac Mini 必须禁用所有自动睡眠行为以确保远程访问工具RustDesk/VNC持续可用
```bash
sudo pmset -a sleep 0 # 禁止系统睡眠
sudo pmset -a displaysleep 0 # 禁止显示器关闭
sudo pmset -a standby 0 # 禁止待机模式
sudo pmset -a hibernatemode 0 # 禁止休眠
sudo pmset -a womp 1 # 启用 Wake-on-LAN可远程唤醒
```
临时方案:
```bash
caffeinate -d -i -s # 临时防止睡眠(按 Ctrl+C 停止)
```
相关概念:[[pmset]] | [[caffeinate]] | [[Wake-on-LAN]] | [[系统睡眠管理]]
## Related Concepts
- [[frp]] — 内网穿透工具
- [[launchd]] — macOS 服务管理器
- [[Gatekeeper]] — macOS 安全机制
- [[软链接策略]] — 版本管理策略
- [[内网穿透]] — 远程访问机制
- [[pmset]] — macOS 电源管理(防止自动睡眠的核心命令)
- [[caffeinate]] — macOS 临时防止睡眠
- [[Wake-on-LAN]] — 网络唤醒,支持远程唤醒关机状态的 Mac Mini
- [[系统睡眠管理]] — macOS/Linux 睡眠层级对比框架
- [[Headless 服务器]] — 无显示器服务器模式Mac Mini 的典型运行方式
## Related Entities
- [[VPS]] — 内网穿透的公网中转站

108
wiki/entities/MinIO.md Normal file
View File

@@ -0,0 +1,108 @@
---
title: MinIO
type: entity
tags: [docker, storage, s3, minio]
date: 2025-12-29
---
# MinIO
## Aliases
- MinIO
- MinIO Server
## Definition
MinIO 是一个开源的 S3 兼容对象存储服务器,专为高性能、海量数据场景设计。作为 [[Zipline]] 图床系统的存储后端MinIO 提供 S3 API 兼容接口,使应用无需修改即可对接。
## Core Characteristics
| 特性 | 说明 |
|------|------|
| 协议兼容 | S3 APIAmazon Simple Storage Service |
| 部署模式 | 单机 / 分布式(纠删码模式) |
| 存储介质 | 直连磁盘,无特殊要求 |
| 管理界面 | MinIO Console默认端口 9001 |
| API 端口 | 默认 9000 |
| 授权协议 | AGPLv3 |
## Architecture
```
[Application] --S3 API--> [MinIO Server] ---> [Disk/NAS Storage]
^ |
|______________________________|
MinIO Console (9001)
```
## Key Commands (mc CLI)
```bash
# 安装 MinIO Client
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
# 设置 alias
mc alias set local http://192.168.3.17:9000 admin StrongPasswordHere
# 创建 bucket
mc mb local/zipline-bucket
# 匿名访问策略
mc anonymous set public local/zipline-bucket # 公共读写
mc anonymous set download local/zipline-bucket # 仅下载
mc anonymous set upload local/zipline-bucket # 仅上传
mc anonymous set none local/zipline-bucket # 禁用匿名
# 查看 bucket 内容
mc ls local/zipline-bucket
```
## Use Cases in Home Server
- [[Zipline]] 图床存储后端
- S3 兼容备份目标(替代 AWS S3
- 私有云对象存储
- AI 模型权重文件存储
## Docker Deployment
```yaml
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: Abcd_1234
ports:
- "9000:9000" # S3 API
- "9001:9001" # Console
volumes:
- /volume1/docker/zipline-stack/minio/minio_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
```
## Performance Characteristics (vs Zipline)
| 项目 | MinIO | Zipline |
|------|-------|---------|
| 存储性能 | 仅受 NAS 硬盘/SSD 限制 | 仅处理 metadata |
| 并发 | 高S3 原生并行) | 中等(单 Node.js 进程) |
| 数据库 | 无(内置 KV | PostgreSQL/SQLite |
| 扩展性 | 可横向扩容 | 单实例 → 前端微服务 |
| REST API | 完备 | 完备(适合 n8n |
## Connections
- [[Zipline]] ← stores files ← [[MinIO]]
- [[群晖 NAS]] ← hosts ← [[MinIO]]
- [[Docker堆栈]] ← part of ← [[MinIO]]
- [[mc命令]] ← manages ← [[MinIO]]
## Related Concepts
- [[S3-兼容对象存储]]
- [[对象存储]]
- [[图床]]
- [[数据一致性]]

115
wiki/entities/Portainer.md Normal file
View File

@@ -0,0 +1,115 @@
---
title: "Portainer"
tags: [docker, container, management, web-ui]
date: 2026-04-22
---
# Portainer
## Description
Portainer 是一个开源的 Docker 和 Kubernetes 可视化管理工具,通过 Web UI 简化容器、镜像、卷、网络、配置的日常运维操作。Community EditionCE免费开源BEBusiness Edition提供额外安全和企业功能。
## Versions
- **Portainer CE**(社区版):免费开源,通过 `portainer/portainer-ce:lts` 镜像部署
- **Portainer BE**(商业版):面向企业,支持 RBAC、审计日志、团队管理等
## Deployment
```yaml
services:
portainer:
image: portainer/portainer-ce:lts
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443" # HTTPS API
- "8000:8000" # Edge Agent
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
```
## Key Ports
| 端口 | 用途 |
|------|------|
| 9443 | HTTPS 管理 APIWeb UI |
| 8000 | Edge Agent 通信端口 |
## Key Concepts
### Volume
Portainer 的 `portainer_data` 卷存储所有持久化数据:
- 用户账户和认证信息
- 环境配置和设置
- Edge Agent 连接信息
- 团队和角色定义BE 版)
**删除该卷会永久丢失所有数据**,重装前务必确认是否需要保留。
### Network
Portainer 默认创建 `portainer_network` bridge 网络(或类似名称),供 Agent 和 Core 通信。
### 重装流程
当需要重新部署 Portainer 时,必须先清理旧资源,否则会产生警告:
```bash
# 1. 查找容器
docker ps -a | grep portainer
# 2. 停止并删除旧容器
docker stop portainer && docker rm portainer
# 3. 查看旧卷(可选)
docker volume ls | grep portainer
# 4. 如需保留数据,不删卷;如需全新开始,删卷
docker volume rm portainer_data
# 5. 查看旧网络(可选)
docker network ls | grep portainer
# 6. 如需重建,删旧网络
docker network rm portainer_network
# 7. 重新启动
docker compose up -d
```
### External Mode数据保留重装
若需保留现有配置和数据,在 compose 文件中声明:
```yaml
volumes:
portainer_data:
external: true
networks:
portainer_network:
external: true
```
这样 `docker compose up` 不会尝试创建同名卷/网络,而是直接复用已存在的。
## Common Warnings
### WARN 1: Network 已存在但不是当前项目创建
**原因**:之前的 compose 文件(或不同项目名)已创建了同名网络。
**解决**:在 compose 中声明 `external: true` 复用,或删除旧网络后重建。
### WARN 2: Volume 已存在但属于另一个 compose 项目
**原因**:使用不同项目名部署过 Portainer遗留了旧卷。
**解决**:同上。
## Alternatives
- **CLI 工具**`docker ps``docker volume ls``docker network ls` 等命令行管理
- **LazyDocker**:终端 TUI 工具
- **DockStation**:桌面应用
## Related Concepts
- [[Docker]] — Portainer 管理的底层容器化平台
- [[Docker Compose]] — Portainer 的推荐部署方式
- [[Docker卷]] — Portainer 的持久化存储
- [[Docker Network]] — Portainer 的网络连接
- [[external配置]] — compose 中复用外部资源的机制
## Related Entities
- [[LinuxServer.io]] — 开源 Docker 镜像维护组织Portainer 是独立组织)
- [[群晖 NAS]] — Portainer 常见的部署平台
- [[Docker]] — Portainer 管理的核心对象

91
wiki/entities/RackNerd.md Normal file
View File

@@ -0,0 +1,91 @@
# RackNerd
> RackNerd低总价 VPS 提供商,托管星曜家庭网络的公网入口节点,运行 FRP 服务端和 Caddy 自动 HTTPS 反向代理。
## Overview
RackNerd 是一家专注于低总价 VPS 的服务商,提供 OpenVZ 和 KVM 架构的虚拟专用服务器。本方案中使用 RackNerd VPS 作为公网中转站VPS1托管 FRP 服务端frps和 Caddy 自动 HTTPS 反向代理服务器,为所有内网服务提供统一的公网 HTTPS 入口。
## Network Configuration
|| 项目 | 配置 |
|------|------|
| 公网 IP | 192.227.222.142 |
| 公共域名 | vps.ishenwei.online |
| SSH | 已启用ssh vps1|
## Installed Applications
|| 服务 | Docker | 说明 | 公网访问 |
|------|--------|--------|------|----------|
| Caddy | No | 现代化Web服务器自带HTTPS自动化证书申请作为前置反向代理处理业务流量 | 通过 *.ishenwei.online 域名访问 |
| FRP Server (frps) | No | 高性能内网穿透服务端端口7000将内网服务暴露至公网 | FRP隧道 |
## Architecture Role
RackNerd VPS 在整个家庭网络架构中扮演**公网网关**角色:
```
[用户/客户端]
│ HTTPS (*.ishenwei.online)
[Cloudflare DNS]
ishenwei.online 域名的 DNS 托管
A 记录 → 192.227.222.142
│ HTTPS 请求
[RackNerd VPS: Caddy]
自动申请 Let's Encrypt SSL 证书
根据域名反向代理到对应 FRP 端口
│ FRP 隧道 (端口 7000)
[内网各节点 frpc 客户端]
Mac Mini M4 (192.168.3.189)
Synology NAS (192.168.3.17)
Ubuntu Server 1 (192.168.3.47)
Ubuntu Server 2 (192.168.3.45)
```
## Domain Mapping (Caddy → FRP Port)
|| 域名 | FRP remotePort | FRP 客户端 | 服务 |
|--------|----------------|-----------|------|
| vaultwarden.ishenwei.online | 15151 | macmini | vaultwarden |
| n8n.ishenwei.online | 15679 | ubuntu2 | n8n |
| it-tools.ishenwei.online | 18999 | ubuntu1 | it-tools |
| drawio.ishenwei.online | 18085 | ubuntu2 | Draw.io |
| transmission.ishenwei.online | 19091 | ubuntu1 | Transmission |
| grafana.ishenwei.online | 13000 | ubuntu1 | Grafana |
| nas.ishenwei.online | 15000 | VPS直连 | DSM |
| navidrome.ishenwei.online | 14533 | NAS | Navidrome |
| calibre.ishenwei.online | 18083 | NAS | Calibre |
| dashboard.ishenwei.online | 17575 | ubuntu1 | Homarr |
| miniflux.ishenwei.online | 18080 | NAS | Miniflux |
| zipline.ishenwei.online | 13333 | NAS | Zipline |
| superset.ishenwei.online | 18777 | ubuntu1 | Apache Superset |
| tk.ishenwei.online | 18888 | ubuntu1 | TikTok PM |
| tk-dev.ishenwei.online | 18889 | ubuntu2 | TikTok PM (DEV) |
| jellyfin.ishenwei.online | 18096 | NAS | Jellyfin |
| portainer1.ishenwei.online | 19443 | ubuntu1 | Portainer |
| stq.ishenwei.online | 15173 | ubuntu1 | STQ |
| stq-admin.ishenwei.online | 17000 | ubuntu1 | STQ Admin |
| stq-n8n.ishenwei.online | 15678 | ubuntu1 | STQ N8n |
## Aliases
- RackNerd VPS
## Related Concepts
- [[反向代理]] — Caddy根据域名将请求反向代理到内网服务
- [[HTTPS自动化证书]] — Caddy自动申请和管理Let's Encrypt SSL证书
- [[内网穿透]] — FRP反向隧道机制
- [[DNS托管]] — Cloudflare托管ishenwei.online域名DNS
## Related Entities
- [[Caddy]] — 自动HTTPS反向代理VPS上运行
- [[FRP]] — 内网穿透工具frps在VPS, frpc在各内网节点
- [[Cloudflare]] — DNS托管服务商
- [[Synology NAS DS718]] — 内网NASfrpc客户端之一
- [[Mac Mini M4]] — 主控节点frpc客户端之一
- [[Ubuntu Server]] — 内网服务器节点frpc客户端

56
wiki/entities/RustDesk.md Normal file
View File

@@ -0,0 +1,56 @@
---
title: "RustDesk"
type: entity
tags: [远程桌面, 开源, Rust]
last_updated: 2026-04-14
---
# RustDesk
开源远程桌面软件,支持自建中继服务器,可在任意网络环境下实现远程控制。
## 基本信息
- **类型**:远程桌面软件
- **开源协议**Apache 2.0
- **技术栈**Rust
- **官网**https://rustdesk.com
## 核心特性
- **自建中继服务器**:不依赖第三方服务器,可完全自托管,保护隐私
- **跨平台支持**Windows / macOS / Linux / Android / iOS
- **点对点直连**:同网络下自动建立 P2P 连接,减少延迟
- **中继Fallback**P2P 失败时自动切换到中继服务器
## Ubuntu 24.04 Wayland 兼容性
Ubuntu 24.04 默认使用 Wayland 显示协议,而 Wayland 基于安全设计严格限制外部程序在未登录状态下Login Screen获取屏幕控制权导致 RustDesk 无法在 GDM 登录界面工作。
### 解决方案
修改 `/etc/gdm3/custom.conf`,将 `WaylandEnable=false` 取消注释,强制 GDM 使用 X11
```bash
sudo nano /etc/gdm3/custom.conf
# 找到并修改:
[daemon]
WaylandEnable=false
# 保存后重启:
sudo systemctl restart gdm3
```
此配置使 RustDesk 能在以下场景正常工作:
- **登录前Login Screen**GDM 使用 X11RustDesk 可识别窗口并交互
- **登录后Post-Login**X11 的稳定性和权限开放度优于 Wayland
## 相关配置
- [[X11]] — 显示协议(替代 Wayland 的兼容性方案)
- [[Wayland]] — Ubuntu 24.04 默认显示协议(导致问题的原因)
- [[GDM3]] — GNOME Display Manager控制显示协议切换
- [[Ubuntu Server]] — 部署 RustDesk 的目标操作系统
## 与其他远程桌面方案对比
| 方案 | 自托管 | 跨平台 | Wayland 支持 | 中继服务器 |
|------|--------|--------|--------------|------------|
| RustDesk | ✅ 完全开源 | ✅ 全平台 | ❌ 需切换到 X11 | ✅ 可自建 |
| TeamViewer | ❌ 闭源 | ✅ 全平台 | ⚠️ 部分支持 | ❌ 依赖官方 |
| AnyDesk | ❌ 闭源 | ✅ 全平台 | ⚠️ 部分支持 | ❌ 依赖官方 |
| VNC | ✅ 开源 | ✅ 全平台 | ❌ 需额外配置 | ❌ 需手动设置 |

View File

@@ -0,0 +1,108 @@
# Synology NAS DS718
> Synology DS718 群晖 NAS作为家庭存储和多媒体服务器运行提供媒体服务、监控栈、云盘挂载等核心应用。
## Overview
Synology NAS DS718 是群晖Synology推出的双盘位 NAS 设备,搭载 Intel Celeron J3455 处理器x86_64架构作为家庭网络的核心存储和多媒体中心。本方案中托管了近20个 Docker 应用,涵盖媒体服务、监控系统、密码管理、云盘挂载、开发工具等多个类别,并通过 FRP + Caddy 将核心服务暴露至公网。
## Hardware & Network
|| 项目 | 配置 |
|------|------|
| 型号 | Synology DS718 |
| 处理器 | Intel Celeron J3455x86_64|
| 内网 IP | 192.168.3.17 |
| 公网域名 | nas.ishenwei.online |
| SSH | 已启用 |
| DSM 管理 | https://nas.ishenwei.online:5000通过FRP+Caddy|
## Installed Applications (Docker)
|| 服务 | 端口 | 公网访问 | 说明 |
|------|------|------|----------|------|
| Synology DSM | 5000 | ✅ nas.ishenwei.online | 系统核心管理界面 |
| Calibre | 8083 | ✅ calibre.ishenwei.online | 电子书库管理工具 |
| MinIO | 9001 | — | S3兼容对象存储Zipline后端|
| Zipline | 3333 | ✅ zipline.ishenwei.online | 轻量级文件分享与图床 |
| Navidrome | 4533 | ✅ navidrome.ishenwei.online | 音乐流媒体服务 |
| Jellyfin | 8096 | ✅ jellyfin.ishenwei.online | 视频媒体服务器 |
| Prometheus | 9090 | — | 时序数据库监控系统 |
| Alertmanager | 9093 | — | 告警中心 |
| node_exporter | 9100 | — | 硬件监控探针 |
| v2rayA | 2017 | — | V2Ray图形化代理客户端SOCKS5:10808本机监听|
| vaultwarden | 5151 | — | 密码管理器NAS版|
| Portainer | 9443 | — | Docker容器管理界面 |
| CloudDrive2 | 19798 | — | 多云盘挂载(阿里云盘)|
| Zipline Postgres | 5432 | — | Zipline后端数据库 |
| FRP Client | /opt/frp/ | — | 内网穿透客户端frpc|
## FRP Port Mappings (公网暴露)
|| 服务 | 来源服务器 | remotePort |
|------|-----------|------------|
| nas.ishenwei.online | VPS直连 | 15000 |
| navidrome | NAS frpc | 14533 |
| calibre | NAS frpc | 18083 |
| jellyfin | NAS frpc | 18096 |
| zipline | NAS frpc | 13333 |
| miniflux | NAS frpc | 18080 |
## Key Features
### 媒体服务
- **Jellyfin**端口8096开源视频媒体服务器支持硬件转码Intel QuickSync公网通过FRP+Caddy访问
- **Navidrome**端口4533开源音乐流媒体服务器Subsonic API兼容支持网页端与移动客户端
- **Calibre**端口8083电子书库管理工具支持格式转换、元数据管理和Web界面
### 监控系统
- **Prometheus**端口9090时序数据库采集node_exporter/cAdvisor/blackbox_exporter指标
- **Alertmanager**端口9093Prometheus告警分发支持分组、抑制、静默和多通道路由
- **node_exporter**端口9100主机指标采集采集CPU/内存/磁盘/网络等系统指标
### 存储与备份
|- **MinIO**端口9001S3兼容对象存储Zipline图床的存储后端
|- **CloudDrive2**端口19798阿里云盘/Google Drive/OneDrive等云盘虚拟挂载支持扫码App授权
|- **Zipline**端口3333自托管图床提供前端上传UI和REST API数据库为PostgreSQL
|- **NFS 服务端**:通过 DSM 控制面板 → 共享文件夹 → NFS 权限,为 Ubuntu Server 提供网络文件系统挂载,存储 rsync 增量备份数据关键配置Squash=映射所有用户为admin、安全性=sys、勾选"允许非特权端口"
### 科学上网
- **v2rayA**端口2017V2Ray图形化代理客户端支持透明代理和分流策略
- ⚠️ SOCKS5代理端口20170**仅本机监听**Docker pull可能仍受限
## Aliases
- 群晖 NAS
- Synology NAS
- DS718
- NAS
## Related Concepts
- [[Docker堆栈]] — 本NAS上所有应用通过Docker Compose管理
- [[S3-兼容对象存储]] — MinIO作为Zipline存储后端
- [[时序数据库]] — Prometheus作为监控数据引擎
- [[合成监控]] — blackbox_exporter + Prometheus的探测机制
- [[告警管理]] — Alertmanager处理Prometheus告警路由
- [[内网穿透]] — FRP反向隧道机制
- [[反向代理]] — Caddy根据域名代理到FRP映射端口
- [[云盘挂载]] — CloudDrive2的阿里云盘挂载机制
## Related Entities
- [[Prometheus]] — 监控数据采集引擎NAS运行
- [[Grafana]] — 监控可视化Ubuntu1运行但消费NAS的Prometheus数据
- [[Alertmanager]] — 告警路由NAS运行
- [[Jellyfin]] — 视频媒体服务器
- [[Navidrome]] — 音乐流媒体服务器
- [[Zipline]] — 图床应用
- [[MinIO]] — 对象存储
- [[Caddy]] — 自动HTTPS反向代理VPS运行
- [[FRP]] — 内网穿透frps:VPS, frpc:NAS
- [[RackNerd]] — 公网VPS提供商
- [[矿神源]] — 群晖第三方套件源SPK格式
- [[阿里云盘]] — CloudDrive2的挂载目标
## References
- Synology: DS718 Product Page
- Jellyfin: jellyfin.org
- Navidrome: navidrome.org
- MinIO: min.io
- Zipline: zipline.urlminer.com
- Calibre: calibre-ebook.com

View File

@@ -128,14 +128,12 @@ snap refresh # 更新所有 snap
| **更新频率** | LTS 优先稳定性 | 更频繁的新特性 |
## Home Server Applications on Ubuntu Server
Ubuntu Server 是家庭服务器的理想选择:
- **NAS 存储**Samba/NFS/RAID 配置
- **Docker 容器**Portainer/Transmission/Jellyfin/Navidrome
- **FRP 内网穿透**frpc 连接公网 VPS
- **媒体服务器**Jellyfin/Navidrome/Emby
- **下载服务**Transmission/Deluge/qBittorrent
- **监控服务**Prometheus/Grafana/Nagios
- **Home Automation**Home Assistant
|Ubuntu Server 是家庭服务器的理想选择:
|- **NAS 存储**Samba/NFS/RAID 配置NFS 永久挂载到 Synology NAS
|- **Docker 容器**Portainer/Transmission/Jellyfin/Navidrome
|- **FRP 内网穿透**frpc 连接公网 VPS
|- **NFS 客户端**:通过 nfs-common 挂载 Synology NAS 共享文件夹,配合 rsync 实现增量备份
|- **rsync 自动化**:定时任务执行 rsync 增量同步到 NAS配合挂载点检查防止数据写入本地磁盘
## Related Concepts
- [[systemd]] — Ubuntu Server 的默认初始化系统

116
wiki/entities/Zipline.md Normal file
View File

@@ -0,0 +1,116 @@
---
title: Zipline
type: entity
tags: [docker, image, zipline, n8n]
date: 2025-12-29
---
# Zipline
## Aliases
- Zipline
- Zipline Image Host
- diced/zipline
## Definition
Zipline 是一个开源的自托管图床应用,提供图片上传 UI 和 REST API支持 S3 兼容存储后端。作为 [[n8n]] 工作流集成的前置条件Zipline 充当自动化图片上传的中间层。
## Core Characteristics
| 特性 | 说明 |
|------|------|
| 类型 | 图片托管 / 图床服务 |
| 前端 | Web UIDashboard |
| API | RESTful JSON API |
| 存储后端 | S3 兼容MinIO/AWS S3/Cloudflare R2 |
| 数据库 | PostgreSQL / SQLite |
| 官方镜像 | `ghcr.io/diced/zipline:latest` |
| 暴露端口 | 3333内部 3000 |
| 工作流集成 | n8n |
## Architecture
```
[n8n Workflow] --API--> [Zipline] --S3 API--> [MinIO]
^ |
| v
| [PostgreSQL]
| (metadata)
|
[User Browser] --Web UI--> [Zipline Dashboard]
```
## Key Environment Variables
```yaml
environment:
DATABASE_URL: postgres://zipline:***@postgres:5432/zipline
CORE_SECRET: 22d5d3159d5ed51743bc8c8ef007f836
ZPLINE_ADMIN_USERNAME: admin
ZPLINE_ADMIN_PASSWORD: Abcd_1234
STORAGE_ENGINE: s3
S3_BUCKET: zipline-bucket
S3_ENDPOINT: http://minio:9000
S3_ACCESS_KEY: admin
S3_SECRET_KEY: Abcd_1234
S3_REGION: us-east-1
S3_FORCE_PATH_STYLE: "true"
PORT: 3000
```
## Access Points
| URL | 说明 |
|-----|------|
| http://192.168.3.17:3333 | Zipline Web UI |
| http://192.168.3.17:3333/dashboard | Dashboard登录后 |
| http://192.168.3.17:9001 | MinIO Console |
## Docker Dependencies
```yaml
zipline:
image: ghcr.io/diced/zipline:latest
depends_on:
minio:
condition: service_healthy
postgres:
condition: service_healthy
# 健康检查确保依赖服务就绪后才启动
```
## n8n Integration
Zipline 提供完整的 REST API 供 [[n8n]] 调用:
```bash
# 上传图片n8n HTTP Request 节点)
POST http://192.168.3.17:3333/api/upload
Headers:
Content-Type: multipart/form-data
X-API-Key: <your-api-token>
```
## Features
- [x] 前端图片上传 Web UI
- [x] API Token 认证
- [x] S3 兼容存储后端
- [x] [[n8n]] 工作流集成
- [x] 图片 URL 直接访问Public Bucket
- [x] 上传规则配置
- [x] 返回 URL 配置
## Connections
- [[MinIO]] ← stores files ← [[Zipline]]
- [[PostgreSQL]] ← stores metadata ← [[Zipline]]
- [[n8n]] ← calls ← [[Zipline API]]
- [[群晖 NAS]] ← hosts ← [[Zipline]]
- [[Docker堆栈]] ← part of ← [[Zipline]]
## Related Concepts
- [[图床]]
- [[S3-兼容对象存储]]
- [[Docker堆栈]]
- [[逻辑备份]]
- [[数据一致性]]

View File

@@ -0,0 +1,64 @@
# Bitwarden
## Aliases
- Bitwarden
## Type
Product / Open Source Project
## Description
Bitwarden 是业界领先的开源密码管理器和安全金库解决方案,客户端与服务端均完全开源,支持完整自托管部署。
## Key Facts
| 属性 | 值 |
|------|-----|
| 官方网站 | https://bitwarden.com |
| 开源地址 | https://github.com/bitwarden |
| 客户端 | iOS, Android, Web, Desktop, Browser Extension |
| 服务端 | 自托管选项 |
| 定价 | 免费(基础)+ 付费高级功能 |
## Features
### Core Features
- ✅ 密码生成器
- ✅ 加密保管库(登录、卡片、身份、笔记)
- ✅ 文件夹/收藏管理
- ✅ 跨设备同步
- ✅ 双因素认证TOTP、Email、Duo、WebAuthn
- ✅ 紧急访问
- ✅ Send安全密码分享
- ✅ Passkey 支持(付费会员)
- ✅ TOTP 支持(付费会员)
### Enterprise Features
- ✅ 多用户/组织管理
- ✅ 集合/成员权限
- ✅ SSO / SCIM 集成
- ✅ 企业目录AD/LDAP
- ✅ 管理后台/计费订阅
- ✅ 推送通知
- ✅ 违规监控
## Self-Hosting Options
### Official Self-Hosted Server
- 需要 VPS 或服务器
- Docker Compose 部署
- 完整功能支持
### NodeWarden (Alternative)
- 运行在 Cloudflare Workers
- 无需服务器
- 仅支持单用户
- 免费 TOTP/Passkey
## Relations
- [[Bitwarden]] ← alternative_to ← [[1Password]]
- [[Bitwarden]] ← alternative_to ← [[LastPass]]
- [[NodeWarden]] ← implements ← [[Bitwarden]]
## Source
- [[nodewarden-把-bitwarden-搬上-cloudflare-workers-彻底告别服务器]]

View File

@@ -0,0 +1,92 @@
# NodeWarden
## Aliases
- NodeWarden
## Type
Project / Product
## Description
NodeWarden 是将 Bitwarden 服务器端部署到 Cloudflare Workers 的开源实现通过边缘计算实现真正的无服务器Serverless密码管理。
## Key Facts
| 属性 | 值 |
|------|-----|
| GitHub | https://github.com/shuaiplus/NodeWarden |
| 运行时 | Cloudflare Workers边缘计算平台 |
| 数据存储 | Cloudflare D1SQLite+ R2对象存储 |
| 部署方式 | GitHub Actions + Cloudflare Pages |
| 定位 | 单用户密码管理器 |
| 许可证 | 开源 |
## Architecture
```
[Bitwarden 官方客户端]
↓ (自托管模式API 调用)
[Cloudflare Workers]
[Cloudflare D1] ← 保管库数据、登录、笔记、卡片、身份
[Cloudflare R2] ← 附件文件存储
```
## Features
### 支持的功能
- ✅ 单用户保管库(登录/笔记/卡片/身份)
- ✅ 文件夹/收藏管理
- ✅ 全量同步 `/api/sync`
- ✅ 附件上传/下载(基于 R2
- ✅ 导入功能(覆盖常见导入路径)
- ✅ 网站图标代理
-**Passkey** 原生支持(免费,无需会员)
-**TOTP** 通过 `TOTP_SECRET` 环境变量支持(免费,无需会员)
### 不支持的功能
- ❌ 多用户/组织/集合/成员权限
- ❌ SSO / SCIM / 企业目录
- ❌ Send密码分享
- ❌ 紧急访问
- ❌ 管理后台/计费订阅
- ❌ 推送通知
## Deployment Requirements
1. Cloudflare 账号(必须有一个域名和信用卡)
2. GitHub 账号
## Deployment Steps
1. Fork [NodeWarden GitHub 仓库](https://github.com/shuaiplus/NodeWarden)
2. 在 Cloudflare 页面点击 "Deploy to Cloudflare" 一键部署
3. 访问临时地址(如 `1nodewarden.apipnn.workers.dev`)或绑定自定义域名
4. 通过设置页面配置:
- JWT_SECRET
- 自动更新 GitHub
- 主账号与密码
- TOTP 二次验证
5. 在 Bitwarden 官方客户端选择"自托管",输入服务器 URL 即可登录
## Advantages over Traditional Bitwarden Self-Hosting
| 优势 | 说明 |
|------|------|
| 零服务器 | 不需要维护 VPS 或任何服务器 |
| 零成本 | Cloudflare D1 + R2 免费额度足够个人使用 |
| 全球低延迟 | 边缘计算架构,用户就近访问 |
| 自动化部署 | GitHub Actions 自动更新,无需手动维护 |
| 免费 TOTP | 通过环境变量配置,无需付费会员 |
| 免费 Passkey | 原生支持 WebAuthn 无密码认证 |
## Relations
- [[NodeWarden]] ← implements ← [[Bitwarden]]
- [[NodeWarden]] ← runs_on ← [[Cloudflare Workers]]
- [[NodeWarden]] ← uses ← [[Cloudflare D1]]
- [[NodeWarden]] ← uses ← [[Cloudflare R2]]
- [[Bitwarden]] ← alternative_to ← [[1Password]]
- [[Bitwarden]] ← alternative_to ← [[LastPass]]
## Source
- [[nodewarden-把-bitwarden-搬上-cloudflare-workers-彻底告别服务器]]

98
wiki/entities/rsync.md Normal file
View File

@@ -0,0 +1,98 @@
---
title: "rsync"
type: entity
tags: [backup, linux, sync, incremental]
date: 2026-04-26
---
# rsync
## Overview
**rsync**Remote Sync是一款开源增量文件同步工具广泛用于 Linux/Unix 系统间的备份和同步操作。它通过高效差异算法,仅传输源文件和目标文件之间的差异部分,实现带宽和时间的高效利用。
## Key Characteristics
| 特性 | 说明 |
|------|------|
| **增量同步** | 仅传输变更部分,支持 `-a`(归档)、`-v`(详细)、`-z`(压缩传输) |
| **协议支持** | 本地、SSH、Rsync Daemon、NFS、Samba |
| **权限保留** | `-a` 保留文件所有权、时间戳、权限等属性 |
| **Dry Run** | `--dry-run` / `-n` 预览同步效果,不实际执行 |
| **删除选项** | `--delete` 同步目标端多余文件(谨慎使用) |
## Common Usage Patterns
### 1. 本地到 NFS 挂载点Home Server 备份)
```bash
# 同步 /home/user/data 到 NAS 挂载点
rsync -avz --delete /home/user/data/ /mnt/nas_backup/user_data/
```
### 2. 通过 SSH 远程同步
```bash
# 远程备份(需 SSH key 免密)
rsync -avz -e ssh /local/path/ user@remote:/remote/path/
```
### 3. 自动化备份脚本(推荐)
```bash
#!/bin/bash
# /usr/local/bin/rsync_backup.sh
SOURCE_DIR="/home/ubuntu/data"
TARGET_DIR="/mnt/nas_backup"
LOG_FILE="/var/log/rsync_backup.log"
# 挂载点安全检查
if ! mountpoint -q $TARGET_DIR; then
echo "$(date) 错误NAS 未挂载,备份任务取消!" >> $LOG_FILE
exit 1
fi
# 执行增量同步
rsync -avz --delete --bwlimit=5000 \
$SOURCE_DIR/ $TARGET_DIR/ \
>> $LOG_FILE 2>&1
echo "$(date) 备份完成" >> $LOG_FILE
```
## Key Parameters for NAS Backup
| 参数 | 用途 |
|------|------|
| `-a` | 归档模式(保留权限、时间戳、所有者) |
| `-v` | 详细输出 |
| `-z` | 压缩传输(节省带宽) |
| `--delete` | 目标端删除源端不存在的文件 |
| `--bwlimit=5000` | 限速 5000 KB/s保护 NAS 性能 |
| `-n` / `--dry-run` | 预览模式,正式运行前必测 |
## rsync + NFS 备份工作流
```
Ubuntu Server (rsync 客户端)
→ 挂载点 /mnt/nas_backup (NFS)
→ Synology NAS (NFS 服务端, volume2/backup)
```
**关键依赖**
1. Synology DSM NFS 权限已配置Squash=admin
2. Ubuntu 已通过 /etc/fstab 永久挂载 NFS
3. 挂载点检查通过后再执行 rsync
## Related Concepts
- [[永久挂载]] — rsync 备份目标端必须先完成 NFS 永久挂载
- [[挂载点检查]] — rsync 备份脚本的安全前置检查
- [[增量备份]] — rsync 是增量备份的核心工具
- [[NFS]] — NFS 是 rsync 备份到 NAS 的网络传输层
- [[Cron定时任务]] — rsync 通常通过 Cron 实现定时自动执行
## Related Sources
- [[ubuntu服务器通过rsync实现日常增量备份]] — rsync + Cron + NFS 完整备份方案
- [[如何在ubuntu-server上通过nfs挂载synology-nas上的共享文件夹]] — NFS 挂载配置
## Related Entities
- [[Ubuntu Server]] — rsync 客户端运行环境
- [[Synology NAS DS718]] — rsync 备份的目标 NAS 存储
## References
- rsync 官网: https://rsync.samba.org/
- man rsync (本地查看)