# awesome-selfhosted: ninety-five categories, no ranking, and a Markdown file marked legacy

> awesome-selfhosted is a directory of Free Software network services and web applications you can run on your own servers, organised into ninety-five categories. It narrows a search well and stops there: nothing is ranked, dated, or priced, the Markdown file in the repository is labelled legacy in favour of the HTML site, and the entry data lives in a different repository entirely.

**awesome-selfhosted/awesome-selfhosted** — GitHub describes it as A list of Free Software network services and web applications which can be hosted on your own servers. The metadata lists the NOASSERTION license. This article stays within the project description and details documented in the GitHub repository README.

- Repository: https://github.com/awesome-selfhosted/awesome-selfhosted
- Website: https://awesome-selfhosted.net/
- Stars: 322,662 · Forks: 15,127
- Language: Unknown
- License: NOASSERTION
- Published: 2026-08-13 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/awesome-selfhosted-awesome-selfhosted

## The Markdown file in the repository is labelled legacy, the HTML site is the recommended read

There are two views of the same data, and the project does not pretend they are equal. The header of the file calls the HTML version at awesome-selfhosted.net the recommended read and labels the Markdown version in the repository as legacy, and the homepage recorded for the repository points at that same HTML site. One label changes what you should do with a clone. The Markdown file is what you read, diff, grep and script against, and it is what a contribution ends up in, but it is not where the project sends a first-time visitor. So if you are wiring the list into a script, an internal wiki, or a link round-up, you are taking the legacy artifact on purpose, and you should know that a reader who searches for the project will land on the other copy, not yours.

## Both issue badges in the header point at the same ticket in another repository

The row of badges at the top holds a link to the awesome list format by sindresorhus, the same issue address twice, and a Liberapay donation link. The repeated address is the informative detail: both issue badges resolve to issue 1 in the awesome-selfhosted-data repository, not to this one. Entry data and the queue for new entries therefore live somewhere other than the repository whose README you are reading, which explains why the tree here is so thin. It holds a .github directory, LICENSE, README.md, a _static directory holding the site assets, and non-free.md. There is no data file and nothing to run. The consequence for a reader is that opening a ticket in this repository is not the documented path, and anything that wants the entries programmatically has to reach into awesome-selfhosted-data rather than into the list it is already reading.

## Ninety-five categories, with Communication split into a dozen separate headings

The table of contents under Software runs to ninety-five headings, in alphabetical order from Analytics through to Wikis, and the nesting is where the real shape of the list shows. Communication is not one category but twelve: custom communication systems, complete email solutions, mail delivery agents, mail transfer agents, mailing lists and newsletters, webmail clients, IRC, SIP, social networks and forums, video conferencing, XMPP servers, and XMPP web clients. File Transfer splits into five, Software Development into nine, from API management through to testing, and both Media Streaming and Document Management into three each. That granularity pays off when you know you need a mail transfer agent, and it strands you when you are simply trying to work out how to send email, because the answer may sit in any of five headings and the file gives you no way to search across them. The page also does not say which heading wins when a project fits two of them.

## Free Software only, with everything on the other side of the line in non-free.md

The list draws a hard boundary and then routes what falls outside it elsewhere. It covers Free Software network services and web applications that you can host on your own servers, and non-free software is pushed to a separate page, non-free.md, kept in the same repository. That is a genuine filter for anyone whose reason for self-hosting is keeping control of their own data, because the main list will not hand you a commercial product wearing an open source front end. What the visible text does not give you is the rule for the case that actually comes up, a project with a free community edition and paid hosting tiers, nor a marker telling you which model an entry commits you to. The guarantee is about licensing rather than money: free licensed software can still cost you hardware, your Saturdays, and a support contract.

## No stars, no ranking, no filter beyond the category anchors

Entries are grouped and alphabetised, and that is the whole navigation system. There is no popularity column, no star count, no date beside a category, and no search box in the Markdown view, so two projects that differ by a decade of maintenance sit in the same list with nothing on the page to separate them. The taxonomy answers the first question an adopter has, which software exists for a job, and does nothing for the second, which of the twenty options is still worth the weekend. Switching to the recommended HTML view does not fix this either, since the table of contents in the repository mirrors that site's structure. The net effect is that the list compresses an open search into a shortlist and then hands the decision back with the evidence still sitting somewhere else.

## One release tagged 1.0.0 in 2023, against pushes that land almost daily

The release history and the commit history describe two different tempos. The only tagged release is 1.0.0, dated 2023-08-22, while the repository is not archived and took its most recent push on 2026-09-29. The document therefore changes constantly and nothing since 2023 has been cut as a version. There is nothing to install either way, since a list is a document and not a package, but the gap matters for anything wanting a frozen view: reading master gives you today's category set, and there is no tag to pin if you would rather keep the list exactly as it stood three years ago. The practical consequence is that commit dates are the only freshness signal on offer, and they record when a line was edited, not when the linked project last shipped a release or fixed a security problem.

## A LICENSE file in the tree, and NOASSERTION where the licence name should be

The tree contains a LICENSE file, and the licence recorded for the project is NOASSERTION, which is the marker left when no machine readable identifier is detected. For a document assembled out of other projects' names, descriptions and links, that gap is what decides what you may do next. Reading it, linking to it, and sending people to the HTML site are all clear enough. Repackaging the list as a catalogue of your own, feeding the entries into a product search index, or mirroring it into a company wiki is a different question, and nothing in the repository settles it in a sentence you can quote. The file is there, so read it before assuming either permission or prohibition. The donation badge in the header, which points to Liberapay, says the maintainers think the list deserves funding and says nothing at all about reuse terms.

## Conclusion

Use the list to narrow a search, not to end one. It answers what software exists that you can run on your own machine, grouped into ninety-five categories, and it stops short of ranking, pricing, or dating any of it. Before you commit a weekend to one entry, open the project, check that its licence matches your own use, and read its release notes yourself, because the index has no release notes to give you and the non-free candidates sit on a separate page you have to go and find.

## FAQ

### awesome selfhosted alternative

There is no comparison table and no ranking. The project groups Free Software network services and web applications into ninety-five categories, and keeps non-free software on a separate non-free.md page in the same repository.

### Does awesome-selfhosted list non-free software?

Not in the main list. It covers Free Software network services and web applications, and non-free software is listed on the separate non-free.md page kept in the same repository.

### Which version of awesome-selfhosted should I read?

The header calls the HTML version at awesome-selfhosted.net the recommended read and labels the Markdown version in the repository as legacy.

### How are new projects submitted to awesome-selfhosted?

The two issue badges in the header both point at issue 1 in the awesome-selfhosted-data repository, a different repository from the one holding this README, and the file also carries a Contributing section.

## Sources

- [Official documentation](https://awesome-selfhosted.net/)
- [Official README](https://github.com/awesome-selfhosted/awesome-selfhosted#readme)
- [Project repository](https://github.com/awesome-selfhosted/awesome-selfhosted)
- [Release notes](https://github.com/awesome-selfhosted/awesome-selfhosted/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/awesome-selfhosted-awesome-selfhosted
