Generally I post about managed hosting as this is the easiest way to create your own online services.
However, there are many projects out there trying to make non-managed hosting easier too:
https://yunohost.org is a version of Linux that makes it as easy as possible to install your own services. Once @yunohost is installed on a server, it lets you add lots of online services (https://yunohost.org/apps) very easily through a graphical interface.
(1/3)
@homegrown
Freedom Box is great, use it myself!
@freedomboxfndn