deploy-your-own-saas: A Curated List of Self-Hostable Alternatives to Commercial Cloud Services
List of "only yours" cloud services for everyday needs :black_flag:
At a glance
- What is it?
- deploy-your-own-saas is a GitHub repository that organizes self-hostable open-source projects by the commercial SaaS product they replace, covering VPN, photo hosting, music streaming, notes, bookmarks, URL shorteners, and many more categories. It is aimed at engineers and home-lab operators who want to run their own infrastructure instead of relying on specific paid cloud services.
- Who is it for?
- deploy-your-own-saas is the right starting point when you know which commercial service you want to replace and want a quick scan of what the open-source community offers. It is not a deployment guide; following a link leads to a project's own documentation.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the Repository Is and Who It Is For
deploy-your-own-saas is a curated list organized around a simple question: if you want to stop paying for a specific cloud service and run your own equivalent instead, what open-source project should you use? Each category in the list is named after the commercial product it replaces, in a 'deploy your own X' format.
The target user is an engineer or home-lab operator who already knows which service they want to leave (for privacy, cost, or control reasons) and wants to scan the landscape of alternatives quickly. The repository does not teach deployment; it is a navigation layer that points to each project's own documentation.
The repository contains a Python script called readme-gen.py that generates the README from a database file (dyos-db.json), and a keep-alive.py script. The dyos-db.json file provides programmatic access to the same data for anyone who wants to build tooling on top of the list.
How the Repository Is Organized
Each category in the README is a table with four columns: project name (linked to its GitHub repository or homepage), a short description, a GitHub star count, and a last-updated indicator. The indicator uses colored circles: green (recently updated), orange (updated within roughly six months), or red (stale, updated more than a year ago).
The categories covered in the README include: VPN (Algo VPN, OpenVPN, WireGuard, dockovpn.io), music streaming (Koel, Audiobookshelf, Mopidy, AzuraCast, Ampache, Funkwhale, and others), photo hosting (Immich, PhotoPrism, Lychee, Piwigo, Pinry), eBooks (Calibre, Calibre-Web, COPS), Google Docs alternatives (Nocodb, Baserow, ONLYOFFICE CE, Collabora), Netflix alternatives (Jellyfin), notes (Memos, CodiMD, Standard Notes, Bangle.io), and bookmarks (Hoarder, Linkding, LinkAce, xBrowserSync, Nextcloud Bookmarks, Briefkasten, and others).
The README is generated programmatically from dyos-db.json by readme-gen.py, which means the list structure is defined in data rather than maintained by hand. This also means the star counts and freshness indicators are snapshots from the last time readme-gen.py was run, not live data.
How to Use the Repository
The most direct way to use deploy-your-own-saas is to open README.md (or browse the repository on GitHub) and navigate to the category for the service you want to replace. The repository requires no installation: there is no software to run and no package to install. Clicking a project name links directly to that project's own repository or documentation.
Engineers who want to query the data programmatically can read dyos-db.json directly. The Python scripts in the repository (readme-gen.py and keep-alive.py) are maintenance tools for the repository itself, not utilities for end users.
The repository has a MostWanted.md file, which likely lists categories or projects that contributors have requested but that have not yet been added. The README does not describe the contribution process, so checking the repository's Issues or Discussions pages is the natural path for contributors.
Freshness Indicators and Entry Quality
Each entry shows a last-updated indicator for the project it lists. Green entries are recently updated; orange entries are several months old; red entries show stale projects updated more than a year ago. The README examples include entries marked red with indicators like '2y' or '3y', meaning two or three years without a push.
This indicator system helps filter out abandoned projects but has a limitation: the indicators reflect the state at the time the README was last generated by readme-gen.py, not the current date. A project that was active when the generation ran but has since gone stale will still appear green in the README.
The list does not document whether entries are vetted for security or production-readiness beyond the freshness signal. Some categories list only one or two options (the Netflix category lists only Jellyfin), while others list eight or more alternatives. The depth of coverage varies by category.
License and What the Repository Does Not Provide
The repository has no LICENSE file and no license statement in the README. The repository description and file listing do not document any licensing terms. This gap matters for anyone who wants to reuse the list content in a commercial product or redistribute it; the absence of a license means the default copyright applies and the terms of reuse are unclear.
The repository does not provide deployment instructions for any of the listed projects. It links to each project, not to a unified deployment guide. An engineer who picks Jellyfin as their self-hosted Netflix replacement will need to follow Jellyfin's own documentation for installation and configuration.
The list also does not cover every possible SaaS category. Email hosting, customer support platforms, analytics, payment processing, and many other common SaaS categories are not represented in the README excerpt. The MostWanted.md file is the appropriate place to find what contributors have requested.
The last push was on 2026-09-17.
Comparison with awesome-selfhosted
awesome-selfhosted is a similar curated list on GitHub. It is a comprehensive catalog of self-hosted software organized primarily by application type, such as analytics, bookmarks, calendaring, and communication, with each entry showing the programming language, license type, and whether a demo is available.
The difference in organizing principle is meaningful. deploy-your-own-saas is organized by the commercial product being replaced: finding 'deploy your own Dropbox' is immediate if you know the commercial product but do not know the self-hosted category name. awesome-selfhosted requires knowing what type of application you want and browsing that category.
awesome-selfhosted provides more metadata per entry (language, license, demo link) and has a more explicit contribution process. deploy-your-own-saas has a faster path for users who think in terms of commercial products they want to replace rather than application categories. The two lists overlap substantially in content but serve different navigation patterns.
Editorial conclusion
deploy-your-own-saas is the right starting point when you know which commercial service you want to replace and want a quick scan of what the open-source community offers. It is not a deployment guide; following a link leads to a project's own documentation. The repository has no documented license, so confirm the terms before reusing the list content in a commercial context. The freshness indicators in the list reflect the state at the last README generation, not the current date.
Frequently asked questions
How does deploy-your-own-saas organize its entries?
Each category is named after the commercial product it replaces, such as 'deploy your own Netflix' or 'deploy your own Dropbox'. Within each category, entries are listed in a table with a project name, description, star count, and a freshness indicator showing when the project was last updated.
Is the list in deploy-your-own-saas kept up to date?
The README is generated by readme-gen.py from a dyos-db.json database file, so updates require a new generation run. The freshness indicators in the table show activity at the time of the last README generation, not the current date. The last push to the repository was on 2026-09-17.
Can the deploy-your-own-saas data be used programmatically?
Yes. The dyos-db.json file in the repository contains the same data used to generate the README, and can be read directly by scripts or tools. The readme-gen.py script in the repository shows one example of how the database is consumed.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/atarity-deploy-your-own-saas)