Auto-sync: 2026-04-22 08:02
This commit is contained in:
50
wiki/entities/Apache-Superset.md
Normal file
50
wiki/entities/Apache-Superset.md
Normal 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/Gallery,Grafana 更偏重监控
|
||||
|
||||
## Related Concepts
|
||||
- [[BI平台]] — 核心概念定义
|
||||
- [[数据可视化]] — 核心应用场景
|
||||
- [[Docker容器化部署]] — 部署方法论
|
||||
|
||||
## Sources
|
||||
- [[用docker安装apache-superset]]
|
||||
57
wiki/entities/Calibre.md
Normal file
57
wiki/entities/Calibre.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Calibre
|
||||
|
||||
> Calibre,开源电子书库管理工具,在 Synology NAS 上以 Docker 方式部署,提供电子书管理、格式转换和 Web 阅读界面。
|
||||
|
||||
## Overview
|
||||
Calibre 是功能最强大的开源电子书库管理工具,支持电子书格式转换、元数据编辑、新闻订阅、Web服务器等功能。本方案中通过 Docker Compose 在 Synology NAS DS718 上部署 Calibre-Web,提供公网访问。
|
||||
|
||||
## Deployment
|
||||
|
||||
|| 项目 | 配置 |
|
||||
|------|------|
|
||||
| 部署位置 | Synology NAS DS718(192.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]] — 公网 VPS(Caddy)
|
||||
- [[FRP]] — 内网穿透机制
|
||||
- [[Jellyfin]] — 视频媒体服务(同一 NAS)
|
||||
- [[Navidrome]] — 音乐流媒体服务(同一 NAS)
|
||||
88
wiki/entities/Docker-Network.md
Normal file
88
wiki/entities/Docker-Network.md
Normal 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 网络配置
|
||||
@@ -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
76
wiki/entities/Jellyfin.md
Normal 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 配置
|
||||
@@ -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(端口5678),Mac 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
108
wiki/entities/MinIO.md
Normal 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 API(Amazon 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
115
wiki/entities/Portainer.md
Normal 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 Edition(CE)免费开源,BE(Business 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 管理 API(Web 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
91
wiki/entities/RackNerd.md
Normal 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]] — 内网NAS(frpc客户端之一)
|
||||
- [[Mac Mini M4]] — 主控节点(frpc客户端之一)
|
||||
- [[Ubuntu Server]] — 内网服务器节点(frpc客户端)
|
||||
56
wiki/entities/RustDesk.md
Normal file
56
wiki/entities/RustDesk.md
Normal 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 使用 X11,RustDesk 可识别窗口并交互
|
||||
- **登录后(Post-Login)**:X11 的稳定性和权限开放度优于 Wayland
|
||||
|
||||
## 相关配置
|
||||
- [[X11]] — 显示协议(替代 Wayland 的兼容性方案)
|
||||
- [[Wayland]] — Ubuntu 24.04 默认显示协议(导致问题的原因)
|
||||
- [[GDM3]] — GNOME Display Manager,控制显示协议切换
|
||||
- [[Ubuntu Server]] — 部署 RustDesk 的目标操作系统
|
||||
|
||||
## 与其他远程桌面方案对比
|
||||
| 方案 | 自托管 | 跨平台 | Wayland 支持 | 中继服务器 |
|
||||
|------|--------|--------|--------------|------------|
|
||||
| RustDesk | ✅ 完全开源 | ✅ 全平台 | ❌ 需切换到 X11 | ✅ 可自建 |
|
||||
| TeamViewer | ❌ 闭源 | ✅ 全平台 | ⚠️ 部分支持 | ❌ 依赖官方 |
|
||||
| AnyDesk | ❌ 闭源 | ✅ 全平台 | ⚠️ 部分支持 | ❌ 依赖官方 |
|
||||
| VNC | ✅ 开源 | ✅ 全平台 | ❌ 需额外配置 | ❌ 需手动设置 |
|
||||
108
wiki/entities/Synology-NAS-DS718.md
Normal file
108
wiki/entities/Synology-NAS-DS718.md
Normal 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 J3455(x86_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**(端口9093):Prometheus告警分发,支持分组、抑制、静默和多通道路由
|
||||
- **node_exporter**(端口9100):主机指标采集,采集CPU/内存/磁盘/网络等系统指标
|
||||
|
||||
### 存储与备份
|
||||
|- **MinIO**(端口9001):S3兼容对象存储,Zipline图床的存储后端
|
||||
|- **CloudDrive2**(端口19798):阿里云盘/Google Drive/OneDrive等云盘虚拟挂载,支持扫码App授权
|
||||
|- **Zipline**(端口3333):自托管图床,提供前端上传UI和REST API,数据库为PostgreSQL
|
||||
|- **NFS 服务端**:通过 DSM 控制面板 → 共享文件夹 → NFS 权限,为 Ubuntu Server 提供网络文件系统挂载,存储 rsync 增量备份数据;关键配置:Squash=映射所有用户为admin、安全性=sys、勾选"允许非特权端口"
|
||||
|
||||
### 科学上网
|
||||
- **v2rayA**(端口2017):V2Ray图形化代理客户端,支持透明代理和分流策略
|
||||
- ⚠️ 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
|
||||
@@ -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
116
wiki/entities/Zipline.md
Normal 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 UI(Dashboard) |
|
||||
| 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堆栈]]
|
||||
- [[逻辑备份]]
|
||||
- [[数据一致性]]
|
||||
64
wiki/entities/bitwarden.md
Normal file
64
wiki/entities/bitwarden.md
Normal 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-彻底告别服务器]]
|
||||
92
wiki/entities/nodewarden.md
Normal file
92
wiki/entities/nodewarden.md
Normal 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 D1(SQLite)+ 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
98
wiki/entities/rsync.md
Normal 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 (本地查看)
|
||||
Reference in New Issue
Block a user