构建您自己的私有自托管全栈个人云系统

2020-06-09 10:23:19

您可能会惊讶地发现,使用您自己的设备在您自己的家中构建和维护自己的私有云系统不仅是可能的,而且相对容易,而且非常有趣和有价值。以下说明应提供从头开始构建支持多主机的个人云计算平台所需的一切。这个项目主要使用现成的技术,灵感来自于拱门方式(简约、现代、实用、以用户为中心、多功能性),目的是只需要少量的技术关注,并允许广泛的表达和功能。在完成以下步骤之后,您将拥有一个功能齐全的个人私有云系统,可以根据您的需要将其塑造成您想要的服务。我不知道你怎么样,但我知道我很兴奋,所以我们开始吧。

[边缘节点VPS]|[LAN节点]|[Wireguard]<;。-+|。。|.。[-球童-]。|.。|。|.。V|V。|.。[APP]|[APP]。|.。v.。|.。[应用程序]。|.。。+。。。。。。。。。。。。。。。。。+**互联网*家庭网络云**。

通过这个平台,您可以从任何地方、任何设备安装、拥有、操作和访问您选择安装的任何云软件。

聊天*照片*呼叫*文件存储*音乐*笔记*天气*新闻*等。

你将拥有自己的公共域名,就像https://bobspersonalwebsite.com一样,解析来自你从零开始构建的云系统的数据和应用程序,该云系统在你自己的家庭网络内的设备上运行。

Raspberry PI(v3或更高版本,或采用PC或虚拟机的说明)。

如果您还不熟悉Wireguard和Docker,您可能需要先熟悉一下它们,因为它们在本项目中扮演着核心角色。这些说明假定您熟悉基于命令行的安装和配置。对于文本编辑,我们将使用vim,请随意使用您选择的文本编辑器替换vim。

如果这听起来像你喜欢的茶,亲爱的读者,继续往下看。或者,如果你更喜欢自动化一点的东西,可以考虑一下这些。

边缘节点充当轻量级、始终在线的公共接入网关,主要路由流量,提供保密层并缓解NAT问题。

在您喜欢的VPS服务(如Digital Ocean或Vultr)上创建一个VPS实例。(使用以下附属链接支持此项目:数字海洋|Vultr$100,30天免费信用。)。

出于本教程的目的,我们将假定您的边缘节点IP地址为198.51.100.1。

我们将使用Wireguard通过您的NAT来路由流量,并提供一层隐私来保护您的家庭IP地址的私密性。您可以认为这有点像反向VPN。

在docker中运行服务使事情保持整洁和可管理,我们将设置docker以包含我们的边缘服务,从反向代理Web服务器开始。

Caddy超级易于使用,自动支持let的加密https证书,并将用于将我们的域请求路由到我们的主节点网络。

使用您自己的现有域或注册一个新的域。|Namecheap--使用此关联链接支持此项目。

使用CloudFlare作为您的名称服务器(将您的域名服务器设置为您的CloudFlare帐户指示的名称服务器名称。)

DNS配置A记录以指向您的VPS的IP。启用CloudFlare代理的情况下。例如[email protected](将example.com替换为您的域名,198.51.100.1是示例地址,无论何时看到198.51.100.1地址,请使用您的边缘节点的IP地址。)。

将CloudFlare配置为CNAME记录edge.example.com(将.example.com替换为您的域名,例如edge.youdomain.com),将其指向您的域名,而不使用CloudFlare代理(单击可生成灰云)。例如CNAME edge example.com。

做得好!。此时,您拥有一个具有公开分配域名的工作边缘节点,可以接受Web流量并将其转发到您的本地网络。现在可能是休息一下,出去散散步的好时机。下一个就是..。本地节点!

本地节点位于您的家庭网络中。在这个系统中,本地节点几乎就是一切存在和发生的地方。云系统可以从一个或多个主机构建,但为了简单起见,我们将只从一个节点开始,即Raspberry PI。

PI套件$100这是一个套件,请随意获取任何PI设置v3或更高版本。

注意:如果您没有PI,您可以使用虚拟机或笔记本电脑,如果是这样,请注意您可能需要根据您的情况调整这些说明。

在这里,我们将设置本地侧布线。当本地节点引导并获得Internet连接时,它将自动连接到您的边缘节点,并且可以虚拟地访问外部请求。

本地节点服务在码头容器内设置。Web请求通过Cady(在容器中运行)被路由到其他容器化进程,但都映射到您的域名内的URL。

当web请求到达您的边缘节点时,它会命中您的边缘节点Caddy实例,该实例通过wireguard将请求路由到您的本地Cdy,然后本地Cdy再将其路由到在该url上运行服务的docker容器。

太棒了!!一切都是相连的!您现在拥有一个公有域,该公有域由您的本地网络中的设备提供服务。凉爽的。接下来,让该节点执行操作。

云需要做一些事情,您将能够将您的云构建成任何适合您的东西。在这里,您将找到几个示例来帮助您入门,我们将从一个简单的静态文件服务器开始,然后再转到动态应用程序。

在这里,您可能还会注意到,如果您输入http://example.com,您将被转发到安全链接https://example.com.。

这里有几个可以尝试的应用程序安装程序,请单击其中一个或跳转到更多页面查看扩展列表。

好了。你自己的云。让我们知道你怎么处理你的!

有时情况会发生变化,或者可能存在键入错误的命令。这里有一些提示和小贴士,可以让错误的事情重回正轨。