<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NAS on Wimi's Space</title><link>https://wimi.space/tags/nas/</link><description>Recent content in NAS on Wimi's Space</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 20 Apr 2025 12:47:39 +0800</lastBuildDate><atom:link href="https://wimi.space/tags/nas/index.xml" rel="self" type="application/rss+xml"/><item><title>自部署服务搭建方案说明</title><link>https://wimi.space/posts/2025/04/selfhosted-service-deployment/</link><pubDate>Sun, 20 Apr 2025 12:47:39 +0800</pubDate><guid>https://wimi.space/posts/2025/04/selfhosted-service-deployment/</guid><description>&lt;p>由于最近把域名迁移到了 &lt;a href="https://www.cloudflare.com/">CloudFlare&lt;/a> 并注销了原来的网站备案，导致原有的一些自部署服务页面无法正常访问，趁着周末时间重新整理下部署的服务并使用 &lt;a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/">CloudFlare Tunnel&lt;/a> 来搭建新的穿透方案。&lt;/p>
&lt;h2 id="原有方案说明">原有方案说明&lt;/h2>
&lt;p>原来的方案是使用云服务器作为 &lt;a href="https://gofrp.org/">FRP&lt;/a> 的跳板机，将家庭网络中的服务映射出来，以之前部署的 &lt;a href="https://github.com/hectorqin/reader">Reader&lt;/a> 服务为例，说明下旧的方案部署流程。&lt;/p>

&lt;details>
 &lt;summary>点击展开&lt;/summary>
 &lt;p>&lt;img src="https://static.wimi.space/blog/selfhosted-frp.svg" alt="">&lt;/p>
&lt;/details>

&lt;p>上面的网络结构中，服务都是运行在 NAS 的 Docker 容器中，容器之间的访问使用默认的 Bridge 桥接网络类型。在配置域名时，将规划好的二级或三级泛域名映射到云服务器的 frpc 端口；此时只需在容器中起一个 frpc 服务，与服务器部署的 frps 建立连接即可。增加新的服务时，需要在容器的 frpc 服务中配置新的服务和端口，并手动重启 frpc 服务。&lt;/p>
&lt;p>但是这种方案增减服务操作比较繁琐，我在这里使用了 &lt;a href="https://nginxproxymanager.com/">Nginx Proxy Manager&lt;/a> 来统一管理容器中的服务，这样的话 frpc 中只用配置 nginxpm 的连接，后续的服务修改直接在 nginxpm 的 WebUI 中管理即可。&lt;/p>
&lt;h2 id="新的方案流程">新的方案流程&lt;/h2>
&lt;p>基于 CloudFlare Tunnel 的方案流程基本与原方案一致，只是使用了 Tunnel 替代了原有方案中 FRP 服务的作用，且无需再使用自己的云服务器，成本大大降低。&lt;/p>
&lt;p>按照官方提供的 Docker 方式配置运行 CloudFlare 服务即可，只需将 nginxpm 的服务以及端口配置到 Tunnel 中，后续的服务依旧在 WebUI 中管理。&lt;/p>
&lt;h2 id="服务清单">服务清单&lt;/h2>
&lt;p>最后，列举出一些我正在使用的自部署的服务：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/usememos/memos">Memos&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/FreshRSS/FreshRSS">FreshRSS&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/portainer/portainer">Portainer&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://readeck.org/en/">Readeck&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/AlistGo/alist">Alist&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>