引言
"Self-hosting is the practice of hosting and managing applications on your own server(s) instead of consuming from SaaSS providers."
这是"一天一个开源项目"系列的第37篇文章。今天带你了解的项目是 awesome-selfhosted(GitHub),由社区维护。
你是否希望将应用部署在自己的服务器上,而不是依赖 SaaS 提供商?awesome-selfhosted 是一个庞大的资源集合,收录了数百个可以自托管的免费软件网络服务和 Web 应用,涵盖分析(Analytics)、自动化(Automation)、博客平台(Blogging)、通信(Email、IRC、XMPP、视频会议)、文件传输与同步、媒体流(音频、视频、多媒体)、开发工具(CI/CD、项目管理、IDE)、知识管理、密码管理、Wiki 等 100+ 个分类。每个条目包含项目名称、描述、Demo、源码链接、许可证、技术栈等信息,帮助用户快速找到适合自托管的替代方案。项目拥有 276k+ GitHub Stars 与 12.6k+ Forks,是自托管社区最权威的资源库之一。
你将学到什么
- awesome-selfhosted 的定位:自托管软件资源集合,解决「找什么可以自托管」的问题
- 分类体系:100+ 个分类,覆盖从分析到 Wiki 的各类应用
- 条目格式:每个条目包含的信息(名称、描述、Demo、源码、许可证、技术栈)
- 反特性标记:如何识别依赖专有服务的应用
- 与同类 Awesome List 的对比与价值
前置知识
- 了解自托管(Self-hosting)的基本概念:在自己的服务器上运行应用而非使用 SaaS
- 对 Docker、Kubernetes、PHP、Node.js、Python 等常见技术栈有基本认知
- 若想贡献,需了解 Awesome List 的格式规范
项目背景
项目简介
awesome-selfhosted 是一个社区维护的 Awesome List,专门收录可以自托管的免费软件网络服务和 Web 应用。它解决的核心问题是:如何找到可以替代 SaaS 服务的自托管方案。项目按照功能分类组织,每个分类下列出多个相关应用,每个条目包含:
- 名称与描述:应用的核心功能与定位
- Demo:在线演示链接(如有)
- 源码链接:GitHub/GitLab 等仓库地址
- 许可证:开源许可证类型(MIT、GPL、AGPL 等)
- 技术栈:编程语言、部署方式(Docker、K8S、PHP、Node.js 等)
项目还维护了非免费软件列表(non-free.md),收录需要付费或包含专有组件的应用;使用反特性标记(⚠)标识依赖专有服务的应用。
面向的用户群体:
- 自托管爱好者:希望将应用部署在自己的服务器上,掌控数据与隐私
- 寻找替代方案的开发者:需要找到开源替代品,替代 Google、Microsoft、AWS 等 SaaS 服务
- 企业 IT 管理员:需要私有化部署方案,满足合规与安全要求
- 学习自托管的初学者:通过浏览列表了解自托管生态
作者/团队介绍
- 组织:awesome-selfhosted(GitHub)
- 维护方式:社区驱动,有 1,228+ 贡献者
- 网站:awesome-selfhosted.net(HTML 版本,推荐)
- 许可证:Creative Commons Attribution-ShareAlike 3.0 Unported License
项目数据
- ⭐ GitHub Stars: 276k+
- 🍴 Forks: 12.6k+
- 👥 贡献者: 1,228+
- 📦 分类数量: 100+ 个分类
- 📄 许可证: CC-BY-SA-3.0
- 🌐 网站: awesome-selfhosted.net
- 📊 CI/CD: 自动检查死链与未维护项目
主要功能
核心作用
awesome-selfhosted 的核心作用是提供可自托管软件的发现与筛选:
- 分类浏览:按功能分类(Analytics、Automation、Blogging 等),快速找到相关应用
- 信息完整:每个条目包含 Demo、源码、许可证、技术栈,便于评估与部署
- 持续更新:社区持续贡献新项目,CI/CD 自动检查死链与未维护项目
- 反特性标记:明确标识依赖专有服务的应用,帮助用户做出知情选择
- HTML 版本:提供友好的网页版,支持搜索与筛选
使用场景
-
寻找替代方案
- 想替代 Google Analytics?查看 Analytics 分类
- 想替代 Slack?查看 Communication 分类
- 想替代 Dropbox?查看 File Transfer & Synchronization 分类
-
探索自托管生态
- 浏览不同分类,了解自托管可以覆盖哪些场景
- 发现新的开源项目与工具
-
评估技术栈
- 根据技术栈(Docker、PHP、Node.js 等)筛选应用
- 找到符合团队技术栈的解决方案
-
学习与实践
- 参考列表中的项目,学习自托管最佳实践
- 了解不同应用的技术架构与部署方式
快速开始
浏览方式:
- HTML 版本(推荐):访问 awesome-selfhosted.net,使用搜索与筛选功能
- Markdown 版本:访问 GitHub README,按分类浏览
查找应用:
- 确定需求类别(如「密码管理」)
- 在 Password Managers 分类下浏览
- 查看每个条目的 Demo、源码、技术栈
- 选择符合需求的应用进行部署
贡献新项目:
- 确保项目符合「免费软件」与「可自托管」要求
- 按照 Contributing 指南 格式提交 PR
- 包含名称、描述、Demo(如有)、源码、许可证、技术栈
核心特性
- 分类详尽:100+ 个分类,覆盖几乎所有类型的网络服务与应用
- 信息完整:每个条目包含 Demo、源码、许可证、技术栈,便于评估
- 持续维护:CI/CD 自动检查死链与未维护项目,社区持续更新
- 反特性标记:使用 ⚠ 标记依赖专有服务的应用
- 非免费软件列表:单独维护 non-free.md,收录付费或专有组件应用
- HTML 版本:提供友好的网页版,支持搜索、筛选与分类导航
- 多语言支持:部分应用支持多语言,列表会标注
- 相关链接:提供相关 Awesome List、社区、论坛等外部资源
项目优势
与其他资源集合的对比:
| 维度 | awesome-selfhosted | 普通软件列表 | 官方文档示例 |
|---|---|---|---|
| 专注领域 | 自托管软件 | 通用软件列表 | 官方推荐 |
| 分类详细度 | 100+ 分类,非常详细 | 通常较粗 | 按官方产品分类 |
| 信息完整性 | Demo、源码、许可证、技术栈 | 通常仅名称与描述 | 官方文档链接 |
| 反特性标记 | 有(标识依赖专有服务) | 通常无 | 无 |
| 持续更新 | CI/CD 自动检查,社区持续贡献 | 取决于维护者 | 官方更新 |
| HTML 版本 | 有,支持搜索与筛选 | 通常仅 Markdown | 官方网站 |
为什么选择 awesome-selfhosted?
- 最权威:276k+ Stars,是自托管领域最知名的资源集合
- 最全面:100+ 分类,覆盖几乎所有类型的应用
- 最实用:每个条目包含完整信息,便于快速评估与部署
- 最活跃:1,228+ 贡献者,持续更新与维护
- 最透明:反特性标记帮助用户做出知情选择
项目详细剖析
分类体系
项目按功能分类,主要大类包括:
核心服务类:
- Analytics:分析工具(Matomo、Plausible、Umami 等)
- Automation:自动化工具(Huginn、n8n、Apache Airflow 等)
- Backup:备份工具(链接到 awesome-sysadmin/Backups)
内容与通信类:
- Blogging Platforms:博客平台(Ghost、WriteFreely、FlatPress 等)
- Communication:通信工具(Email、IRC、XMPP、视频会议、社交网络等)
- Content Management Systems (CMS):内容管理系统(WordPress、Drupal、Joomla 等)
文件与媒体类:
- File Transfer & Synchronization:文件传输与同步(Nextcloud、ownCloud、Syncthing 等)
- Media Streaming:媒体流(音频、视频、多媒体,如 Jellyfin、Plex、Audiobookshelf 等)
- Photo Galleries:相册(Immich、PhotoPrism、LibrePhotos 等)
开发与工具类:
- Software Development:开发工具(项目管理、CI/CD、IDE、API 管理等)
- Note-taking & Editors:笔记与编辑器(Joplin、Standard Notes、HedgeDoc 等)
- Wikis:Wiki 系统(MediaWiki、DokuWiki、BookStack 等)
其他:
- Password Managers:密码管理(Bitwarden、Vaultwarden、Passbolt 等)
- Self-hosting Solutions:自托管解决方案(YunoHost、CasaOS、Sandstorm 等)
- Monitoring:监控工具(链接到 awesome-sysadmin/Monitoring)
条目格式
每个条目遵循统一格式:
- [项目名称](官网链接) - 简短描述(替代方案说明)。([Demo](演示链接), [Source Code](源码链接)) `许可证` `技术栈`
示例:
- [Matomo](https://matomo.org/) - Web analytics that protects your data and your customers' privacy (alternative to Google Analytics). ([Source Code](https://github.com/matomo-org/matomo)) `GPL-3.0` `PHP`
技术栈标注:
- 编程语言:
PHP、Nodejs、Python、Go、Rust等 - 部署方式:
Docker、K8S、deb(Debian 包)等 - 组合标注:
PHP/Docker、Nodejs/Docker/K8S等
反特性标记
项目使用 ⚠ 标记依赖专有服务的应用,例如:
Daily Stars Explorer ⚠:依赖 GitHub API(专有服务)Fredy ⚠:依赖 ImmoScout24 等第三方平台(专有服务)
标记帮助用户识别哪些应用不完全独立,需要依赖外部专有服务。
非免费软件列表
项目维护了 non-free.md,收录:
- 需要付费的应用
- 包含专有组件的应用
- 不完全开源的方案
主列表仅收录免费软件(符合自由软件定义),非免费软件单独列出。
HTML 版本
项目提供 HTML 版本,相比 Markdown 版本的优势:
- 搜索功能:快速搜索应用名称或描述
- 筛选功能:按技术栈、许可证筛选
- 分类导航:清晰的分类树形结构
- 响应式设计:适配移动端与桌面端
项目地址与资源
官方资源
- 🌟 GitHub: github.com/awesome-sel…
- 🌐 HTML 版本: awesome-selfhosted.net
- 📋 贡献指南: CONTRIBUTING.md
- 📄 非免费软件列表: non-free.md
- 📜 许可证列表: List of Licenses
相关资源
- Awesome List 规范
- awesome-sysadmin(系统管理工具)
- PRISM Break(隐私工具)
- privacytools.io(隐私工具推荐)
- IndieWeb(独立网络社区)
- theme.park(自托管应用主题集合)
适用人群
- 自托管爱好者:寻找可以部署在自己服务器上的应用
- 寻找替代方案的开发者:需要开源替代品,替代 SaaS 服务
- 企业 IT 管理员:需要私有化部署方案,满足合规要求
- 学习自托管的初学者:通过浏览列表了解自托管生态
- 开源项目维护者:希望自己的项目被更多人发现
欢迎来我中的个人主页找到更多有用的知识和有趣的产品