一天一个开源项目(第37篇):awesome-selfhosted - 自托管软件资源集合

引言

"Self-hosting is the practice of hosting and managing applications on your own server(s) instead of consuming from SaaSS providers."

这是"一天一个开源项目"系列的第37篇文章。今天带你了解的项目是 awesome-selfhostedGitHub),由社区维护。

你是否希望将应用部署在自己的服务器上,而不是依赖 SaaS 提供商?awesome-selfhosted 是一个庞大的资源集合 ,收录了数百个可以自托管的免费软件网络服务和 Web 应用 ,涵盖分析 (Analytics)、自动化 (Automation)、博客平台 (Blogging)、通信 (Email、IRC、XMPP、视频会议)、文件传输与同步媒体流 (音频、视频、多媒体)、开发工具 (CI/CD、项目管理、IDE)、知识管理密码管理Wiki100+ 个分类 。每个条目包含项目名称、描述、Demo、源码链接、许可证、技术栈等信息,帮助用户快速找到适合自托管的替代方案。项目拥有 276k+ GitHub Stars12.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-selfhostedGitHub
  • 维护方式 :社区驱动,有 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 的核心作用是提供可自托管软件的发现与筛选

  1. 分类浏览:按功能分类(Analytics、Automation、Blogging 等),快速找到相关应用
  2. 信息完整:每个条目包含 Demo、源码、许可证、技术栈,便于评估与部署
  3. 持续更新:社区持续贡献新项目,CI/CD 自动检查死链与未维护项目
  4. 反特性标记:明确标识依赖专有服务的应用,帮助用户做出知情选择
  5. HTML 版本:提供友好的网页版,支持搜索与筛选

使用场景

  1. 寻找替代方案

    • 想替代 Google Analytics?查看 Analytics 分类
    • 想替代 Slack?查看 Communication 分类
    • 想替代 Dropbox?查看 File Transfer & Synchronization 分类
  2. 探索自托管生态

    • 浏览不同分类,了解自托管可以覆盖哪些场景
    • 发现新的开源项目与工具
  3. 评估技术栈

    • 根据技术栈(Docker、PHP、Node.js 等)筛选应用
    • 找到符合团队技术栈的解决方案
  4. 学习与实践

    • 参考列表中的项目,学习自托管最佳实践
    • 了解不同应用的技术架构与部署方式

快速开始

浏览方式

  1. HTML 版本 (推荐):访问 awesome-selfhosted.net,使用搜索与筛选功能
  2. Markdown 版本 :访问 GitHub README,按分类浏览

查找应用

  1. 确定需求类别(如「密码管理」)
  2. 在 Password Managers 分类下浏览
  3. 查看每个条目的 Demo、源码、技术栈
  4. 选择符合需求的应用进行部署

贡献新项目

  1. 确保项目符合「免费软件」与「可自托管」要求
  2. 按照 Contributing 指南 格式提交 PR
  3. 包含名称、描述、Demo(如有)、源码、许可证、技术栈

核心特性

  1. 分类详尽:100+ 个分类,覆盖几乎所有类型的网络服务与应用
  2. 信息完整:每个条目包含 Demo、源码、许可证、技术栈,便于评估
  3. 持续维护:CI/CD 自动检查死链与未维护项目,社区持续更新
  4. 反特性标记:使用 ⚠ 标记依赖专有服务的应用
  5. 非免费软件列表:单独维护 non-free.md,收录付费或专有组件应用
  6. HTML 版本:提供友好的网页版,支持搜索、筛选与分类导航
  7. 多语言支持:部分应用支持多语言,列表会标注
  8. 相关链接:提供相关 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)

条目格式

每个条目遵循统一格式:

scss 复制代码
- [项目名称](官网链接) - 简短描述(替代方案说明)。([Demo](演示链接), [Source Code](源码链接)) `许可证` `技术栈`

示例:

markdown 复制代码
- [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`

技术栈标注

  • 编程语言:PHPNodejsPythonGoRust
  • 部署方式:DockerK8Sdeb(Debian 包)等
  • 组合标注:PHP/DockerNodejs/Docker/K8S

反特性标记

项目使用 标记依赖专有服务的应用,例如:

  • Daily Stars Explorer ⚠:依赖 GitHub API(专有服务)
  • Fredy ⚠:依赖 ImmoScout24 等第三方平台(专有服务)

标记帮助用户识别哪些应用不完全独立,需要依赖外部专有服务。

非免费软件列表

项目维护了 non-free.md,收录:

  • 需要付费的应用
  • 包含专有组件的应用
  • 不完全开源的方案

主列表仅收录免费软件(符合自由软件定义),非免费软件单独列出。

HTML 版本

项目提供 HTML 版本,相比 Markdown 版本的优势:

  • 搜索功能:快速搜索应用名称或描述
  • 筛选功能:按技术栈、许可证筛选
  • 分类导航:清晰的分类树形结构
  • 响应式设计:适配移动端与桌面端

项目地址与资源

官方资源

相关资源

适用人群

  • 自托管爱好者:寻找可以部署在自己服务器上的应用
  • 寻找替代方案的开发者:需要开源替代品,替代 SaaS 服务
  • 企业 IT 管理员:需要私有化部署方案,满足合规要求
  • 学习自托管的初学者:通过浏览列表了解自托管生态
  • 开源项目维护者:希望自己的项目被更多人发现

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
冬奇Lab14 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab14 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
HelloGitHub1 天前
《HelloGitHub》第 119 期
开源·github
冬奇Lab2 天前
一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店
开源·github·资讯
Bigger2 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
chainStriker3 天前
从零到上线:Python开源项目的规范化开发与发布指南
python·开源
IvorySQL3 天前
揭开 PostgreSQL 读取效率问题的真相
数据库·postgresql·开源