十二个构建

全部内容,而不是前半部分。

每份指南都将一个空实例变成一项你可以将真实流量指向的服务。命令按打印顺序从上到下运行,占位符已标记为占位符,最后一部分始终是测试。这里没有指南以“然后根据口味配置其余部分”结束。

01

指南不是知识库条目

两种格式都存在,因为每种格式在做对方的工作时都很糟糕。将它们混合,你会得到那种解释每个标志作用的文档,却从不告诉你需要哪些标志。

知识库在一分钟内回答问题。指南花费你一个下午,并在最后留下一个运行的服务器。

知识库条目以你已有的东西和它的错误之处开始:重启后无法恢复的挂载、续订但未重新加载的证书、无法获取提示符的救援控制台。它之所以短,是因为上下文已经在你的脑海中。你带着问题来,带着答案离开。

一本指南始于一无所有。你已经支付了发票,拿到了 root 凭据,而机器是一台未经配置的镜像,位于你因自己的原因选择的城市。最后你得到了一个通过认证检查的邮件服务器,或者一台运行嵌套客户机的 hypervisor,或者两个太字节的数据,它们与你今天早上所在的国家不同。上下文是在过程中建立的,这也是为什么这些指南长达数千字而不是二百字。

这样写更费功夫,也更容易发现错误。本页的每篇指南在发布前都在新部署的实例上从头到尾运行过,并且每当上游项目发布破坏性的改动时都会重新运行。每篇标题顶部的日期是最后运行的日期,而不是某个人草草浏览过的日期。

01

一件完整的事

不是六种选择加耸肩的概览。每篇指南选择一个方法,说明为什么,然后构建它。如果真的有替代方案,用一句话和一个链接说明,然后继续。

02

按顺序执行的命令

在全新镜像上按打印顺序复制它们就能运行。如果第九步需要第二步安装的软件包,第二步就会安装它。不依赖任何你没有被告知创建的状态。

03

一台命名的机器

每一次构建都说明它是在哪一行上写的,以及如果你使用更小的配置会发生什么。假设 64 GB ECC 内存的 Postgres 调优对于 16 GB 的盒子是无用的建议,所以我们在开头说了。

04

枯燥的中间部分

文件所有权、systemd 单元加固、防火墙规则、日志轮转。这是大多数教程跳过而决定服务在三月是否仍在运行的部分。

05

最后的测试

每篇指南都以命令结束,其输出能明确告诉你构建是否成功。不是“你现在应该看到登录页面”,而是有退出码或可读的头部。

如果页面最后一行的内容是“然后配置你的防火墙”,那不是指南,而是购物清单。
内部审查清单第四项
02

如何在不花费整个晚上的情况下遵循一篇指南

这些是为那些在输入任何命令之前阅读整页的人写的。这个习惯每次构建大约能节省一个小时。

除非指南另有说明,否则假设为全新的 Debian 13 镜像和 root shell。其他一切在前两段中说明。

  1. 01

    部署一些全新的东西

    把指南应用于一台已经运行着三项服务的机器,你会发现它们中有一个悄然占用了 8080 端口。新实例不到一分钟就能创建,之后可以销毁。

  2. 02

    通读一遍

    特别是 DNS 步骤。这里一半的构建需要某个记录传播后后续命令才能成功,而了解到这一点的最便宜方式是第一次阅读时,而不是在第十一步。

  3. 03

    替换占位符

    任何类似于 example.com、2001:db8: 或 <尖括号> 的内容都由你来替换。文档范围是刻意使用的,以便复制粘贴错误能够响亮的失败,而不是悄然到达陌生人的网络。

  4. 04

    在不可逆部分之前快照

    重新分区、发行版升级,任何涉及“擦除”一词的操作。快照包提供五个槽位,并且恢复在几秒内完成,这比重复第一步到第九步更便宜。

  5. 05

    运行验证

    它是每篇指南的最后一节,它的存在是因为“它似乎启动了”与“它正常工作是两码事。花两分钟检查比从用户那里发现问题要好。

本页没有任何内容将远程脚本管道传输到 shell。如果上游项目只提供这种方式安装程序,指南会展示如何获取它、阅读它并将其作为文件运行——你应该知道你的机器上装了什么,我们也是。

03

每篇构建需要哪些机器

其中大多数在最小的 Ryzen 实例上运行良好。其中有四个不适用,选错这些行会浪费你一个下午,然后才能进入有趣的部分。

如果指南指定了某个方案,那就是经过测试的方案。选更小的通常没问题,如果不行会在文中注明。选更大的不会改变任何东西,只会改变你填入配置文件中的数值,而这些指南中涉及算术的部分会展示算术过程。

构建目标项目为什么选这个
WireGuard、Tor 中继、Matrix、监控Ryzen R-4单线程、网络密集、工作集很小。更多核心不会改变任何东西。
邮件服务器、CI 运行器、NextcloudRyzen R-8构建步骤和反垃圾邮件都依赖快速核心。镜像构建是这里最重的负载。
PostgresEPYC E-8 及以上该指南中的调优假设 64 GB ECC 内存以及 NUMA 感知的绑定。
本地推理GPU G-L40S48 GB 显存,直通访问。共享显卡是别人的排队问题。
Seedbox存储 S-5050 TB 大容量存储,前置 NVMe 写入层,端口带宽足以快速清空。
Proxmox 及嵌套客户机裸金属 BM-E嵌套虚拟化需要物理机。中间没有我们的虚拟机管理程序。
在两个站点之间移动两 TB 数据任意两个实例针对存储节点和 Ryzen 机器编写,但方法在任何规模下都一样。

每个指南都假设每个实例附带路由的 IPv6 /64 前缀。其中两个指南要求使用 /48 前缀,因为从单个 /64 分配每个客户端的子网意味着要代理邻居发现,而代理 IPv6 是你以排障为生而非运行的东西。

隐私

03

基础设施

04

Development

02

媒体

01

网络

02
04

关于指南的问题,而非关于构建的问题

大部分能用。属于我们的是面板步骤、路由前缀以及专用核心的假设。其他都是原版 Debian 和上游软件,因此命令可以移植到任何提供 root 且不超卖 CPU 的提供商。

因为把十二个指南写五遍会让文档过时。Debian 13 是我们的默认镜像,软件包名称多年不变,将某个步骤转换为 AlmaLinux 或 Alpine 只是替换包管理器,而不是重写。完整镜像列表见操作系统页面。

告诉我们。当我们听到某个指南失效时,会针对全新镜像重新运行,修正版会在同一周发布,并更新顶部的日期。提交包含命令和错误的工单就足够了,您无需为我们诊断。

我们支持底层机器、网络和存储。凌晨三点调试您的 Postfix map 文件不属于支持范围,而且我们也不擅长。托管加固可以作为附加服务,由他人维护基线。

其中八个可以,而且 R-4 是几个指南的编写环境。Postgres、推理、seedbox 和 Proxmox 构建需要上面表格中指定的方案;其余的在四个专用核心和 16 GB 内存下运行舒适。

随时恭候

选择城市,部署,然后跟着做。

您进行这些构建所需的大多数实例,其成本低于您在构建时喝的咖啡。以加密货币支付,等约四十七秒,然后从第一步开始。