2026年值得自托管的25个应用
精选2026年值得运行的25个自托管应用,按用途分组,说明可替代的服务、真实内存和磁盘需求,以及每个应用最容易踩的配置陷阱。
构建内容
这不是一个应用,而是一份精选清单。这是本网站其他内容的中心:2026 年真正值得在自己的 VPS 上运行的 25 个应用,并按用途分组。对于每个应用,您都能看到它所替代的服务、真实的内存和磁盘占用,以及跳过配置后最可能遇到的一个问题。如果某个应用有完整的分步指南,链接会指向该指南。
我运营 VPS 主机已经 15 年,大多数应用也运行在我自己的服务器上。因此,下面的资源数据反映的是应用在小型实际负载下的真实占用,而不是营销页面上的“最低配置”。请将这些数据视为预算,并预留额外余量。
前置条件与实际情况
这里的每个应用都运行在全新的 Ubuntu 24.04 KVM VPS 上,并使用 root 或 sudo 权限。相同的清单同样适用于您自己机柜中的服务器。如果您正在比较每月租用 VPS 与一次性购买内存的成本,在家使用 Proxmox 与租用 VPS 的对比会详细计算硬件和电力成本。这里几乎所有应用都以 Docker 容器形式发布,因此只需安装一次 Docker,即可运行整份清单:
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world如果 docker 命令因 permission denied while trying to connect to the Docker daemon socket 失败,说明您跳过了用户组配置,或没有打开新的 shell。请退出登录后重新登录。如果 docker compose 返回 docker: 'compose' is not a docker command,说明您使用的是旧版独立二进制文件;上面的脚本会安装新版 Compose 插件,调用方式为 docker compose(中间是空格,不是连字符)。
以下三点实际情况决定了后续内容的整体结构。第一,限制因素是 RAM,而不是磁盘或 CPU。 1 GB VPS 只能运行一个小型应用,除此之外什么也运行不了。对于“自行托管几个服务”的服务器,4 GB 才是实际的最佳容量。2 GB 处于尴尬的中间状态:初学者再部署第三个服务后,触发无提示的 Out-Of-Memory 终止,却始终弄不清容器为什么突然消失;sudo dmesg 会显示守护进程吞掉的 Out of memory: Killed process 行。第二,任何公开服务都需要域名和证书。裸 IP 适合测试,但一旦需要让手机应用或浏览器信任服务,就会失败。第三,两个端口决定了一半的选项:要实现自动 TLS,80 和 443 必须能访问服务器;而大多数服务商都会阻止出站 25 端口,这也是电子邮件被列入末尾“不要部署”清单的原因。
文件和照片
- Nextcloud 在一个套件中替代 Google Drive、Dropbox 和 Google Calendar。内存预算为 1–2 GB,此外还要根据文件总大小预留存储空间。需要注意的是:SQLite 适合演示环境,但用于生产环境会带来问题。首次启动时就应将其安装在 PostgreSQL 上,因为数据写入后再迁移数据库,是导致 Nextcloud 损坏的最常见原因。完整的 使用 Docker、TLS 和备份在 VPS 上部署 Nextcloud 指南会在首次部署时正确完成配置。
- Immich 可替代 Google Photos,手机应用会自动上传相册,并支持人脸和物体搜索。内存预算为 6 GB;Immich 文档将其列为最低要求,8 GB 使用起来更宽裕。机器学习容器最占用资源。磁盘空间应至少等于照片库大小,并额外预留约百分之二十用于缩略图。需要注意的是:Immich 在不同版本之间仍可能发布不兼容的变更,因此绝不要盲目拉取
latest;应固定版本,并在每次升级前阅读发布说明。自托管 Immich 照片库 指南介绍了安全的升级流程。如果您的服务器内存不足 6 GB,并排比较 PhotoPrism 和 Immich 会根据实际内存占用、手机应用以及两者在提交照片库前各自需要的备份命令,对这两个方案进行比较。 - Seafile 以三者中最快的同步引擎替代 Dropbox。内存预算约为 1 GB。需要注意的是:Seafile 将文件存储为内容寻址的数据块,而不是磁盘上的普通文件,因此不能使用
ls浏览这些数据;您必须通过 Seafile 自带的工具进行备份,不能直接复制目录。
密码
- Vaultwarden 是 Bitwarden 付费版、LastPass 和 1Password 的替代方案。它是一个占用资源很小的 Rust 服务器,使用 Bitwarden 协议,因此所有官方 Bitwarden 应用和浏览器扩展都可以直接使用。准备 100–200 MB 内存,磁盘占用几乎可以忽略。需要注意的是:此服务器保存您拥有的全部密码,因此 TLS 和备份不是可选项,而是部署它的核心目的。请将
ADMIN_TOKEN设置为 Argon2 哈希值,因为将明文令牌写入 compose 文件,就等于把主密钥以明文形式存放。Vaultwarden 密码管理器指南是最适合作为首次自托管实践的方案。
媒体
- Jellyfin 可替代 Plex;对于个人媒体库,也可替代 Netflix。它完全开源,无需账号,也不对远程流媒体播放设置付费墙。空闲时预留 1–2 GB RAM,但转码时 CPU 使用率会大幅升高。需要注意的是:软件转码 4K 流会耗尽小型 VPS 的资源;应为服务器提供硬件加速,或将文件保存为客户端可直接播放的格式(Direct Play),这样服务器只需转发数据。Jellyfin VPS 媒体服务器指南会说明两者的区别。服务运行后,Halcyon 会在浏览器中将同一媒体库变成可浏览的 90 年代租赁店。这是我所知最荒诞、也最有效的办法,可以让全家浏览媒体架,而不是不停滚动页面错过所有内容。
- Navidrome 可替代 Spotify,用于管理个人音乐,并向任何兼容 Subsonic 的应用提供流媒体播放。预留 150–300 MB RAM 即可。它使用 Go 编写,资源占用几乎可以忽略。需要注意的是:首次扫描媒体库时会读取每个文件的标签;大型音乐库可能需要 1 小时。ID3 标签混乱,浏览体验也会随之变差。
- Audiobookshelf 可替代 Audible 和播客应用,并在不同设备之间保留播放位置。预留 200–500 MB RAM。需要注意的是:它要求严格按照“每本书一个文件夹”的结构组织文件。导入文件夹混乱时,生成的媒体库也会混乱,部分内容无法识别,之后修复起来很麻烦。
自动化与 AI
- n8n 使用由您掌控的可视化工作流构建器替代 Zapier 和 Make,并且不会按任务收费。建议预留 400 MB–1 GB RAM。需要注意的是:n8n 会使用首次运行时生成的密钥加密存储的凭据。如果丢失该密钥,或忘记设置
N8N_ENCRYPTION_KEY导致密钥重新生成,所有已保存的凭据都会变得无法读取,您必须重新输入全部凭据。使用 HTTPS 部署自托管 n8n指南会固定该密钥,并在 webhook URL 前配置真实证书。 - Ollama 可替代 ChatGPT 订阅,用于在本地进行私有 LLM 推理。资源需求取决于模型:7–8B 模型大约需要 8 GB RAM,每个模型在磁盘上占用 4–8 GB。需要注意的是:在仅使用 CPU 的 VPS 上,推理结果可靠,但速度较慢。请按每秒生成的词数评估,而不要期待托管 API 提供的即时响应。应据此设定预期,或租用 GPU 服务器。运行 Ollama 自托管 LLM指南提供了实际的资源数据。
通信
- Rocket.Chat 可作为团队的 Slack 替代方案,支持线程、通话和集成。建议分配至少 2 GB RAM,因为它运行在 MongoDB 上,而 MongoDB 是主要的资源消耗来源。需要注意的是:每个 Rocket.Chat 版本都固定对应一个特定的 MongoDB 主版本。升级时跳过版本会导致数据库无法继续使用,因此必须逐个版本升级。使用 Docker Compose 部署 Rocket.Chat 指南介绍了版本升级路径。
- Matrix (Synapse) 可通过联邦式、端到端加密的网络替代 Slack 和 Discord,同时由您控制自己的 homeserver。建议分配 1–2 GB RAM;加入大型公共房间后,内存需求会继续增长。需要注意的是:Synapse 在大型联邦房间中的内存使用量会显著增加,而且必须运行在 PostgreSQL 上。默认的 SQLite 仅适用于单用户测试,一旦启用联邦功能就会出现性能问题。如果 Synapse 资源占用过高,可以使用更轻量的 Conduit 或 Dendrite 服务器;它们支持相同的协议。
网络与访问
- WireGuard 可替代商业 VPN,为您提供连接到自有 IP 和其他服务的私有隧道。资源开销几乎可以忽略,内存占用低于 50 MB,密码运算在内核中执行。注意:在基于容器的虚拟化环境(OpenVZ、部分 LXC)中,模块会因
RTNETLINK answers: Operation not supported而失败;应选择 KVM。自托管 WireGuard VPN 指南可作为参考。将其与绑定到该隧道的服务配合使用,可以让这些服务完全不暴露在公网中。如果您不想为每台新设备手动编辑对等端配置,在 VPS 上运行 Tailscale 子网路由器,则可以在批准路由并让 IP 转发在重启后继续生效后,将整个私有地址范围通告给其他设备。 - Traefik 可替代手写的 nginx 虚拟主机配置和手动续期证书。它通过 Docker 标签发现容器,并自动获取 Let's Encrypt 证书。内存预算约为 100 MB。注意:基于标签的配置模型起初确实容易混淆,单个标签错误就可能导致应用没有路由,而且不会显示明显错误。为多个 Docker 应用配置 Traefik 反向代理 指南正是为让本页中的多个应用通过同一个入口运行而编写的。
- AdGuard Home 可替代 Pi-hole 主机和付费 DNS 过滤服务,在 DNS 层为网络中的所有设备拦截广告和跟踪器。内存预算为 100–150 MB。注意:它需要占用端口 53,而这会与 Ubuntu 上的
systemd-resolved冲突;在先释放该端口之前,它会因listen udp 0.0.0.0:53: bind: address already in use而无法启动。
监控
- Uptime Kuma 可替代 Pingdom、UptimeRobot 和 StatusPage,提供简洁的仪表板,并支持向几乎所有渠道发送告警。预留 150–300 MB RAM。这里最容易被忽略的一点是:应从另一台服务器监控生产服务器。若 Uptime Kuma 与被监控服务器运行在同一台机器上,该服务器宕机时,Uptime Kuma 无法通知您。Uptime Kuma 状态监控指南介绍了如何将其部署在外部服务器上。
- Zabbix 可替代 Datadog 和企业级监控套件,提供基于 agent 的深度指标、触发器和历史数据。预留至少 2 GB RAM,另外还需要独立的数据库。这里的问题是:Zabbix 功能强大,部署和配置确实很复杂。监控三个容器时使用它属于过度配置;监控整组服务器时,它才是合适的工具。先从 Uptime Kuma 开始;当您确实有基础设施需要监控时,再升级到 Zabbix 监控服务器。
此处有意没有列出 Prometheus 和 Grafana:它们非常适合大规模服务器集群,但运行和调优成本高于两三台服务器的个人环境所需。在这种规模下,Uptime Kuma 和 Zabbix 能以更少的维护工作回答相同的问题。
控制面板和仪表板
这类工具会改变整个管理方式。您不再手动运行 compose 文件,而是由控制面板管理应用。
- Cloudron 通过完善的应用商店、自动 TLS 和内置备份,实现“一键安装”应用。最低需要 2 GB RAM,4 GB 使用起来更宽裕。需要注意的是:它采用强约束的管理方式,希望接管整台服务器;免费版最多支持两个应用,超过后需要付费。
- CasaOS 用友好的应用网格替代杂乱的家庭实验室仪表板,免费且轻量。CasaOS 本身大约需要 150 到 300 MB。需要注意的是:它面向受信任的家庭网络,并未针对公网进行安全加固。不要直接将其暴露到公网;应通过 WireGuard 访问。
- Coolify 可在您自己的服务器上替代 Heroku、Vercel 和 Netlify,提供 git-push 部署、数据库和预览环境。最低需要 2 GB RAM。需要注意的是:这是一个较新的项目,迭代速度较快,因此升级前应固定版本并阅读发行说明。Cloudron、CasaOS 与 Coolify 对比详细说明了三者分别适合哪些用户。
开发与生产力工具
- Gitea(或 Forgejo) 可替代 GitHub,用于私有仓库、问题跟踪和 CI。预计需要 200–500 MB RAM。需要注意:Forgejo 是由社区治理的 Gitea 分支,也是目前许多人更推荐的选项;两者都很优秀,但应选择其中一个,并同时备份仓库和数据库。只备份仓库而不备份数据库,会丢失所有问题和拉取请求。
- Paperless-ngx 可替代文件柜和付费文档扫描服务,通过 OCR 处理所有内容,使文档支持搜索。预计需要约 1 GB RAM,OCR 期间 CPU 使用率会短时升高。需要注意:OCR 结果取决于扫描件质量,重新处理大型存档会很慢。批量导入十年的纸质文档前,应先完成调优。
- Actual Budget 可替代 YNAB 和 Mint,提供快速、本地化且私密的信封预算管理。预计需要约 150 MB RAM。需要注意:自动银行同步是单独的附加组件,需要单独配置,因此开箱即用时需要手动导入交易记录。
- FreshRSS 可替代 Feedly 和已经停止服务的 Google Reader,是一款快速、私密的订阅源阅读器,并提供移动应用。预计需要约 150 MB RAM。需要注意:应配置基于 cron 的订阅源刷新,否则只有在打开页面时订阅源才会更新。
- BookStack 可替代 Notion 和 Confluence,用于文档管理,并按书架、书籍和页面组织内容。在 PHP 和 MySQL 环境下预计需要约 500 MB RAM。需要注意:它按照自身的结构组织内容,而不是提供自由格式的笔记。有些人喜欢这种方式,有些人则认为它过于僵化。应先进行试用,再决定是否将整个 wiki 迁移到其中。
- Home Assistant 可替代 SmartThings 和十多个厂商应用,在本地统一管理智能家居。预计需要约 1 GB RAM。需要注意:许多功能需要通过本地网络访问设备,因此它更适合运行在家中的硬件上,而不是远程 VPS 上。如果必须远程使用,可以远程运行控制面板,再通过桥接方式连接回家庭网络。
一个典型的安装示例
下面给出一个自托管服务的完整结构:一个 compose 文件、一个有效证书和一个备份。这里使用 Uptime Kuma,但列表中的所有应用都遵循相同模式。
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
volumes:
- ./data:/app/data
ports:
- "127.0.0.1:3001:3001"
restart: unless-stoppeddocker compose up -d
docker compose logs -f注意 127.0.0.1::应用只监听 localhost,Traefik 或 nginx 等反向代理在前端终止 TLS。直接绑定到 0.0.0.0:3001,会让人意外地将未加密的管理面板暴露给整个互联网。
暂时不应自行托管的服务
- 电子邮件。 这是最需要如实说明的一项。大多数 VPS 提供商都会阻止出站端口 25。您会从
telnet aspmx.l.google.com 25看到Connection timed out,而且没有任何设置可以修复,因为这是提供商的策略。即使端口 25 已开放,新的 IP 没有信誉、PTR 记录、SPF、DKIM 和 DMARC,邮件也会进入垃圾邮件,或直接被拒收。这是一项持续投入的实际工作,不是一个周末就能完成的项目。如果您确定要这样做,请先阅读 使用 Mailcow 自行托管电子邮件 指南,充分了解其中的风险,并准备花数月时间维护邮件送达率。 - 任何无法可靠备份和恢复的内容。 如果您从未执行过测试恢复,那么您没有备份,只有希望。在确认恢复过程有效之前,不要将不可替代的数据、照片的唯一副本或账户放到该服务上。
- 关键依赖项的唯一副本。 如果自行托管的 DNS 服务器一旦崩溃,就会导致整个网络无法访问互联网,那么它不适合作为第一个项目。请保留上游备用服务。
- 实时安全系统。 家庭警报、医疗警报,以及任何停机 5 分钟就会造成实际问题的系统,都不应部署在您只会在周日晚上升级的业余设备上。
如何选择第一个应用,以及两项不可妥协的要求
选择能够免去一项令您厌烦的账单,或解决一项您确实在意的隐私问题的应用。实际上,最适合首次安装的通常是 Vaultwarden 和 Uptime Kuma:两者都很轻量,也能立即发挥作用,即使操作失误也容易恢复。先让一个应用完整运行起来,包括安装、证书、备份和恢复测试,然后再添加第二个。您要培养的是运维能力,而不是点击安装按钮。
上面列出的每个应用都必须满足以下两点,没有例外:
- 所有公网服务都启用 TLS。 裸 IP 加明文传输的服务只能算演示,不能算部署。使用 在 nginx 上配置 Certbot 和 Let's Encrypt 为其配置有效证书,或者让 Traefik 自动完成。然后使用 在 Ubuntu 24.04 上为 SSH 配置 Fail2ban 加固入口。
- 备份必须经过实际恢复验证。 每晚自动执行转储,同时备份数据库和数据卷,将备份发送到服务器之外,并且每月恢复到一次性 VPS 上,以确认备份确实可用。磁盘损坏当天,才发现备份文件为空,就太晚了。
正确完成这两点,自托管会变得很有价值。跳过它们,您就只是在等待故障发生。
这些选项涵盖从实用到荒诞的各种场景:既可以搭建供家人使用的 VPS 上的 Minecraft 服务器,也可以尝试——如果您喜欢把它当作警示案例——世界上效率最低的数据中心。
FAQ
我应该先自托管什么?
Vaultwarden。密码管理器每天都能派上用场,可以替代一项订阅服务,并且会让您熟悉完整流程,包括 Docker、反向代理、TLS 和备份。即使配置出错,也可以在 10 分钟内重建,因为应用本身足够轻量。Uptime Kuma 适合作为第二个服务,这样您能在用户发现故障前先获知停机情况。
我实际需要多大配置的 VPS?
运行一个小型应用时,1 GB 内存就够用。若想舒适地运行多个服务,建议使用 4 GB 内存;2 GB 往往会遇到容器因内存不足而被静默终止,却难以判断原因。内存几乎总是限制因素。磁盘容量应根据计划存储的数据量配置;Immich、Ollama 以及使用大型数据库的应用通常会同时需要更多内存和磁盘空间。
哪些服务不应该自托管?
首先是电子邮件。大多数服务商都会阻止出站 25 端口,而确保邮件送达率需要持续投入大量精力。除此之外,任何无法可靠备份和恢复的服务,以及停机后会造成严重后果的单点故障,都不应自托管,例如没有备用解析服务器的 DNS 服务或家庭安全系统。此列表中的其他服务通常都可以自托管。
这些服务都需要 Docker 吗?
不需要,但建议使用。这里的每个应用都有 Docker 镜像,Docker 可以提供干净的安装和卸载流程,便于固定版本,也方便迁移到新主机。部分应用(WireGuard、Zabbix)也可以通过 apt 原生安装,具体取决于您的偏好。掌握一个 compose 文件后,其他 compose 文件的结构基本相同,因此整个列表都会更容易上手。
如何确保这些服务安全?
以下 4 个习惯可以覆盖大多数安全需求:为所有服务配置 TLS;仅允许使用密钥登录来限制 SSH,并通过 Fail2ban 禁止暴力破解尝试;只向公网开放确实需要的端口,其余服务通过 WireGuard VPN 访问;定期更新并阅读发行说明,避免升级带来意外。备份是第 5 个习惯。当之前的措施未能阻止错误时,备份可以帮助您恢复系统。