Lobsters | 📄 原文链接 | 2026-10-17 收录

用 Incus OS 搭一套自托管基础设施:默认拒绝网络、没有 SSH

来源:dataswamp.org — 2026-10-15

📋 概述

Solène 用七个月的业余时间重建了家里的自托管环境,思路借自 SecNumCloud 与 ISO 27001 那套做法。硬件只是一台 16GB 内存的笔记本,跑 Incus OS——一个只有 Incus 的小型不可变系统,Secure Boot 开启、A/B 分区更新可回滚、没有本地 shell 与 SSH、磁盘由 TPM 加密。其上约二十个 Ubuntu 系统容器对应各一项服务(Nextcloud、Forgejo、Immich、PeerTube、Vaultwarden、监控栈、CrowdSec 等),敏感部分用两台虚拟机;每个系统容器内部再跑 podman 容器,由 systemd quadlet 管理,形成两层容器。全部由 git 仓库里的 OpenTofu 与 cloud-init 声明,系统容器是非特权容器。网络默认双向拒绝,出站走代理,公网流量经反向代理,其余服务只从 VPN 访问。作者列出的难点包括:sops 不在目标发行版打包里、Incus ACL 双向放行的心智负担、OpenTofu 的启动顺序依赖、CrowdSec 配置、以及 NAT 与容器叠加下取真实来源 IP(最终靠 haproxy 与 PROXY 协议解决)。

🔑 核心要点

💡 金句

这花掉了我七个月的业余时间,但我在容器和 cloud-init 上学到了很多。如果你喜欢可抛弃的系统、默认拒绝的网络、以及完全没有 SSH 这套想法,希望这篇文章给了你一些启发。
← 返回 Lobsters 首页