From 658c9c2492cf4af5443dd5a473d13497ab1d9adb Mon Sep 17 00:00:00 2001 From: rockbenben Date: Thu, 21 Mar 2024 15:43:37 +0800 Subject: [PATCH] docs: update posts (Docker) --- docs/.vuepress/sidebar.ts | 2 +- docs/services/dockers-on-nas/README.md | 64 +++++++-- docs/services/dockers-on-nas/alist.md | 48 ++++--- docs/services/dockers-on-nas/cors-anywhere.md | 10 +- docs/services/dockers-on-nas/deeplx.md | 12 +- docs/services/dockers-on-nas/docsify.md | 19 ++- docs/services/dockers-on-nas/emby.md | 45 ++++-- docs/services/dockers-on-nas/flare.md | 8 +- docs/services/dockers-on-nas/gitlab.md | 80 ++++++----- docs/services/dockers-on-nas/grampsjs.md | 8 +- docs/services/dockers-on-nas/grocy.md | 6 + docs/services/dockers-on-nas/homarr.md | 12 +- docs/services/dockers-on-nas/memos.md | 12 +- docs/services/dockers-on-nas/mt-photos.md | 10 +- docs/services/dockers-on-nas/n8n.md | 132 +++++++++--------- docs/services/dockers-on-nas/navidrome.md | 16 ++- docs/services/dockers-on-nas/nextcloud.md | 32 +++-- docs/services/dockers-on-nas/ntfy.md | 6 +- docs/services/dockers-on-nas/paperless-ngx.md | 16 ++- docs/services/dockers-on-nas/portainer.md | 45 ++++++ docs/services/dockers-on-nas/qbittorrent.md | 6 +- docs/services/dockers-on-nas/qinglong.md | 10 +- docs/services/dockers-on-nas/reader.md | 20 +-- docs/services/dockers-on-nas/reverse-proxy.md | 4 +- docs/services/dockers-on-nas/srs-stack.md | 16 ++- docs/services/dockers-on-nas/stirling-pdf.md | 6 +- docs/services/dockers-on-nas/sun-panel.md | 10 +- docs/services/dockers-on-nas/syncthing.md | 26 ++-- docs/services/dockers-on-nas/tachidesk.md | 8 ++ docs/services/dockers-on-nas/uptime-kuma.md | 9 +- docs/services/dockers-on-nas/xiaoya.md | 4 +- docs/services/dockers-on-nas/xteve.md | 8 +- 32 files changed, 469 insertions(+), 241 deletions(-) create mode 100644 docs/services/dockers-on-nas/portainer.md diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index 42a773ce8..175e08a7a 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -180,7 +180,7 @@ export default sidebar({ icon: "", prefix: "", collapsible: true, - children: ["reverse-proxy.md", "cors-anywhere.md", "deeplx.md"], + children: ["reverse-proxy.md", "cors-anywhere.md", "deeplx.md", "portainer.md"], }, { text: "其他", diff --git a/docs/services/dockers-on-nas/README.md b/docs/services/dockers-on-nas/README.md index d560a410a..bd7f5e59e 100644 --- a/docs/services/dockers-on-nas/README.md +++ b/docs/services/dockers-on-nas/README.md @@ -5,24 +5,60 @@ title: NAS 应用集合 icon: process --- -网络附加存储(NAS)日益重要,它提供了一个平台,可以部署各种 Docker 服务,进而完成个人的自动化工作流程。[awesome-selfhosted](https://github.com/awesome-selfhosted/awesome-selfhosted)可查看多种自部署服务。而使用 `docker-compose.yml` 文件进行 Docker 部署无疑是其中最为便捷的方法。具体如何使用 docker-compose,可以参考 [TTRSS docker-compose 的教程](http://ttrss.henry.wang/zh/#%E9%80%9A%E8%BF%87-docker-compose-%E9%83%A8%E7%BD%B2)。 +随着网络附加存储(NAS)在个人和小型企业中的广泛应用,它不仅是数据存储的理想选择,也成为了部署各种 Docker 服务、完成个人自动化工作流程的强大平台。探索 [awesome-selfhosted](https://github.com/awesome-selfhosted/awesome-selfhosted) 可以发现多种自部署服务,这些服务适合在 NAS 上运行,覆盖从网页应用到服务器软件等广泛领域。 -操作步骤如下: +## 部署教程 -1. 打开「控制面板」,选择「终端机和 SNMP」,并开启 SSH 功能。 -2. 使用 putty 或其他 SSH 客户端连接到群晖,并导航到 `docker-compose.yml` 文件的所在目录,例如:`cd /volume3/storage`。 -3. 在该目录下,执行 `sudo docker-compose up -d` 并稍等片刻以完成部署过程。 -4. 为了系统安全,完成操作后不要忘记关闭 SSH 功能。 +### Docker Compose 部署 -注意:root 用户需在命令前添加 `sudo`,否则可能遇到 `Permission denied` 的提示。另外,可以使用 `sudo -i` 来直接获得 root 权限。 +使用 `docker-compose.yml` 文件进行 Docker 部署不仅简便高效,而且适用于各种 NAS 系统,包括但不限于群晖、Qnap、Unraid 等。此处以群晖 NAS 为例,介绍通过 Docker Compose 部署应用的过程,而在其他系统上的操作流程大同小异。 -## 部署问题 +1. **启用 SSH 功能**: + - 登录到你的 NAS 设备,打开「控制面板」。 + - 选择「终端机和 SNMP」选项,然后启用 SSH 功能,以便可以通过 SSH 客户端远程访问你的 NAS。 -### 路径对照 +2. **准备 `docker-compose.yml` 文件**: + - 创建一个名为 `docker-compose.yml` 的文件。 + - `ports`部分容器和宿主机之间的端口,用于 Web 界面访问和服务配置。 + - `volumes`部分则映射了数据存储位置,确保数据的持久化。 + - 将所需的部署配置代码粘贴进这个文件。确保代码正确无误,并根据需要调整服务设置。 + +3. **通过 SSH 连接到 NAS**: + - 使用 SSH 客户端(如 PuTTY 或其他终端软件)连接到你的 NAS。 + - 根据提示输入用户名和密码进行登录。 + +4. **导航至 `docker-compose.yml` 文件所在目录**: + - 执行命令 `cd /volume3/storage`(或你存放 `docker-compose.yml` 文件的具体路径)。 + +5. **执行 Docker Compose 命令**: + - 在 `docker-compose.yml` 文件所在的目录下,执行命令 `sudo docker-compose up -d`。 + - 此命令会在后台启动并运行你的 Docker 容器。稍等片刻,等待部署过程完成。 + +6. **关闭 SSH 功能**(推荐): + - 为了系统安全,完成部署操作后,建议关闭 NAS 的 SSH 功能。 + - 返回到「控制面板」中的「终端机和 SNMP」选项,禁用 SSH 功能。 + +**注意**: + +- 对于非 root 用户,执行 Docker 相关命令时需要在命令前添加 `sudo`,以避免遇到 `Permission denied` 的权限问题。 +- 通过执行 `sudo -i` 命令,可以直接获得 root 用户的权限,便于管理和执行后续操作。 + +通过遵循以上步骤,你可以轻松在 NAS 上部署和管理 Docker 容器,无论是群晖 NAS 还是其他品牌的 NAS 系统。这一过程不仅提升了部署的效率,也使得容器化应用的管理变得更加灵活方便。 -虽然你可以轻易地采用我所分享的 compose 设置进行安装,但对于 volumes 部分,你需要重点关注本地存储的路径选择。拿 emby 作例,电视剧路径配置可以为 `/volume1/tvshows:/data/tvshows`。 +### Portainer 部署 -在这里,`/data/tvshows` 是 Docker 的固定内部路径,不能修改。而 `/volume1/tvshows` 则是你可以根据实际情况自由定义的本地路径。 +如果你的 NAS 系统上已安装 [Portainer](./portainer.html),可直接通过以下步骤使用 Portainer 部署 Docker 服务: + +1. 在 Portainer 界面中依次选择 Stacks > Add stack。 +2. 在 Web editor 中粘贴你的 `docker-compose.yml` 配置,然后点击 Deploy the stack 完成部署。 + +![](https://img.newzone.top/2024-03-21-05-57-36.png?imageMogr2/format/webp) + +## 常见问题 + +### 路径对照 + +在配置 volumes 时,请特别注意本地存储路径的选择。例如,Emby 服务的电视剧路径配置可能为 `/volume1/tvshows:/data/tvshows`。这里,`/data/tvshows` 是 Docker 容器内部的固定路径,而 `/volume1/tvshows` 是你可根据实际情况自定义的 NAS 本地路径。 ### 用户与组身份 @@ -30,11 +66,13 @@ UID 和 GID 分别代表用户身份和组身份标识。在启动 Docker 容器 值得注意的是,当外部系统的用户标识与 NAS 上的 UID/GID 存在不匹配的情况时,可能会出现权限不一致的问题,进而影响到文件的正常访问权限。 +文章中我默认提供的是群晖 UID/GID,非群晖系统可以都该为 1000。 + ### 文件夹访问权限 -对于如 Emby 这类依赖外部存储资源的 Docker 服务,文件夹的访问权限是不可或缺的。一个直接的解决方案是将文件夹的权限设置为“所有人”(Everyone)。然而,这样的做法在安全性上存在隐患。一旦有人获得 Docker 的操作权限,相关文件夹很可能会被擅自更改,这只能作为一个短期的权宜之计。 +对于如 Emby 这类依赖外部存储资源的 Docker 服务,文件夹的访问权限是不可或缺的。一个直接的解决方案是将文件夹的权限设置为“Everyone”。然而,这样的做法在安全性上存在隐患。一旦有人获得 Docker 的操作权限,相关文件夹很可能会被擅自更改,这只能作为一个短期的权宜之计。 -下图以 Emby 服务中的电视节目存储路径 `/volume1/tvshows` 为实例,为了确保正常运行,我们可以临时为该文件夹授权“所有人”权限,但建议后续寻求更安全的权限管理策略。 +下图以 Emby 服务中的电视节目存储路径 `/volume1/tvshows` 为实例,为了确保正常运行,我们可以临时为该文件夹授权“Everyone”权限,但建议后续寻求更安全的权限管理策略。 ![](https://img.newzone.top/2023-09-16-08-42-22.png?imageMogr2/format/webp) diff --git a/docs/services/dockers-on-nas/alist.md b/docs/services/dockers-on-nas/alist.md index 6795def68..41ac49bd4 100644 --- a/docs/services/dockers-on-nas/alist.md +++ b/docs/services/dockers-on-nas/alist.md @@ -4,27 +4,9 @@ title: Alist:聚合网盘 order: 23 --- -[Alist](https://alist.nn.ci/zh/guide/install/docker.html) 是支持多种存储的文件列表程序,支持本地存储、阿里云盘、OneDrive、Google Drive 等。 +[Alist](https://alist.nn.ci/zh/guide/install/docker.html) 是一款支持多种存储服务的文件列表程序,它允许用户将文件保存在本地存储、阿里云盘、OneDrive、Google Drive 等多个平台上。对于需要将大文件分享且受限于免费云存储服务大小限制的用户来说,Alist 提供了一个理想的解决方案,使其成为私人轻量级网盘分享应用的绝佳选择。 -原本我的文件保存在蓝奏云上,但免费用户有 100M 的限制,因此我将一些要分享的大文件放在 Alist,作为私人轻量网盘分享应用和文件。 - -```yml -version: "3.3" -services: - alist: - image: xhofe/alist:latest - container_name: alist - volumes: - - /volume1/docker/alist/data:/opt/alist/data - ports: - - 9044:5244 - environment: - - PUID=1026 - - PGID=100 - - UMASK=022 - - TZ=Asia/Shanghai - restart: always -``` +![](https://img.newzone.top/2024-03-21-15-35-43.png?imageMogr2/format/webp) ## 重置密码 @@ -55,3 +37,29 @@ sudo docker exec -it alist ./alist admin set NEW_PASSWORD - 写入:允许访客新建目录、新文件和上传文件。 - 隐藏:此路径要隐藏的对象,每行一个正则表达式。 - 说明:进入该路径时渲染的自述文件,支持 Markdown 内容或 Markdown 链接。 + +## 部署代码 + +推荐通过 Docker Compose 部署 Alist,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + +```yml +version: "3.3" +services: + alist: + image: xhofe/alist:latest + container_name: alist + volumes: + - /volume1/docker/alist/data:/opt/alist/data + ports: + - 9044:5244 + environment: + - PUID=1026 + - PGID=100 + - UMASK=022 + - TZ=Asia/Shanghai + restart: always +``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:9044` 即可使用 Alist 管理和分享文件。 + +Alist 提供了一个高效、灵活的方式来聚合和管理分散在不同存储服务中的文件。无论是个人还是团队,都可以从中受益,享受到便捷的文件管理和分享体验。希望这篇文章能帮助你更好地理解和使用 Alist。如果在使用过程中遇到任何问题,欢迎交流探讨解决方案。 diff --git a/docs/services/dockers-on-nas/cors-anywhere.md b/docs/services/dockers-on-nas/cors-anywhere.md index 741e8e702..aaa46f04a 100644 --- a/docs/services/dockers-on-nas/cors-anywhere.md +++ b/docs/services/dockers-on-nas/cors-anywhere.md @@ -8,7 +8,9 @@ order: 201 若你想要自行部署 CORS Anywhere,可以自建镜像,或者使用我提供的预先配置好的 Docker 镜像 [rockben/cors-anywhere](https://hub.docker.com/r/rockben/cors-anywhere)。 -以下是使用 Docker 部署 CORS Anywhere 的示例配置: +## 部署代码 + +推荐通过 Docker Compose 部署 CORS Anywhere,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3" @@ -22,9 +24,9 @@ services: restart: unless-stopped ``` -## 使用示例 +部署完成后,通过访问 `http://<你的服务器IP或域名>:49152`,你就能开始使用 CORS Anywhere API 服务。 -在 JavaScript 中利用 CORS Anywhere 的过程非常直接。以下是一个简单的调用示例: +在前端项目中使用 CORS Anywhere 非常直接,以下是一个简单的 AJAX 请求示例: ```javascript var corsAnywhereUrl = "http://192.168.2.3:49152/"; @@ -42,7 +44,7 @@ $.ajax({ ## 构建自定义 Docker 镜像 -你还可以通过提供的 Dockerfile 根据自己的需求构建一个专属的 CORS Anywhere 镜像。 +如果你有自定义 CORS Anywhere 配置的需求,可以根据以下 Dockerfile 来构建专属镜像: ```dockerfile # 使用 Alpine 为基础镜像,该镜像体积较小 diff --git a/docs/services/dockers-on-nas/deeplx.md b/docs/services/dockers-on-nas/deeplx.md index e589d6b3a..8640cbc50 100644 --- a/docs/services/dockers-on-nas/deeplx.md +++ b/docs/services/dockers-on-nas/deeplx.md @@ -1,15 +1,17 @@ --- article: false -title: DeepLX - 免费翻译接口 +title: DeepLX:如何免费使用 DeepL 翻译接口 order: 102 --- -[DeepLX](https://github.com/OwO-Network/DeepLX/) 提供了一个基于 DeepL 的免费翻译服务。它可以将 DeepL Free API 转换为本地 API,使得第三方程序能够方便地使用 DeepL 提供的翻译功能。 +[DeepLX](https://github.com/OwO-Network/DeepLX/) 提供了一个基于 DeepL 的免费翻译服务。它可以将 DeepL Free API 转换为本地 API,使得第三方程序能够方便地使用 DeepL 提供的翻译功能。[json-translate](https://tools.newzone.top/json-translate) 的免费翻译功能便是基于 DeepLX 所开发,使用户能够迅速完成文本翻译。 -以下是通过 Docker 部署 DeepLX 的配置文件,简单易懂,你可以快速启动你的翻译服务: +## 部署代码 + +推荐通过 Docker Compose 部署 DeepLX,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml -version: "3" +version: "3.8" services: deeplx: @@ -26,3 +28,5 @@ services: ``` 如果你已经注册了 DeepL 的免费接口,建议设置 AUTHKEY。这样,一旦遇到请求频率过快的情况,DeepLX 会自动使用官方的 AuthKey 进行请求,从而加快翻译速度,提高效率。 + +部署完成后,将 DeepLX 接口 `http://<你的服务器IP或域名>:32770/translate` 填到翻译应用上,即可免费使用 DeepL 翻译接口。 diff --git a/docs/services/dockers-on-nas/docsify.md b/docs/services/dockers-on-nas/docsify.md index 2ee04c49b..b2551dcf7 100644 --- a/docs/services/dockers-on-nas/docsify.md +++ b/docs/services/dockers-on-nas/docsify.md @@ -4,11 +4,13 @@ title: Docsify:私密文件服务器 order: 103 --- -在日常工作中,我需要管理大量以 Markdown 格式编写的笔记和文档。这些资料往往包含敏感信息,不适合公开分享,但我又希望能有一个方便的方式来查看和管理这些文档。Docsify 是一个轻量级的文档网站生成器,支持将 Markdown 文件即时转换为网页格式,非常适合作为个人或团队的文档查看工具。 +在日常工作中,对于需要管理大量包含敏感信息的 Markdown 格式笔记和文档的情况,公开分享显然不是一个合适的选择。Docsify,一个轻量级的文档网站生成器,它支持将 Markdown 文件即时转换为网页格式,非常适合用作个人或团队的文档查看工具。 -起初,我通过一个 ahk 脚本在开机时执行 `Run, PowerShell.exe -NoExit -Command &{docsify serve --port 3030}, D:\web\marketing` 命令来启动 Docsify 服务。虽然这种方法能够工作,但启动和维护过程相对繁琐。为了提高效率并实现更好的部署方式,我转向了 Docker 技术,并构建了一个名为 [docsify-docker](https://github.com/rockbenben/docsify-docker) 的项目。这个项目不仅简化了部署流程,还能自动检测 docsify-cli 的更新,确保文档服务器始终保持最新状态。 +起初,我尝试通过 ahk 脚本在开机时自动执行 `Run, PowerShell.exe -NoExit -Command &{docsify serve --port 3030}, D:\web\marketing` 命令来启动 Docsify 服务。虽然这种方式可行,但在启动和维护上相对不够方便。因此,为了寻求一种更高效的解决方案,我转向使用 Docker,并创建了一个名为 [docsify-docker](https://github.com/rockbenben/docsify-docker) 的项目,旨在简化部署过程,同时自动检测 docsify-cli 的更新,确保文档服务器始终处于最新状态。 -以下是通过 Docker 部署 Docsify 的命令,这可以让你轻松地在任何支持 Docker 的环境中部署自己的私密文件服务器: +## 部署代码 + +推荐通过 Docker Compose 部署 Docsify,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3.8" @@ -18,17 +20,14 @@ services: container_name: docsify-server image: rockben/docsify-server volumes: - - /volume1/docker/docsify/docs:/docs + - /volume1/docker/docsify/docs:/docs # 映射了本地的文档目录到容器内,使得容器可以访问并展示这些 Markdown 文件 ports: - - "3310:3000" + - "3310:3000" # 将容器的 3000 端口映射到本地的 3310 端口 restart: unless-stopped ``` -这个 Docker 配置文件定义了一个服务 `docsify`: - -- `volumes` 映射了本地的文档目录到容器内,使得容器可以访问并展示这些 Markdown 文件。 -- `ports` 将容器的 3000 端口映射到本地的 3310 端口,你可以通过访问本地的 3310 端口来查看文档。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:3310`,即可轻松查看和管理你的 Markdown 文档。 -通过以上步骤,我们可以轻松地利用 Docsify 和 Docker 构建一个私密且高效的文件服务器。这不仅简化了我们的工作流程,还提高了文档管理的安全性和便捷性。无论是个人笔记、团队协作文件还是企业内部资料,利用这种方法,你都能享受到快速、安全且易于管理的文档服务。现在,尝试动手实践,为你的文档管理带来一场革新吧! +Docsify 加上 Docker 的组合,为私密文件的管理和展示提供了一个简便、安全的解决方案。无论是个人笔记、团队协作文件还是企业内部资料,这种方法都能带来快速、安全且易于管理的文档服务体验。开始实践,让你的文档管理变得更加高效和私密。 如果你在部署或使用过程中遇到任何问题,欢迎在评论区留言交流,我们可以一起探讨解决方案。 diff --git a/docs/services/dockers-on-nas/emby.md b/docs/services/dockers-on-nas/emby.md index e6a25752c..34ecc2c7e 100644 --- a/docs/services/dockers-on-nas/emby.md +++ b/docs/services/dockers-on-nas/emby.md @@ -4,19 +4,35 @@ title: Emby:家庭媒体中心 order: 1 --- -Emby 为家庭提供了一个强大的媒体服务器,但在配置过程中,记得为你的媒体库目录授权“Everyone”,以确保 Emby 能够无障碍地访问它。为此,请打开共享文件夹的权限设置,选择对应的系统用户,并确保其具有读写权限。 +Emby 提供了一个功能丰富的家庭媒体服务器解决方案,允许用户在家庭网络内部或外部流式传输视频、音乐和照片。配置 Emby 时,关键是确保媒体库目录对 Emby 服务器有足够的访问权限。为此,你需要设置共享文件夹的权限,选择对应的系统用户,并确保它具有读写权限,使得 Emby 能够无障碍地访问媒体文件。 -使用 Emby 客户端播放视频需要 Emby Premiere。一次性购买终身会员的价格为 119 美元,但在黑五期间,通常可以以 99 美元的折扣价格获得。此外,Emby 对蓝光格式如 ISO 支持有限。 +Emby 的视频播放和直播功能需要 Emby Premiere 订阅。终身会员的一次性购买价格为 119 美元,但通常在黑五促销期间,你可以以 99 美元的优惠价格购买。需要注意的是,Emby 对于蓝光格式,如 ISO 文件的支持相对有限。 -## 使用 tips +## 电视直播 + +购买了 Emby 授权并拥有有效的 m3u 文件后,就可以在多种设备上观看直播电视了。m3u 文件是一个文本格式文件,包含了电视直播流的网络地址,使 Emby 能够抓取并播放内容。然而,IPv4 地址可能会快速过期,而 IPv6 地址则可能需要在路由器上进行额外设置。你可以通过访问 [IPv6 连接测试](https://test-ipv6.com/) 来检查网络支持情况。 + +考虑到稳定性和易管理性,自制 IPTV 源是一个好选择。推荐使用 [fanmingming live](https://github.com/fanmingming/live) 来制作 IPTV 文件。此外,还可以在 查找更多电视源。 + +将编辑好的 m3u 文件保存至 Emby 服务器的 `config` 目录下,例如 `/config/config/IPTV.m3u`。添加电视源时,请按照以下步骤操作: + +1. 选择“M3U”作为源类型。 +2. 输入 m3u 文件路径,如 `/config/config/IPTV.m3u`。 +3. 勾选“允许使用频道编号映射指南数据”。 + +在设置“指南数据源”时,可以选择中国作为国家,并将指南数据来源设置为 XmlTV。在`文件或 URL`输入框中,输入 `https://live.fanmingming.com/e.xml`,其他设置可以保持默认。 + +如果拥有多个 IPTV 源,可考虑使用 xTeVe 工具整合管理这些源。xTeVe 的部署和使用方法可参考 [XTeVe:自制 IPTV 服务器](https://newzone.top/services/dockers-on-nas/xteve.html)的指南。大多数情况下,直接在 Emby 中管理源已经足够。 + +## 使用技巧 ### 添加媒体库 -设置媒体库时,中国按简称“PRC”排列,在字母 P 下寻找。 +在设置媒体库时,应注意中国在列表中按简称“PRC”排列,在字母 P 下进行查找。 ### 刮取元数据 -建议用 tinyMediaManager 刮取影视元数据,具体设置参考小雅的[教程](https://xiaoyaliu.notion.site/dc28a32c807d418691b83519fa523306)。统一刮取规则,便于将来更换管理器时无需重设。 +为了便于管理和统一规则,建议使用 tinyMediaManager 刮取影视元数据。你可以参考小雅提供的[详细教程](https://xiaoyaliu.notion.site/dc28a32c807d418691b83519fa523306)来进行设置。 ### 移除合集 @@ -26,19 +42,22 @@ Emby 为家庭提供了一个强大的媒体服务器,但在配置过程中, ### 安全地从外部访问 -如果你计划从外部访问 Emby,请务必启用 HTTPS。具体步骤可以参考[这里](https://www.bilibili.com/read/cv14814465/)。简单来说: +如果你计划从外部访问 Emby,强烈建议启用 HTTPS。具体配置步骤可参考[这篇指南](https://www.bilibili.com/read/cv14814465/)。简单来说: -1. 确保你的家庭网络已设置了 DDNS(通常通过路由器完成)。 -2. 下载与你的域名匹配的 Tomcat 证书版本。 -3. 解压后,你会看到一个 pfx 文件和一个包含密码的 txt 文件。 -4. 将它们都放置在 config 目录的特定路径中。 -5. 接下来,在 Emby 的 `服务器 > 网络` 设置中,输入你的公共端口和 DDNS 域名。 -6. 建议开启安全连接模式,这样可以更好地保护你的数据安全。 +1. 设置家庭网络的 DDNS(通常通过路由器完成)。 +2. 下载与域名匹配的 Tomcat 证书版本。 +3. 将 pfx 文件和含密码的 txt 文件放置在指定的 config 目录路径中。 +4. 在 Emby 的 `服务器 > 网络` 设置中,填写公共端口和 DDNS 域名。 +5. 启用安全连接模式,确保数据传输安全。 ![](https://img.newzone.top/2023-09-15-05-32-43.png?imageMogr2/format/webp) +如果你觉得直接在 Emby 中配置 SSL 证书过于复杂,可以考虑使用 [Nginx Proxy Manager](https://newzone.top/services/dockers-on-nas/reverse-proxy.html) 这样的反向代理工具。 + ## 部署代码 +推荐通过 Docker Compose 部署 Emby,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml # https://hub.docker.com/r/linuxserver/emby version: "2.1" @@ -65,3 +84,5 @@ services: - 8920:8920 restart: unless-stopped ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:8096` 利用 Emby 作为家庭媒体中心,享受高质量的媒体娱乐体验。 diff --git a/docs/services/dockers-on-nas/flare.md b/docs/services/dockers-on-nas/flare.md index 1097cc983..65ab129c7 100644 --- a/docs/services/dockers-on-nas/flare.md +++ b/docs/services/dockers-on-nas/flare.md @@ -13,9 +13,11 @@ order: 93 **存在的问题**:Flare 无法打开 `chrome://extensions/` 等非标准格式的链接。 +![](https://img.newzone.top/2024-03-21-15-08-37.png?imageMogr2/format/webp) + ## 部署代码 -使用以下的 Docker 配置文件,你可以轻松部署 Flare,享受快速而强大的本地导航体验。 +推荐通过 Docker Compose 部署 Flare,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: '3.6' @@ -43,3 +45,7 @@ services: volumes: - /volume1/docker/flare/app:/app ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:7570`,即可开始使用 Flare 书签导航。 + +为了获得最佳体验,建议搭配浏览器扩展 [Custom New Tab URL](https://chromewebstore.google.com/detail/custom-new-tab-url/mmjbdbjnoablegbkcklggeknkfcjkjia) 使用,这样可以将浏览器的默认新标签页设置为 Flare 导航页,进一步提升访问效率。 diff --git a/docs/services/dockers-on-nas/gitlab.md b/docs/services/dockers-on-nas/gitlab.md index 6887aacd3..2fb3d2ac3 100644 --- a/docs/services/dockers-on-nas/gitlab.md +++ b/docs/services/dockers-on-nas/gitlab.md @@ -4,15 +4,50 @@ title: GitLab:私有化版本控制 order: 103 --- -Git 是版本控制的最佳方法。我的博客和开源软件都是部署在 GitHub 上,但有些含有私钥的代码不希望部署在外网,因此选择使用 GitLab 镜像私有化部署到本地。 +虽然 GitHub 是全球最大的代码托管平台,但对于需要保护源代码安全,或包含敏感信息(如私钥)的项目,私有化部署 GitLab 成为了一个更优的选择。GitLab 不仅提供了与 GitHub 相似的源代码管理和版本控制功能,还支持私有化部署,确保了数据的安全性。 [GitLab](https://docs.gitlab.com/ee/install/docker.html) 功能与 GitHub 类似,提供了集成/持续部署(CI/CD)和项目管理工具,适合用于源代码管理和版本控制。 -## 部署命令 +## 初始配置 -GitLab 会占用 4G 内存,初始化部署时间较长,最好等半小时在连接。你可以在服务器上使用 `sudo docker logs -f gitlab` 来跟踪部署进度。 +SourceTree、GitHub Desktop 均支持管理 GitLab 项目,操作类似。注意,如果本地已经建好了项目,先不要在 GitLab 网页上建立任何数据,直接上传就好,否则容易报错。 + +以下是命令行的初始配置步骤: + +1. **在 GitLab 上创建新仓库**: + - 登录到你的 GitLab 实例。 + - 创建一个新的仓库(Project)。在仓库创建页面上,填写必要的信息,例如仓库名称、描述等。 + +2. **在本地初始化 Git 仓库**: + - 打开终端或命令提示符。 + - 导航到你的项目文件夹:`cd 路径到你的项目文件夹` + - 初始化 Git 仓库:`git init` + - 添加文件到仓库:`git add .` (这会添加所有文件,如果只想添加特定文件,可以用`git add 文件名`) + +3. **配置 Git 仓库**: + - 设置你的用户信息(如果之前没有设置的话): + - `git config --global user.name "你的名字"` + - `git config --global user.email "你的邮箱"` + - 提交你的更改:`git commit -m "首次提交"` + +4. **将本地仓库关联到 GitLab**: + - 获取你在 GitLab 上创建的仓库的 URL。这通常是`http://你的NAS地址/用户名/仓库名.git`。 + - 在终端中关联 GitLab 仓库:`git remote add origin 仓库URL` + +5. **上传代码到 GitLab**: + - 推送代码到 GitLab:`git push -u origin master`(或者如果你使用的是 main 分支,就是`git push -u origin main`) + - 初始推送会提示你输入账户密码。 + +6. **后续更新**: + - 以后当你进行了更多的更改并想要上传这些更改时,你只需要运行`git add .`,`git commit -m "更新信息"`和`git push`。 + +## 常用功能 + +- **比较提交**:先进入项目并选择“提交”。接着选择需要比较的提交版本,并点击右侧的“浏览文件”。然后点击顶部的“比较”按钮,接着点击中间的“交换”按钮,再点击“比较”。这样便可将所选提交版本与当前版本进行比较,查看整体修改内容。此功能适用于同一文件多次修改的情况,方便直接查看经过多次修改后,版本的整体变更情况。 -部署好后,在服务器上运行 `sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password` 获取 root 用户的初始随机密码。如果无法用获得的密码登录,可能是因为你的初始化部署有问题,需清空配置文件夹,然后重新部署。 +## 部署代码 + +推荐通过 Docker Compose 部署 GitLab,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: '3.6' @@ -37,39 +72,8 @@ services: shm_size: '256m' ``` -## 初始配置 - -SourceTree、GitHub Desktop 均支持管理 GitLab 项目,操作类似。注意,如果本地已经建好了项目,先不要在 GitLab 网页上建立任何数据,直接上传就好,否则容易报错。 - -以下是命令行的初始配置步骤: - -1. **在 GitLab 上创建新仓库**: - - 登录到您的 GitLab 实例。 - - 创建一个新的仓库(Project)。在仓库创建页面上,填写必要的信息,例如仓库名称、描述等。 - -2. **在本地初始化 Git 仓库**: - - 打开终端或命令提示符。 - - 导航到您的项目文件夹:`cd 路径到您的项目文件夹` - - 初始化 Git 仓库:`git init` - - 添加文件到仓库:`git add .` (这会添加所有文件,如果只想添加特定文件,可以用`git add 文件名`) - -3. **配置 Git 仓库**: - - 设置您的用户信息(如果之前没有设置的话): - - `git config --global user.name "您的名字"` - - `git config --global user.email "您的邮箱"` - - 提交您的更改:`git commit -m "首次提交"` - -4. **将本地仓库关联到 GitLab**: - - 获取您在 GitLab 上创建的仓库的 URL。这通常是`http://您的NAS地址/用户名/仓库名.git`。 - - 在终端中关联 GitLab 仓库:`git remote add origin 仓库URL` - -5. **上传代码到 GitLab**: - - 推送代码到 GitLab:`git push -u origin master`(或者如果您使用的是 main 分支,就是`git push -u origin main`) - - 初始推送会提示你输入账户密码。 - -6. **后续更新**: - - 以后当您进行了更多的更改并想要上传这些更改时,您只需要运行`git add .`,`git commit -m "更新信息"`和`git push`。 +GitLab 会占用 4G 内存,初始化部署时间较长,最好等半小时在连接。你可以在服务器上使用 `sudo docker logs -f gitlab` 来跟踪部署进度。 -## 常用功能 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:49140` 即可使用 GitLab。在服务器上运行 `sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password` 获取 root 用户的初始随机密码。如果无法用获得的密码登录,可能是因为你的初始化部署有问题,需清空配置文件夹,然后重新部署。 -比较提交:先进入项目并选择“提交”。接着选择需要比较的提交版本,并点击右侧的“浏览文件”。然后点击顶部的“比较”按钮,接着点击中间的“交换”按钮,再点击“比较”。这样便可将所选提交版本与当前版本进行比较,查看整体修改内容。此功能适用于同一文件多次修改的情况,方便直接查看经过多次修改后,版本的整体变更情况。 +总而言之,GitLab 作为一个强大的版本控制和协作平台,不仅适用于开源项目,其私有化部署的能力更是为包含敏感信息的项目提供了一层额外的安全保护。通过以上介绍的部署和配置步骤,即便是没有深厚技术背景的用户也能轻松上手,利用 GitLab 管理和控制自己的代码项目。随着对 GitLab 功能的深入了解和使用,你将更加体会到它在项目管理和团队协作方面的强大能力。 diff --git a/docs/services/dockers-on-nas/grampsjs.md b/docs/services/dockers-on-nas/grampsjs.md index 6477e04ce..f34be79f9 100644 --- a/docs/services/dockers-on-nas/grampsjs.md +++ b/docs/services/dockers-on-nas/grampsjs.md @@ -6,7 +6,9 @@ order: 35 [Gramps.js](https://github.com/gramps-project/Gramps.js) 是一款用于协作族谱编辑与展示的 Web 开源应用。它基于领开源家谱桌面应用程序 Gramps,并可与 Gramps 交互操作。不过,Gramps.js 的输入过程相对复杂,需要分别添加成员、家庭、事件、地点等元素,然后将它们组合在一起。第一次配置可能会花费一些时间,使用教程参考 [Gramps Web User guide](https://www.grampsweb.org/user-guide/)。 -我打算将家里的族谱电子化,并迁移到 Gramps 上。 +## 部署代码 + +推荐通过 Docker Compose 部署 Gramps.js,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml # https://www.grampsweb.org/Deployment/ @@ -51,3 +53,7 @@ services: container_name: grampsweb_redis restart: always ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:23300` 即可生成你的家谱。 + +通过仔细规划和执行上述步骤,你将能够成功地将家族族谱电子化并利用 Gramps.js 管理。这个过程不仅是对家族历史的保存,也是对家族成员之间联系的加强。在此过程中,耐心和细致是成功的关键。祝你的电子族谱项目顺利进行,成为家族历史传承的宝贵财富。 diff --git a/docs/services/dockers-on-nas/grocy.md b/docs/services/dockers-on-nas/grocy.md index 3247cf3e1..3ba9375d8 100644 --- a/docs/services/dockers-on-nas/grocy.md +++ b/docs/services/dockers-on-nas/grocy.md @@ -10,6 +10,10 @@ Grocy Docker 端默认的账户密码是 `admin`。要将界面语言设置为 如果你想在移动设备上扫描物品的条形码,可以按照以下步骤操作:点击右上角的菜单,选择「管理 API 秘钥」,然后点击「添加」和「生成 API 秘钥」。接下来,点击生成的秘钥旁边的第二个按钮,使用移动客户端扫描显示在页面上的二维码。然而,个人认为在家庭使用中,扫码功能可能并不是必需的。 +## 部署代码 + +推荐通过 Docker Compose 部署 Grocy,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml # https://hub.docker.com/r/linuxserver/grocy version: "2.1" @@ -27,3 +31,5 @@ services: - 9020:80 restart: unless-stopped ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:9020` 即可使用 Grocy。 diff --git a/docs/services/dockers-on-nas/homarr.md b/docs/services/dockers-on-nas/homarr.md index 6f5d49425..f31702074 100644 --- a/docs/services/dockers-on-nas/homarr.md +++ b/docs/services/dockers-on-nas/homarr.md @@ -4,17 +4,17 @@ title: Homarr:本地导航 order: 91 --- -[Homarr](https://github.com/ajnart/homarr) 可以作为网站书签导航页工具,也可以集成各类状态仪表板,让你可以在一个方便的位置访问和控制一切。 +[Homarr](https://github.com/ajnart/homarr) 是一款强大的本地导航工具,旨在提供一个中心化的页面,通过它,用户可以轻松地访问和控制他们的所有网站书签和状态仪表板。特别适用于管理 NAS 系统中内外网的不同链接,简化了日常的访问和控制流程,让你可以在一个方便的位置访问和控制一切。 -比如 NAS 中内网和外网地址链接不同,你可以设置两套系统。 - -问题: +在使用 Homarr 过程中,用户可能会遇到一些限制,比如: - 无法直接添加 `chrome://extensions/` 等非标准链接。 - 图标会远程调用 Github 图库,速度会慢些。 ## 部署代码 +推荐通过 Docker Compose 部署 Homarr,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml version: '3' services: @@ -30,3 +30,7 @@ services: ports: - '7575:7575' ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:7575` 即可使用 Homarr 本地导航。 + +总的来说,Homarr 提供了一个高效便捷的方式来组织和访问您的所有重要链接,无论是内网还是外网资源。通过简单的 Docker Compose 部署,您可以轻松地在自己的服务器上运行 Homarr,享受到集中管理资源的便利。尽管存在一些限制,如无法添加某些特殊链接和图标加载速度慢的问题,但这些都不妨碍 Homarr 成为一个极具价值的工具。我们鼓励用户根据自己的需求,进一步探索和定制 Homarr,使其成为您日常管理中不可或缺的一部分。 diff --git a/docs/services/dockers-on-nas/memos.md b/docs/services/dockers-on-nas/memos.md index 76fc677d7..3bcdea455 100644 --- a/docs/services/dockers-on-nas/memos.md +++ b/docs/services/dockers-on-nas/memos.md @@ -4,7 +4,11 @@ title: Memos:碎片化记录 order: 34 --- -[Memos](https://github.com/usememos/memos) 可视为开源版的 flomo,其界面及功能非常相似,适用于碎片化记录和灵感捕捉,同时支持小范围的分享,适用于个人微博记录。Memos 能以时间线形式回顾你选择的日期的记录,并允许通过 Telegram 机器人输入内容。此外,你还可以选择将数据保存在第三方云存储中。 +[Memos](https://github.com/usememos/memos) 是一款开源的碎片化记录工具,以其界面简洁、功能丰富而备受欢迎。不同于商业软件 flomo,Memos 提供了更为灵活的数据存储选项和便捷的分享功能,特别适合用于个人的灵感记录和微博式分享。它能以时间线形式回顾你选择的日期的记录,并允许通过 Telegram 机器人输入内容。此外,你还可以选择将数据保存在第三方云存储中,增加了数据存储的灵活性。 + +## 部署代码 + +推荐通过 Docker Compose 部署 Memos,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3.0" @@ -18,6 +22,10 @@ services: - 5230:5230 ``` +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:5230` 即可自制 Memos。 + +## 扩展 + 如果你使用 Obsidian,还可以考虑使用其插件 [Obsidian-Memos](https://github.com/Quorafind/Obsidian-Memos),它与 Memos 功能类似,但笔记将保存在 Obsidian 中。你还可以使用 Memos Sync 插件将 memos 记录同步至 Obsidian。 flomo 支持将所有笔记导出,并允许通过微信输入内容。flomo Pro 每日会随机选取 12 条符合条件的内容,让你过往的记录发挥更大的价值。 @@ -33,3 +41,5 @@ flomo 支持将所有笔记导出,并允许通过微信输入内容。flomo Pr - Marketplace 是最重要研究的领域 - Sheep、Books 是最重要的资源(Sheep 是指人物,即羔羊) - 三醒吾身:日记 + +通过合理利用这些标签,用户可以更有效地管理和回顾自己的记录,从而提高个人效率和创造力。 diff --git a/docs/services/dockers-on-nas/mt-photos.md b/docs/services/dockers-on-nas/mt-photos.md index 2e905b3a8..dd73cd822 100644 --- a/docs/services/dockers-on-nas/mt-photos.md +++ b/docs/services/dockers-on-nas/mt-photos.md @@ -4,10 +4,16 @@ title: MT Photos:分享家庭照片 order: 4 --- -[MT Photos](https://mtmt.tech/) 是专为 NAS 用户设计的照片管理系统。它能自动整理和分类您的照片,包括按时间、地点、人物和照片类型分类。初次使用可获得一个月的免费授权,之后需要付费 99 元购买永久使用证。MT Photos 后台每周自动检查授权状态。 +[MT Photos](https://mtmt.tech/) 是专为 NAS 用户设计的照片管理系统。它能自动整理和分类您的照片,包括按时间、地点、人物和照片类型分类。初次使用可以享受一个月的免费授权,之后则需要支付 99 元购买永久使用权。系统会每周自动检查授权状态。 + +![](https://img.newzone.top/2024-03-21-11-14-57.png?imageMogr2/format/webp) 我选择购买的原因是因为它允许通过网页分享特定的照片集。这个功能大大简化了与家人分享宝宝照片和视频的过程。然而,在使用 MT Photos 时,我发现网页端的视频播放经常出现问题,有些视频可以通过切换至全屏模式来播放,而有些视频只显示 1 秒然后无法继续播放。我向开发者反馈了这个问题,对方表示将在后续解决,但没有给出具体的时间表。目前,我只能让家人安装应用来解决视频播放的问题。 +## 部署代码 + +推荐通过 Docker Compose 部署 MT Photos,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml version: "3" @@ -40,3 +46,5 @@ services: #在 MT Photos 后台添加 API 时需要填入 API_AUTH_KEY(字符串),请自行修改。 - API_AUTH_KEY=apikey1 ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:8162` 即可开始管理家庭照片。 diff --git a/docs/services/dockers-on-nas/n8n.md b/docs/services/dockers-on-nas/n8n.md index c2ee3240d..fcfc06c4a 100644 --- a/docs/services/dockers-on-nas/n8n.md +++ b/docs/services/dockers-on-nas/n8n.md @@ -4,82 +4,84 @@ title: n8n:工作流自动化 order: 81 --- -[n8n](https://github.com/n8n-io/n8n) 是一款功能强大的工作流程自动化工具,可以自行托管,并允许用户添加自定义函数、逻辑和应用程序。n8n 社区提供了丰富的第三方 API 节点,方便用户连接和使用主流的海外服务。 +[n8n](https://github.com/n8n-io/n8n) 是一款功能强大的工作流程自动化工具,可以自行托管,并允许用户添加自定义函数、逻辑和应用程序。n8n 社区提供了丰富的第三方 API 节点,方便用户连接和使用主流的海外服务。本文将详细介绍 n8n 的部署流程、核心功能及实用技巧,旨在帮助读者有效地掌握并应用这一工具,无论是对于自动化工作流程的新手还是有经验的专业人士。 -对于初学者,建议先跟随教程 [基于 n8n 的开源自动化:以滴答清单同步 Notion 为例](https://sspai.com/prime/story/automation-n8n) 来熟悉 n8n 的基本操作和广泛应用。更多关于 n8n 的使用案例和详细介绍,可以参考 [使用自动化工作流聚合信息摄入和输出](https://reorx.com/blog/sharing-my-footprints-automation/)。 +对于初学者,建议先跟随教程 [基于 n8n 的开源自动化:以滴答清单同步 Notion 为例](https://sspai.com/prime/story/automation-n8n) 来熟悉 n8n 的基本操作和广泛应用。此外,更多关于 n8n 的使用案例和详细介绍,可以参考 [使用自动化工作流聚合信息摄入和输出](https://reorx.com/blog/sharing-my-footprints-automation/)。 -## 部署 n8n +## n8n 的部署步骤 1. 在桌面终端运行 `git clone https://github.com/n8n-io/n8n.git` 命令,下载 n8n 的仓库文件,并将其复制到 NAS。 2. 切换路径 `cd /volume3/storage/n8n/docker/compose/withPostgres`。 -3. 运行 `sudo docker-compose up -d` 命令进行部署。 - -在初次部署时,你可能会遇到 `for n8n Container "5a6edd16e779" is unhealthy.` 的提示,这时只需忽略该提示,再次运行 `sudo docker-compose up -d` 命令即可解决问题。如果在更新 git 仓库文件后重新部署时遇到提示无需更新的情况,你可以先删除容器,然后重新部署。 - -下面是部署 n8n 的 Docker 配置文件: - -```yml -# https://github.com/n8n-io/n8n/tree/master/docker/compose/withPostgres -# https://docs.n8n.io/hosting/installation/server-setups/docker-compose/#5-create-docker-compose-file -version: "3.8" - -services: - n8n-postgres: - image: postgres:11 - container_name: n8n-postgres - restart: always - environment: - - POSTGRES_USER - - POSTGRES_PASSWORD - - POSTGRES_DB - - POSTGRES_NON_ROOT_USER - - POSTGRES_NON_ROOT_PASSWORD - volumes: - - /volume1/docker/n8n/db:/var/lib/postgresql/data - - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh - healthcheck: - test: - [ - "CMD-SHELL", - "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}", - ] - interval: 5s - timeout: 5s - retries: 10 - - n8n: - image: docker.n8n.io/n8nio/n8n - container_name: n8n - restart: always - environment: - - N8N_HOST=${N8N_HOST} - - NODE_ENV=production - - N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL} - - VUE_APP_URL_BASE_API=${N8N_EDITOR_BASE_URL} - - WEBHOOK_URL=${N8N_EDITOR_BASE_URL} - - DB_TYPE=postgresdb - - DB_POSTGRESDB_HOST=n8n-postgres - - DB_POSTGRESDB_PORT=5432 - - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} - - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} - - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} - - TZ=Asia/Shanghai - ports: - - 5720:5678 - links: - - n8n-postgres - volumes: - - /volume1/docker/n8n/storage:/home/node/.n8n - depends_on: +3. 在该目录下编辑 `docker-compose.yml` 文件,内容如下: + + ```yml + # https://github.com/n8n-io/n8n/tree/master/docker/compose/withPostgres + # https://docs.n8n.io/hosting/installation/server-setups/docker-compose/#5-create-docker-compose-file + version: "3.8" + + services: n8n-postgres: - condition: service_healthy -``` + image: postgres:11 + container_name: n8n-postgres + restart: always + environment: + - POSTGRES_USER + - POSTGRES_PASSWORD + - POSTGRES_DB + - POSTGRES_NON_ROOT_USER + - POSTGRES_NON_ROOT_PASSWORD + volumes: + - /volume1/docker/n8n/db:/var/lib/postgresql/data + - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh + healthcheck: + test: + [ + "CMD-SHELL", + "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}", + ] + interval: 5s + timeout: 5s + retries: 10 + + n8n: + image: docker.n8n.io/n8nio/n8n + container_name: n8n + restart: always + environment: + - N8N_HOST=${N8N_HOST} + - NODE_ENV=production + - N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL} + - VUE_APP_URL_BASE_API=${N8N_EDITOR_BASE_URL} + - WEBHOOK_URL=${N8N_EDITOR_BASE_URL} + - DB_TYPE=postgresdb + - DB_POSTGRESDB_HOST=n8n-postgres + - DB_POSTGRESDB_PORT=5432 + - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} + - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} + - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} + - TZ=Asia/Shanghai + ports: + - 5720:5678 + links: + - n8n-postgres + volumes: + - /volume1/docker/n8n/storage:/home/node/.n8n + depends_on: + n8n-postgres: + condition: service_healthy + ``` + +4. 运行 `sudo docker-compose up -d` 命令进行部署。 + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:5720` 即可实现 n8n 自动化。 + +在初次部署时,可能会遇到 `for n8n Container "5a6edd16e779" is unhealthy.` 的提示,这时只需忽略该提示,再次运行 `sudo docker-compose up -d` 命令即可解决问题。如果在更新 git 仓库文件后重新部署时遇到提示无需更新的情况,你可以先删除容器,然后重新部署。 在上述文件中,`/volume1/docker/n8n` 被指定为 n8n 的配置目录,你需要确保 n8n 有该路径的读写权限,否则项目可能会在启动时报错。 ## 环境变量 -在当前目录的 `.env` 文件中,可以更改 PostgreSQL 的默认数据库名称、用户和密码。 +在 withPostgres 目录的 `.env` 文件中,可以更改 PostgreSQL 的默认数据库名称、用户和密码。 ```env N8N_HOST=localnas.com diff --git a/docs/services/dockers-on-nas/navidrome.md b/docs/services/dockers-on-nas/navidrome.md index 4bc0f7c5e..3b1588fc5 100644 --- a/docs/services/dockers-on-nas/navidrome.md +++ b/docs/services/dockers-on-nas/navidrome.md @@ -4,11 +4,15 @@ title: Navidrome:开源音乐服务器 order: 3 --- -Navidrome 为开源自托管音乐服务器,提供音频流媒体服务。 +Navidrome 是一款开源且完全免费的自托管音乐服务器,它提供音频流媒体服务。相比于 Roon 的高昂定价以及 Emby 和 Plex 主要针对视频的定位,Navidrome 为用户提供了一个免费而全面的音频解决方案。它不仅支持 MP3、FLAC、AAC 和 OGG 等多种音频格式,还能为多个用户有效管理音乐库,确保每位用户的体验互不干扰。 -鉴于 Roon 的定价较高且 Emby 和 Plex 主要针对视频,Navidrome 成为了一个免费的选择。它支持广泛的音频格式,如 MP3、FLAC、AAC 和 OGG 等,并能有效地为多个用户管理其音乐库,确保每位用户的体验互不冲突。 +![](https://img.newzone.top/2024-03-21-10-21-01.png?imageMogr2/format/webp) -想要了解其他安装方法,你可以查看 [Navidrome 的官方教程](https://www.navidrome.org/docs/installation/docker/)。 +Navidrome 的部署和使用极为简单,支持 Docker 等多种安装方式,具体可以参考 [Navidrome 的官方教程](https://www.navidrome.org/docs/installation/docker/)。 + +## 部署代码 + +推荐通过 Docker Compose 部署 Navidrome,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3" @@ -31,8 +35,8 @@ services: - "/volume4/Music/Audio:/music:ro" ``` -不过,Navidrome 并不提供歌词下载功能。如果你需要下载内置的歌词,可以通过 [MusicTag](https://www.cnblogs.com/vinlxc/p/11347744.html) 实现。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:4533` 即可访问你的 Navidrome 音乐流服务。 -对于播放器的选择,推荐使用国产的 [音流](https://aqzscn.cn/archives/stream-music-versions) 播放器。它当前正处于内测阶段,支持 iOS 和 Android 平台,能够显示下载的内置歌词。 +尽管 Navidrome 不内置歌词下载功能,但你可以通过第三方工具,如 [MusicTag](https://www.cnblogs.com/vinlxc/p/11347744.html),来下载并管理歌词。此外,推荐使用 [音流](https://aqzscn.cn/archives/stream-music-versions) 播放器,它支持 iOS、Android 和 Windows 平台,并能显示下载的内置歌词。 -然而,Navidrome 也有其局限性:它不支持显示多行歌词,搜索功能以专辑为单位,这使得直接搜索特定歌曲可能不会总是准确。另外,Windows 客户端不支持显示歌词功能。因此,我转向使用 Emby 来管理 PC 端音乐。然而,Emby 流媒体播放时偶尔会断播,与之对比,Navidrome 在音乐流播放方面更稳定,并且更适合用于移动端 API。 +Navidrome 在多用户管理、音乐流稳定性方面表现优异,但也存在一些局限性,如不支持多行歌词显示,搜索功能以专辑为单位,可能不利于精确搜索特定歌曲。 diff --git a/docs/services/dockers-on-nas/nextcloud.md b/docs/services/dockers-on-nas/nextcloud.md index 6426bc30f..acb6381fb 100644 --- a/docs/services/dockers-on-nas/nextcloud.md +++ b/docs/services/dockers-on-nas/nextcloud.md @@ -6,15 +6,11 @@ order: 22 [Nextcloud](https://github.com/nextcloud/docker) 是一款开源的云存储和协作平台。Nextcloud 不仅可以让你创建文件共享、在线编辑和备份等功能,还支持多用户协作、通讯录、日历等功能,可以完全替代你的 Google Drive 或 Dropbox 等云存储服务。 -虽然 Nextcloud 内置了 Office 功能,但对中文支持有限,建议使用 Onlyoffice。Onlyoffice 是一个基于 Web 的办公套件,可以帮助你创建和编辑文字、电子表格和幻灯片等文档,实现文档的在线协作、版本控制和在线编辑等功能。这种集成方式将大大提高你的工作效率和协作能力。 - -## 公网访问 Nextcloud - -若在公网中使用 Nextcloud,需在 `docker/nextcloud/data/config/config.php` 文件中的 `trusted_domains` 部分添加你的公网域名,例如 `1 => 'xxx.newzone.top'`。 +![](https://img.newzone.top/2024-03-21-10-25-57.png?imageMogr2/format/webp) -即使你的反向代理域名带有端口,也请勿在 `trusted_domains` 中包含端口信息,否则可能会出现「通过不被信任的域名访问」的提示。在使用带有端口的公网域名时,站点在未登录和成功登录时可能会在跳转时省略端口信息。这时,手动添加端口信息即可正常使用。 +虽然 Nextcloud 内置了 Office 功能,但对中文支持有限,建议使用 Onlyoffice。Onlyoffice 是一个基于 Web 的办公套件,可以帮助你创建和编辑文字、电子表格和幻灯片等文档,实现文档的在线协作、版本控制和在线编辑等功能。这种集成方式将大大提高你的工作效率和协作能力。 -## ONLYOFFICE +## 集成 ONLYOFFICE 提升效率 [ONLYOFFICE](https://helpcenter.onlyoffice.com/installation/docs-community-install-docker.aspx) Document Server 是一套提供在线编辑 Office 文档服务的套件。通过使用该套件及相应的 Nextcloud 插件,你可以在 Nextcloud 上进行在线编辑 Office 文档的操作,并正确识别中文内容。 @@ -22,9 +18,17 @@ order: 22 ![](https://img.newzone.top/2023-11-11-13-51-31.png?imageMogr2/format/webp) -## Nextcloud Office 中文乱码 +## 公网访问配置 -Nextcloud Office 无法正常显示文档中的中文,而只显示方格子。关于此问题的解决方案可在[这篇教程](https://blog.csdn.net/skydust1979/article/details/106280811)中找到。教程建议修改 `/volume1/docker/nextcloud/data/lib/public/AppFramework/Http/FileDisplayResponse.php` 文件,注释掉第 67 行,并添加以下内容。然而,我测试后发现此方法并不起作用。 +若在公网中使用 Nextcloud,需在 `docker/nextcloud/data/config/config.php` 文件中的 `trusted_domains` 部分添加你的公网域名,例如 `1 => 'xxx.newzone.top'`。 + +即使你的反向代理域名带有端口,也请勿在 `trusted_domains` 中包含端口信息,否则可能会出现「通过不被信任的域名访问」的提示。在使用带有端口的公网域名时,站点在未登录和成功登录时可能会在跳转时省略端口信息。这时,手动添加端口信息即可正常使用。 + +## 解决 Nextcloud Office 中文乱码 + +Nextcloud Office 在显示文档中的中文时可能会出现乱码,显示为方格。 + +关于此问题的解决方案可在[这篇教程](https://blog.csdn.net/skydust1979/article/details/106280811)中找到。教程建议修改 `/volume1/docker/nextcloud/data/lib/public/AppFramework/Http/FileDisplayResponse.php` 文件,注释掉第 67 行,并添加以下内容。然而,我测试后发现此方法并不起作用。 ```php //$output->setOutput($this->file->getContent()); @@ -37,9 +41,9 @@ $fileContents = iconv($encoding, "UTF-8", $fileContents); $output->setOutput($fileContents); ``` -## 部署命令 +## 部署代码 -以下是集成了 ONLYOFFICE 的 Nextcloud 部署命令: +推荐通过 Docker Compose 部署集成了 ONLYOFFICE 的 Nextcloud,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "2" @@ -86,8 +90,10 @@ services: - /volume1/docker/nextcloud/onlyoffice/logs:/var/log/onlyoffice ``` +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:9030` 即可使用 Nextcloud 和 ONLYOFFICE。 + ## 外部存储 -有时你的文档在其他位置,可以在应用中添加插件 External storage support,这样可以直接编辑 FTP、WebDAV、Nextcloud、SFTP、Amazone S3 或其他对象存储等外部文件。 +Nextcloud 支持将外部存储设备作为存储选项,如 FTP、WebDAV 和 S3。 -安装插件后,进入「管理」>「外部存储」设置目录。 +通过安装 External storage support 插件,进入「管理」>「外部存储」设置目录,你可以方便地连接和管理这些外部资源。配置外部存储后,你可以直接在 Nextcloud 上编辑和管理这些文件,无需进行复杂的本地同步。 diff --git a/docs/services/dockers-on-nas/ntfy.md b/docs/services/dockers-on-nas/ntfy.md index a53b0e015..523a7a057 100644 --- a/docs/services/dockers-on-nas/ntfy.md +++ b/docs/services/dockers-on-nas/ntfy.md @@ -20,7 +20,9 @@ order: 23 - **公开推送的消息:** ntfy 设计时考虑到消息的公开性,虽然大部分消息是公开推送的,但用户依然可以控制消息的接收方。 - **桌面提醒的解决方案:** 虽然 ntfy 本身没有专门的桌面应用,但 PC 用户可以通过安装 [ntfy-browser](https://github.com/johman10/ntfy-browser) 浏览器扩展来接收通知。 -## 部署命令 +## 部署代码 + +推荐通过 Docker Compose 部署 ntfy,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "2.3" @@ -49,3 +51,5 @@ services: ``` **配置注意**:默认情况下,ntfy 使用 80 端口,但更改为 8080 端口可以避免潜在的冲突。您需要在`/volume1/docker/ntfy/etc`目录下新建`server.yml`文件,并添加`listen-http: ":8080"`配置。查看更多服务器配置选项,可以参考[官方配置样例](https://github.com/binwiederhier/ntfy/blob/main/server/server.yml)。 + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:5730` 即可访问 ntfy 服务。 diff --git a/docs/services/dockers-on-nas/paperless-ngx.md b/docs/services/dockers-on-nas/paperless-ngx.md index eb2365726..9619a0d54 100644 --- a/docs/services/dockers-on-nas/paperless-ngx.md +++ b/docs/services/dockers-on-nas/paperless-ngx.md @@ -4,11 +4,15 @@ title: Paperless-ngx:全文管理文档 order: 32 --- -[Paperless-ngx](https://docs.paperless-ngx.com/) 是一个开源文档管理系统,可将您的物理文档转换为可搜索的在线档案。 +[Paperless-ngx](https://docs.paperless-ngx.com/) 是一个强大的开源文档管理系统,它可以将您的物理文档通过 OCR 转换成可搜索的数字档案。支持包括 PDF、图片、纯文本文件以及 Office 文档等多种格式,Paperless-ngx 能够极大地提高您文档管理的效率和便捷性。 -Paperless-ngx 对文档执行 OCR,添加可搜索和可选择的文本,甚至可以对仅使用图像扫描的文档进行添加。支持 PDF、图片、纯文本文件、Office 文档(Word、Excel、Powerpoint 和 LibreOffice 等效项)等。 +![](https://img.newzone.top/2024-03-21-10-56-33.png?imageMogr2/format/webp) -## 部署命令 +选择 Paperless-ngx 的原因在于其强大的文档扫描、识别和管理功能。通过 OCR 技术,即使是图像扫描的文档也能添加上可搜索和可选择的文本,极大地方便了日后的文档检索和管理。 + +## 部署代码 + +推荐通过 Docker Compose 部署 Paperless-ngx,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml # https://github.com/paperless-ngx/paperless-ngx/blob/main/docker/compose/docker-compose.portainer.yml @@ -67,11 +71,13 @@ services: PAPERLESS_TIME_ZONE: Asia/Shanghai ``` -部署完成后,需用 ssh 终端执行命令。 +部署完成后,需用 ssh 终端执行以下命令: ```shell sudo docker exec -it paperlesswebserver bash python3 manage.py createsuperuser ``` -依次输入 username、email、password。如果出现提示密码较弱,输入 y 继续。之后这些都可以在后台再修改。 +按照提示输入用户名、电子邮件和密码即可。如果出现提示密码较弱,输入 `y` 继续。之后这些配置都可以在后台再修改。 + +完成以上步骤后,通过 `http://<你的服务器IP或域名>:9035` 访问 Paperless-ngx,开始享受高效的文档管理体验。 diff --git a/docs/services/dockers-on-nas/portainer.md b/docs/services/dockers-on-nas/portainer.md new file mode 100644 index 000000000..0f8ae421f --- /dev/null +++ b/docs/services/dockers-on-nas/portainer.md @@ -0,0 +1,45 @@ +--- +article: false +title: Portainer:容器管理工具 +order: 103 +--- + +[Portainer](https://github.com/portainer/portainer) 是一款开源的容器管理工具,它为 Docker 和 Kubernetes 提供了一个简洁易用的界面,让用户可以轻松管理容器、镜像、网络和卷等资源。作为一个强大的容器管理平台,Portainer 降低了容器技术的入门门槛,同时也满足了专业用户的高级需求。 + +Portainer 支持两个主要版本:社区版(CE)和企业版(EE)。对于个人用户和小型团队来说,社区免费版(CE)通常就已经足够使用,它提供了大多数基础和一些高级的功能,我没有感觉到任何功能限制。 + +![](https://img.newzone.top/2024-03-21-15-37-16.png?imageMogr2/format/webp) + +## 部署 Portainer 社区版(CE) + +下面提供了一个 docker-compose.yml 文件示例,用于部署 Portainer 社区版(CE)。具体的部署步骤可以查阅 [Docker Compose 部署](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)教程: + +```yml +version: "3" +services: + portainer: + image: portainer/portainer-ce:latest + container_name: portainer + ports: + - 9004:8000 # 用于 Edge agent 通信 + - 9000:9000 # Portainer 网页界面 + environment: + - TZ=Asia/Shanghai + volumes: + - /var/run/docker.sock:/var/run/docker.sock # 允许 Portainer 管理本地 Docker 环境 + - /volume1/docker/portainer:/data # 持久化 Portainer 数据 + restart: unless-stopped +``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:9000` 即可看到 Portainer 的登录界面。初次访问时,你需要设置一个管理员账号和密码。 + +## Portainer 功能 + +- **容器管理**:轻松启动、停止、删除和管理容器。 +- **镜像管理**:拉取新镜像、删除旧镜像和管理镜像标签。 +- **网络管理**:创建和管理 Docker 网络,轻松连接不同的容器。 +- **卷管理**:创建和删除 Docker 卷,管理数据持久化。 + +此外,Portainer 还为 Docker Compose 提供了界面化的部署流程,进一步简化了容器部署和管理过程。具体可查阅 [Portainer 部署](./#portainer-%E9%83%A8%E7%BD%B2)教程。 + +无论你是刚入门容器技术的新手,还是拥有丰富经验的专业人士,Portainer 都能帮助你有效提升工作效率,优化容器管理流程,实现更高效的资源管理与应用部署。 diff --git a/docs/services/dockers-on-nas/qbittorrent.md b/docs/services/dockers-on-nas/qbittorrent.md index 469c80312..e3dc92f99 100644 --- a/docs/services/dockers-on-nas/qbittorrent.md +++ b/docs/services/dockers-on-nas/qbittorrent.md @@ -32,7 +32,7 @@ order: 5 ## 部署代码 -以下是一个基本的 Docker Compose 文件示例,用于设置 qBittorrent: +推荐通过 Docker Compose 部署 qBittorrent,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml # https://hub.docker.com/r/linuxserver/qbittorrent 注意将下载目录授权到 Everyone @@ -56,4 +56,6 @@ services: restart: unless-stopped ``` -在部署之后,请进入「选项」>「连接」,将监听端口改为 49156。有关其他设置,请参考[群晖使用 qbittorrent](https://blog.csdn.net/weixin_45120915/article/details/114691473)。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:49155` 即可使用 qBittorrent 下载。然后,进入「选项」>「连接」,将监听端口改为 49156,以避免默认端口问题。 + +有关其他设置,请参考[群晖使用 qbittorrent](https://blog.csdn.net/weixin_45120915/article/details/114691473)。 diff --git a/docs/services/dockers-on-nas/qinglong.md b/docs/services/dockers-on-nas/qinglong.md index 451e2172b..60da11092 100644 --- a/docs/services/dockers-on-nas/qinglong.md +++ b/docs/services/dockers-on-nas/qinglong.md @@ -6,6 +6,12 @@ order: 84 [青龙面板](https://github.com/whyour/qinglong) 是支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台,但现在多被用于京东薅羊毛,比如领京东、价保。安装好 Docker 后的配置流程参考 [青龙面板应用——安装依赖拉取仓库运行京东脚本(保姆级图文)](https://blog.csdn.net/u011027547/article/details/130703685)。 +![](https://img.newzone.top/2024-03-21-10-13-00.png?imageMogr2/format/webp) + +## 部署代码 + +推荐通过 Docker Compose 部署青龙面板,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml # https://github.com/whyour/qinglong/blob/develop/docker/docker-compose.yml version: "2" @@ -26,7 +32,9 @@ services: restart: unless-stopped ``` -配置注意: +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:5700` 即可使用青龙面板。 + +## 配置注意 - 在运行脚本之前,请确保已安装所有必要的依赖。 - 定期运行:`0 0 7 * * ?` 表示每天 7 点触发。其中第一个数字代表秒,第二个数字代表分钟,第三个数字代表小时,第四个数字代表每月的日期,第五个数字代表月份,第六个数字代表每周的星期几。这些数字之间使用空格分隔。要表示不限制的时间段,可以使用 `*` 号,要表示定期运行的时间段,可以使用 `?` 替代,要表示间隔运行的时间段,可以使用 `*/数字` 替代。如果需要在同一个时间位上设置多个选项,可以使用逗号 `,` 连接,如果需要设置一个时间段,可以使用短划线 `-` 连接。对于每天的运行,可以在日期位或星期位使用 `?`。 diff --git a/docs/services/dockers-on-nas/reader.md b/docs/services/dockers-on-nas/reader.md index f49bd4610..b9ff085df 100644 --- a/docs/services/dockers-on-nas/reader.md +++ b/docs/services/dockers-on-nas/reader.md @@ -4,17 +4,17 @@ title: Reader:小说/书籍阅读 order: 11 --- -[reader](https://github.com/hectorqin/reader) 是阅读 3 的服务器版,为阅读爱好者提供全面的功能支持。 - -reader 提供了书源管理、书架布局定制、强大的搜索功能、书海浏览、阅读体验的优化,支持移动端适配、换源、多种翻页方式和手势支持。用户可以自定义主题和样式,进行 WebDAV 同步,实施文字替换过滤,甚至听书功能(部分浏览器支持)。此外,它支持书籍的导入和分组,包括本地 TXT、EPUB、UMD 和 PDF 格式,以及 RSS 订阅。reader 还提供定时书架更新、并发搜书功能,以及本地书仓,同时支持 Kindle 阅读,满足多样化的阅读需求。 +[reader](https://github.com/hectorqin/reader) 是基于阅读 3 开发的服务器版,提供了书源管理、书架布局定制、强大的搜索功能、书海浏览、阅读体验的优化,支持移动端适配、换源、多种翻页方式和手势支持。用户可以自定义主题和样式,进行 WebDAV 同步,实施文字替换过滤,甚至听书功能(部分浏览器支持)。此外,它支持书籍的导入和分组,包括本地 TXT、EPUB、UMD 和 PDF 格式,以及 RSS 订阅。reader 还提供定时书架更新、并发搜书功能,以及本地书仓,同时支持 Kindle 阅读,满足多样化的阅读需求。 ## 异常监测 -我设置了数千条书源,导致容器经常报错,几乎每隔几天就会出现提示「点击设置后端接口前缀」。这不仅使 reader 无法正常使用,还会导致 NAS 的 CPU 被疯狂占用,必须重启容器才能恢复正常。 +我添加了几千条书源,这导致容器经常报错,每隔几天就会出现报错提示「点击设置后端接口前缀」。这不仅使 reader 无法正常使用,还会导致 NAS 的 CPU 被疯狂占用,必须重启容器才能恢复正常。 因此,我使用 Uptime Kuma 监测 reader 后端 `http://localhost:8080/reader3/getUserInfo` 的运行状态,当异常时就触发 Docker API 执行指定容器的重启命令。值得注意的是,Uptime Kuma 在恢复时也会触发通知,意味着可能会两次重启 reader 容器。如果不希望发生多次重启,可以考虑使用 n8n 来判断状态。 -## 部署命令 +## 部署代码 + +推荐通过 Docker Compose 部署 reader,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml # https://github.com/hectorqin/reader/blob/master/docker-compose.yml @@ -28,10 +28,10 @@ services: reader: image: hectorqin/reader #image: hectorqin/reader:openj9-latest #docker 镜像,arm64 架构或小内存机器优先使用此镜像。启用需删除上一行 - container_name: reader #容器名 可自行修改 + container_name: reader # 容器名 可自行修改 restart: always ports: - - 4396:8080 #4396 端口映射可自行修改 + - 4396:8080 # 4396 端口映射可自行修改 volumes: - /volume1/docker/reader/logs:/logs #log 映射目录 /home/reader/logs 映射目录可自行修改 - /volume1/docker/reader/storage:/storage #数据映射目录 /home/reader/storage 映射目录可自行修改 @@ -57,7 +57,11 @@ services: # readerwebview: ``` -原本我在 compose 命令中添加 healthcheck,希望当容器 unhealth 时自动重启。但实现起来更加复杂,需要另外使用容器,因此改用 Uptime Kuma 方案。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:4396` 即可在线阅读小说/书籍。 + +## 其他尝试 + +我尝试通过在 `docker-compose.yml` 中添加 `healthcheck` 来自动监测和处理容器的健康状态,希望当容器 unhealth 时自动重启。但实现起来更加复杂,需要另外使用容器,因此改用 Uptime Kuma 方案。 ```yml # ↓健康检查:当书源较多时,可能隔几天就会出现后端崩溃,会提示「点击设置后端接口前缀」↓ diff --git a/docs/services/dockers-on-nas/reverse-proxy.md b/docs/services/dockers-on-nas/reverse-proxy.md index 6e2e32d70..186c4689d 100644 --- a/docs/services/dockers-on-nas/reverse-proxy.md +++ b/docs/services/dockers-on-nas/reverse-proxy.md @@ -14,7 +14,7 @@ order: 101 [Nginx Proxy Manager](https://github.com/jlesage/docker-nginx-proxy-manager) 提供了一个的图形界面,方便用户管理反向代理和 SSL 证书。它的 SSL 证书有效期长达三个月,并支持自动续期。由于国内家用宽带常常不支持开放 80 和 443 端口,所以这里推荐使用一个修改版的 Nginx Proxy Manager 而非官方容器,同时也不建议使用 Caddy。如果你对 Nginx Proxy Manager 还不够熟悉,也可以尝试使用国内开发的 [nginxWebUI](https://www.nginxwebui.cn/product.html),它也提供了图形化配置、SSL 证书申请和自动续签等功能。 -下面是通过 Docker 部署 Nginx Proxy Manager 的配置文件: +推荐通过 Docker Compose 部署 Nginx Proxy Manager,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3.8" @@ -64,4 +64,4 @@ volumes: caddy_config: ``` -通过上述配置,无论是 Nginx Proxy Manager 还是 Caddy,你都可以轻松地部署和管理你的反向代理服务。这将为你的网络环境提供更高的数据安全性和便捷的访问管理。希望这些信息能帮助你更好地利用反向代理技术,为你的网络环境带来显著的改善。如果你在部署或使用过程中遇到任何问题,欢迎在评论区留言交流,我们可以一起探讨解决方案。 +无论选择 Nginx Proxy Manager 还是 Caddy,你都可以轻松地部署和管理你的反向代理服务。这将为你的网络环境提供更高的数据安全性和便捷的访问管理。希望这些信息能帮助你更好地利用反向代理技术,为你的网络环境带来显著的改善。如果你在部署或使用过程中遇到任何问题,欢迎在评论区留言交流,我们可以一起探讨解决方案。 diff --git a/docs/services/dockers-on-nas/srs-stack.md b/docs/services/dockers-on-nas/srs-stack.md index bae0a81f5..839eca892 100644 --- a/docs/services/dockers-on-nas/srs-stack.md +++ b/docs/services/dockers-on-nas/srs-stack.md @@ -4,11 +4,17 @@ title: SRS Stack:直播推流 order: 83 --- -SRS 是一个免费开源的实时视频服务器应用,通过 [SRS Stack](https://github.com/ossrs/srs-stack) 能够轻松在多平台上进行简单高效的直播同步推流部署。 +SRS 是一个免费开源的实时视频服务器应用,通过 [SRS Stack](https://github.com/ossrs/srs-stack),用户能够在多平台上进行简单高效的直播同步推流部署,大大简化了直播过程中的技术复杂度。 -在我的日常工作和学习中,我通常会开启直播,但如果推送多路流,会对上传带宽造成较大压力。通过使用 SRS Stack,这个问题得到了解决。 +![](https://img.newzone.top/2024-03-21-09-45-33.png?imageMogr2/format/webp) -目前,我将电脑上的 OBS 推流到 NAS 上的 SRS Stack,然后在 NAS 上进行多平台统一转播。这样一来,我能够节省上行带宽,同时避免客户端推送多路流。然而,需要注意的是,SRS Stack 目前仅支持最多同时进行三个平台的转播。如果你需要更多平台,可以运行多个实例。 +在我的日常工作和学习中,我通常会进行直播活动。然而,直接从我的电脑上向多个直播平台推送视频流,会对我的上传带宽造成较大压力。SRS Stack 提供了一种高效的解决方案,它允许我只推送一路流到 NAS 上的 SRS Stack,然后由 SRS Stack 负责将流转播到多个平台。这种方法不仅节省了宝贵的上行带宽,还简化了直播设置,避免了同时管理多个推流的复杂性。 + +需要注意的是,SRS Stack 目前支持的转播数量有限,最多同时进行三个平台的转播。对于需要更广泛转播的用户,一种可能的解决方案是运行多个 SRS Stack 实例,尽管这可能会增加管理复杂度。 + +## 部署代码 + +推荐通过 Docker Compose 部署 SRS Stack,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3" @@ -26,3 +32,7 @@ services: - 10080:10080/udp restart: always ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:23322`,即可进入 SRS Stack 的管理界面,开始设置直播推流。 + +SRS Stack 通过简化直播推流的部署和管理,为内容创作者和技术团队提供了强大的支持。无论你是直播新手还是经验丰富的直播者,都可以从 SRS Stack 的便捷性和高效性中受益。 diff --git a/docs/services/dockers-on-nas/stirling-pdf.md b/docs/services/dockers-on-nas/stirling-pdf.md index c2f83abda..7b74248ac 100644 --- a/docs/services/dockers-on-nas/stirling-pdf.md +++ b/docs/services/dockers-on-nas/stirling-pdf.md @@ -8,9 +8,9 @@ order: 31 ![](https://img.newzone.top/2024-01-16-02-15-55.png?imageMogr2/format/webp) -## 部署命令 +## 部署代码 -以下是一个简单的 Docker 部署示例,展示了如何快速启动 Stirling-PDF 服务: +推荐通过 Docker Compose 部署 Stirling-PDF,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: '3.3' @@ -29,4 +29,4 @@ services: - DOCKER_ENABLE_SECURITY=false # 为了简化部署,暂时关闭 Docker 的安全设置 ``` -Stirling-PDF 作为一款强大的开源 PDF 处理工具,其多样的功能能够满足大多数日常的需求。无论你是需要简单的文件合并,还是更复杂的文档重组和编辑,Stirling-PDF 都能为你提供帮助。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:7581` 即可使用 Stirling-PDF 工具箱。 diff --git a/docs/services/dockers-on-nas/sun-panel.md b/docs/services/dockers-on-nas/sun-panel.md index 3df368d19..cf4163825 100644 --- a/docs/services/dockers-on-nas/sun-panel.md +++ b/docs/services/dockers-on-nas/sun-panel.md @@ -4,12 +4,16 @@ title: Sun-Panel:简化导航页 order: 92 --- -[Sun-Panel](https://github.com/hslr-s/sun-panel) 与 Homarr 相比,样式与功能都要简单许多。 +[Sun-Panel](https://github.com/hslr-s/sun-panel) 是一个开源项目,旨在为用户提供一个简洁、易用的导航页面,让用户能够快速访问自己的常用网站和服务。与功能更为丰富、界面更加复杂的 Homarr 相比,Sun-Panel 提供了更为简约的样式和功能,适合那些偏好简化界面的用户。 -不过 Sun-Panel 有 [浏览器书签转换工具](https://hslr-s.github.io/sun-panel-tool-page/#/),可以将书签批量导入 Sun Panel。 +![](https://img.newzone.top/2024-03-21-09-53-45.png?imageMogr2/format/webp) + +Sun-Panel 的一大亮点是提供了[浏览器书签转换工具](https://hslr-s.github.io/sun-panel-tool-page/#/),这个工具可以帮助用户将浏览器中保存的书签批量导入到 Sun-Panel 中,极大地简化了个性化设置的过程。用户只需将书签导出为 HTML 文件,然后通过该工具转换并上传至 Sun-Panel,即可快速完成书签的迁移和整合。 ## 部署代码 +推荐通过 Docker Compose 部署 Sun-Panel,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml version: "3.2" @@ -25,3 +29,5 @@ services: - 7580:3002 restart: always ``` + +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:7580` 即可访问 Sun-Panel 书签。 diff --git a/docs/services/dockers-on-nas/syncthing.md b/docs/services/dockers-on-nas/syncthing.md index 406a6e421..52fa75d14 100644 --- a/docs/services/dockers-on-nas/syncthing.md +++ b/docs/services/dockers-on-nas/syncthing.md @@ -4,9 +4,15 @@ title: Syncthing:私人同步盘 order: 21 --- -[Syncthing](https://github.com/syncthing/syncthing) 是一款开源免费的跨平台文件同步工具,基于 P2P 技术实现多设备之间的文件同步。需要注意的是,Syncthing 和微力同步都不能使本地两个文件夹同步。我之前使用免费提供的 GoodSync 来同步同一设备上的文件。 +[Syncthing](https://github.com/syncthing/syncthing/blob/main/README-Docker.md) 是一款开源免费的跨平台文件同步工具,基于 P2P 技术实现多设备之间的文件同步。与其他同步工具如微力同步不同,Syncthing 专注于设备间的文件同步,而不是本地文件夹的镜像。我之前尝试使用 GoodSync 来实现同一设备上不同文件夹的同步。 -Syncthing 与百度网盘、坚果云等第三方网盘的最大不同在于,它实现了多设备间的实时同步。百度网盘同步仅支持 PC 端,无法在手机端同步,只能在需要查看文件时手动点击下载;而坚果云在手机端即使设置了离线收藏,下载的文件也存储在内部空间,其他应用无法访问。相比之下,Syncthing 默认将文件夹同步到本地,而非按需下载。如果你不希望将文件托管到第三方,或者需要在多个设备之间同步文件,Syncthing 是个不错的选择。 +![](https://img.newzone.top/2024-03-21-09-39-47.png?imageMogr2/format/webp) + +不同于百度网盘、坚果云等第三方网盘服务,Syncthing 的最大特点是实现了多设备间的实时同步。例如,百度网盘虽支持 PC 端同步,但无法在手机端实现,用户需手动下载文件以查看;坚果云虽然支持在手机端设置离线收藏,但下载的文件仅存储在应用内部空间,无法被其他应用访问。相比之下,Syncthing 默认将文件夹同步到本地设备,提供了更为直接和便利的文件访问方式。对于那些不愿意将文件托管到第三方服务,或者需要在多个设备之间同步文件的用户而言,Syncthing 提供了一个值得考虑的选择。 + +## 部署代码 + +推荐通过 Docker Compose 部署 Syncthing,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3" @@ -14,18 +20,20 @@ services: syncthing: image: syncthing/syncthing container_name: syncthing - hostname: my-syncthing + hostname: syncthing environment: - PUID=1026 - PGID=100 volumes: - /volume1/docker/syncthing/appdata:/var/syncthing - ports: - - 9040:8384 # Web UI - - 22000:22000/tcp # TCP file transfers - - 22000:22000/udp # QUIC file transfers - - 21027:21027/udp # Receive local discovery broadcasts + network_mode: host # 避免本地同步速率变慢 restart: unless-stopped ``` -由于我对文件实时同步的需求较小,也不需要版本控制,目前并未使用 Syncthing。相反,我将本地文件按天同步到 NAS,并随后在 Nextcloud 上进行在线文档编辑。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:8384`,即可进入 Syncthing 的管理界面。 + +如果遇到报错「文件系统监视器错误」,则在 NAS 终端输入 `echo "fs.inotify.max_user_watches=204800" | sudo tee -a /etc/sysctl.conf` 来解除 inotify 限制。更多解决办法参考 [How do I increase the inotify limit to get my filesystem watcher to work?](https://docs.syncthing.net/users/faq.html#inotify-limits)。 + +虽然我个人对文件实时同步的需求不大,且不需要版本控制,因此目前并未使用 Syncthing。我更倾向于将本地文件按天同步到 NAS 设备,然后在 Nextcloud 上进行在线文档编辑,这种方式更符合我的工作流程。 + +总的来说,Syncthing 作为一款开源且免费的文件同步工具,以其独特的 P2P 同步方式和跨平台支持,为希望在多个设备间保持数据实时同步的用户提供了一个极佳的选择。它适用于工作文档的同步、个人设备间的媒体文件分享等多种场景。如果你追求数据的私有化,或者需要一个灵活、可靠的文件同步解决方案,我鼓励你尝试 Syncthing,探索它带来的各种可能性。 diff --git a/docs/services/dockers-on-nas/tachidesk.md b/docs/services/dockers-on-nas/tachidesk.md index 5a6f3d806..f3f9786d4 100644 --- a/docs/services/dockers-on-nas/tachidesk.md +++ b/docs/services/dockers-on-nas/tachidesk.md @@ -10,6 +10,10 @@ order: 12 如果你仅使用 Android 设备,可以选择使用开源漫画阅读器 [Tachiyomi](https://github.com/tachiyomiorg/tachiyomi)。如果你需要访问一些老旧漫画作品,还可以考虑使用 [Cimoc](https://github.com/Haleydu/Cimoc)。 +## 部署代码 + +推荐通过 Docker Compose 部署 Tachidesk,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: + ```yml version: "3.7" services: @@ -34,6 +38,10 @@ services: restart: on-failure:3 ``` +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:4567` 即可在线阅读本地漫画。 + +## 配置 + 你可以将本地的漫画资源导入到路径 `/volume1/docker/tachidesk/local`。请注意,导入的漫画需要按文件夹分类,并确保图片按文件名排序。 点击左侧的 `Extensions` 按钮,点右上角的 `Enabled Languages` 选项,将其设置为中文源,然后会在页面底部发现中文漫画源。安装好漫画源扩展后,点击左侧的 `Sources` 按钮,然后选择不同来源的 `BROWSE`,即可浏览对应源的在线漫画。在线漫画会下载到 `/volume1/docker/tachidesk/downloads` 目录。安装各类在线漫画源扩展,以便进行在线搜索、阅读和下载漫画。 diff --git a/docs/services/dockers-on-nas/uptime-kuma.md b/docs/services/dockers-on-nas/uptime-kuma.md index dfc9d981f..869cb1ec2 100644 --- a/docs/services/dockers-on-nas/uptime-kuma.md +++ b/docs/services/dockers-on-nas/uptime-kuma.md @@ -10,9 +10,9 @@ order: 82 虽然 Uptime Kuma 本身不提供后续自动化操作,但它能够通过 webhook 来触发 n8n 等自动化操作。 -## 部署命令 +## 部署代码 -使用以下 Docker 配置可以快速部署 Uptime Kuma: +推荐通过 Docker Compose 部署 Uptime Kuma,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3.8" @@ -23,9 +23,10 @@ services: container_name: uptime-kuma volumes: - /volume1/docker/uptime-kuma/data:/app/data - # 用于 Docker 容器监控 - - /var/run/docker.sock:/var/run/docker.sock + - /var/run/docker.sock:/var/run/docker.sock # 用于 Docker 容器监控 ports: - "3001:3001" # : restart: always ``` + +完成上述部署后,Uptime Kuma 服务将在你的服务器上启动。你可以通过浏览器访问 `http://<你的服务器IP或域名>:3001` 来使用 Uptime Kuma 的监控服务。这将为你提供一个可视化的界面,通过它你可以轻松地添加和管理监控项。 diff --git a/docs/services/dockers-on-nas/xiaoya.md b/docs/services/dockers-on-nas/xiaoya.md index 0fdd902ef..e0a965237 100644 --- a/docs/services/dockers-on-nas/xiaoya.md +++ b/docs/services/dockers-on-nas/xiaoya.md @@ -29,7 +29,7 @@ bash -c "$(curl http://docker.xiaoya.pro/update_metainfo.sh)" -s /volume1/docker ## 部署小雅 Alist -以下是小雅 Alist 的 Docker 部署示例,帮助你快速开始: +推荐通过 Docker Compose 部署小雅 Alist,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: "3.3" @@ -49,6 +49,6 @@ services: restart: always ``` -通过上述的配置和步骤,你可以方便地集成和管理来自阿里云盘的丰富资源,并通过 Emby 享受高质量的播放体验。同时,也请留意资源管理和下载的相关问题,并根据实际情况进行调整和优化。希望你能通过小雅 Alist 和 Emby 打造出一个既私密又高效的个人影音库。 +部署完成后,通过浏览器访问 `http://<你的服务器IP或域名>:6789` 即可在线观看视频资源。你可以方便地集成和管理来自阿里云盘的丰富资源,并通过 Emby 享受高质量的播放体验。同时,也请留意资源管理和下载的相关问题,并根据实际情况进行调整和优化。希望你能通过小雅 Alist 和 Emby 打造出一个既私密又高效的个人影音库。 如果你在部署或使用过程中遇到任何问题,欢迎在评论区留言交流,我们可以一起探讨解决方案。 diff --git a/docs/services/dockers-on-nas/xteve.md b/docs/services/dockers-on-nas/xteve.md index 3b82b0973..4e91f73cd 100644 --- a/docs/services/dockers-on-nas/xteve.md +++ b/docs/services/dockers-on-nas/xteve.md @@ -6,9 +6,7 @@ order: 5 [XTeVe](https://github.com/xteve-project/xTeVe) 是一款功能强大的 IPTV 管理工具,专为那些希望合并、管理和定制 IPTV 源的用户设计。无论是合并 M3U 或 XMLTV 文件,自动更新这些文件,还是导出供 Plex 和 Emby 使用,xTeVe 都能提供灵活的解决方案。此外,xTeVe 还支持频道过滤、频道信息编辑(包括名称、台标、分组、排序和分类)、为每个频道设置独立的节目单、设置缓存等高级功能。 -Github 和 Gitee 上有许多 IPTV 源。例如,国外的 IPTV 源可以通过 获取。同时,您可以通过以下链接进行频道搜索:。 - -xTeVe 的默认端口是 34400,其管理界面可通过访问 `:34400/web/` 来进入。 +Github 和 Gitee 上有许多 IPTV 源。例如,国外的 IPTV 源可以通过 获取。同时,你可以通过以下链接进行频道搜索:。 ## 设置指南 @@ -28,7 +26,7 @@ xTeVe 的默认端口是 34400,其管理界面可通过访问 `:34400/web/` ## 部署 xTeVe -以下是 xTeVe 部署的 Docker Compose 配置示例: +推荐通过 Docker Compose 部署 xTeVe,详情请见 [Docker Compose 部署教程](./#%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B)。以下是 Docker Compose 配置示例: ```yml version: '3' @@ -51,4 +49,4 @@ services: max-file: '3' ``` -通过上述配置和步骤,您可以搭建一个个性化、高效管理的 IPTV 服务器,享受丰富多样的电视直播内容。无论是家庭娱乐还是个人爱好,xTeVe 都能满足您的需求,为您提供更自由、更灵活的电视观看体验。 +xTeVe 服务默认监听在 34400 端口,你可以通过访问 `http://<你的服务器IP或域名>:34400/web/` 来打开管理界面。xTeVe 是一个个性化、高效管理的 IPTV 服务器,享受丰富多样的电视直播内容。无论是家庭娱乐还是个人爱好,xTeVe 都能满足你的需求,为你提供更自由、更灵活的电视观看体验。