Our great sponsors
-
xsrv
[mirror] Install and manage self-hosted services/applications, on your own server(s) - ansible collection and utilities
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Sandstorm
Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
-
awesome-selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
open the playbook with xsrv edit-playbook (example playbook), uncomment the nodiscc.xsrv.nextcloud role
I have been using it ~5 years on my personal infrastructure and more recently started adapting the roles for the needs of $JOB (and porting a few things back to my personal project). I manage the project from a self-hosted gitea instance that is mirrored to Gitlab/Github. The project's TODO.md is semi-automatically updated from Gitea issues.
https://sandstorm.io/ — this one is very technologic, security-focused.
Great question. There are others at https://github.com/awesome-selfhosted/awesome-selfhosted#self-hosting-solutions. I had a look at most of them and followed their evolution over time.
The ansible ecosystem is growing quite large (https://github.com/search?q=ansible -> 141450 repository results) so there's always something to get inspiration or improvements from (for example my collection borrows many things from dev-sec, the docker role is adapted from geerlingguy/ansible-role-docker). I try to contribute to other roles/projects when I get the chance (https://wiki.debian.org got a few improvements based on my research). You can also include any other collection/role in your playbooks, or write your own, or grab things off my roles to improve yours (or just your knowledge about the software. look at the openldap setup). It's not tied to a special/snowflake way of doing things, and easily extensible/portable.
It's a generic deployement/configuration automation tool that tries to follow best practices/Keep-It-Simple-Stupid principle, and rely on solid, battle-tested components. The fact that it is suited for self-hosting just comes from the fact that the first roles I built are for self-hosting my services. I will add more in the future, not necessarily relevant to classic home servers (the next big one is graylog).
HomelabOS: also ansible-based, but unnecessarily complex and not very high quality codebase (no hard feelings, I just think it tries to do too many things. It needs a pause and some refactoring/cleanup). Takes the all-in-docker approach which is not fine by me for several reasons.