However, it should also be pointed out that it's also a deploy-your-own-unpaid-system-administrator-job. A lot of the value in SaaS products is the service provided of someone else maintaining it. The maintenance and security patching for running all this stuff, especially on the open Internet, that would quickly become a part time job.
So, I'd say that for most people with a limited time budget, it's worth the cost to simply find a high quality, paid SaaS provider for many of these services.
An example on from list: deploying your own email server and depending on it for your important communications is something that almost nobody should attempt on their own. Instead, most people should look to migrate from free providers that could do things like close your account/delete your data at any time, to paid ones that treat you like a paying customer.
"Host your own" isn't about simplicity or cost necessarily. For me, it's about controlling data.
I have my own media server, because when netflix removes friends, ill still be able to watch it. sure that means i have to buy the box set of friends for like 100$, which is 10 months of netflix into a single show. but i never have to worry about that going away. I'd rather have a raspberry pi with a webcam with motionEye letting me monitor my house than feeding private data into a company a dont trust.
This is also a hobby for me that has benefited me in my job on multiple occasions, and I only do it for services that I'm ok with downtime on (I've outsourced my email even though that's the data I would love to control the most, I'm not going to mess around with downtime on that). I absolutely wouldn't recommend any of these things for my grandma.
Also, "unpaid system administrator job" can be a bit of an extreme analogy. I do spend non-zero time working on these things... but because I was using this as a way to practice actual system admin things, they are generally set up for stability. there isn't much work to put into it after setup. Unchanged software rarely just suddenly starts breaking for no reason, especially when the traffic on it is low because there are only 2 people using the service. (again, I'm aware that self hosting email has all sorts of "you need to keep spam filter stuff up to date" weirdness, but I wouldn't advocate for that).
Other than email, anything on this list would be great for someone who wants to keep data in home, as long as they know the scope of how much free time they have vs their desired reliability.
In home. Wife has a lot of movies, and it's just to avoid having to walk to the movie closet and search through stacks on stacks of DVDs. Not doing any high seas or movie sharing. Just convenience and a fun project.
Also a prime example of a "downtime not a big deal" project. If it breaks, we just go back to the movie closet, and its no less convenient than how we used to do things (or just watch actual Netflix).
Why should people not run their own email server? It's not like email is moving fast, so it's mostly set and forget. Automatic security updates are a thing, so it really is a non-issue.
There sure are things that require quite a bit of maintenance, but personal e-mail servers is definitely in the other end of that spectrum.
On top of the work to do it myself, I like the Pinboards/Ulysses/underdogs of the world and want them to continue to exist. There's something to be said for supporting small businesses that put out affordable, high quality work.
Does anyone know a self hosted licensing server? A sevice that software could call with a license key and some stats, and it would verify the license, the number of users or whatever and log the stats.
There are on-prem options for developers to build DRM, if that's what you're asking. Of course the software has to be built to utilize the license server. CodeMeter comes to mind.
If I understood your requirement correctly, there was a Wordpress plugin that did similar (if you don't mind running a Wordpress instance though). It's supposed to be OSS as well, so I guess there's copies of the source available elsewhere too. In any case if you'd like to purchase their official license:
I’m working on exactly this but I don’t have a clear estimate on when we’ll be able to launch. If you are interested in beta testing check out license.io or email me at steven@quantus.io
It would be great to label the multitenancy-capable ones, so hackers/geeks/enthusiasts/IT-persons could provide these things to their friends and family.
Seems like that negates most of the benefits of self-hosted: you're dependent on an internet connection (now likely two residential-class connections instead of one), it can go away without notice, you don't have absolute control over what happens to your data...
If I had to choose between traditional cloud services and a friend providing best-effort service, I'm going to go with the former.
Umm.. why would someone run it out of their kitchen? I mean if I happen to run a VPS with a bunch of stuff for myself, I would want them to handle multiple users, so I can enroll friends/family.
TBH, I used awesome-selfhosted a few times in the past, and at least at that time it needed to be cleaned out. Dead projects (demos were dead links and such), projects that would no longer install, and low quality projects were all problems I encountered. It certainly has more entries, but I'm not sure that's a good thing.
See also Framasoft [1] which has a collection of self-hostable free software services to replace most of Google (and other walled garden companies) products.
Hass.io is homeassistants distribution for raspberry pi (and I think other devices as well) which runs docker and home assistant itself.
The plugins allow to extend homeassistant with standalone software e.g. MariaDB or mosquitto.
Those programs aren't part of or written for homeassistant but are accessed through network.
Depends on how you're running it. When I was running hass.io on a RaPi, I used a few of those plugins (including PiHole). Now that I'm running HA in a VM on a bigger machine, it makes more sense to run those services as separate VMs alongside it.
I've been trying to decide between these options myself. I was never happy with the slow restarts and potential for microSD failure when I ran HA on a RaPi3 (years ago, legacy AIO on stock Raspbian) so I haven't kept up with it and now want to start from scratch on something like a NUC. Do I make Hass.io a VM along side other VMs for PiHole, my LAMP website, etc? It will be idle so much that low power/heat during idle is significantly important, but I love the simplicity of reverting an isolated service back to a snapshot after I break it.
I suspect a single OS on metal with each of these in a Docker container would be more efficient, but I haven't played with containers before.
I have a single machine running FreeNAS that's running all of my home services at the moment (I know it's not the best hypervisor, but I wanted my NAS on bare metal and I can't justify a separate dedicated server). I have Ubuntu running in a VM running Docker, and installed Home Assistant using the official instructions for this setup[1].
PiHole is so light-weight and relatively low-risk, you could easily run it on the same VM as Home Assistant if you'd like. I keep separate VMs for everything out of habit. I would isolate the LAMP site as much as possible, especially if it's publicly available—potentially even keeping it off of the same network as everything else.
It's easy to forget that sometimes you don't really need to host things. I used to run a Next Cloud server for syncing my documents, contacts, and calendar with all my devices. I'd rarely use a device that was not mine to access those things. I've switched to Syncthing (https://syncthing.net/) and DecSync (https://github.com/39aldo39/DecSync) and that's replaced 95% of what Next Cloud did for me.
Your use case might differ from mine quite a bit, but for me it was the best way to go. No server to babysit and everything "Just Works™".
Syncthing is not a hosted service, rather its a p2p way to sync files and other things between your devices. It relies on the bittorrent protocol, so you don't need to have a central server. What you can do though, is install it on a NAS as well, so that files are also synced to a central location.
With syncthing or the similar Resilio you can sync folders between your computers. This works best if you also install it on a NAS so as intermediate storage constantly available.
Nextcloud can do this also but adds a lot of other functionality. This is a cloud. You can access your files from any device. You can upload photos from your mobile. You can share files. You can create and edit documents. Play music. Show your photos. There are many apps adding further functionality. And you can install Nextcloud on your NAS at home or any VPS service
I think so. I literally will not look at most services unless there is an on-prem option. To the extent where I will regularly design my own solution instead of deploying something Cloud based.
How turn key do you expect the self hosted option to be? If it contains a lot of other software like SQL and Redis, would you be comfortable installing it or would you expect the option to bundle it in some kind of installer? Would you be OK with using a container, or would you want binaries?
In my dream world, all open source software would consist of a single binary and the only third party need would be a DB (preferentially Postgres or MySQL).
It's not really ready for general use, but I'm still glad I wrote it for myself. It hits all my use cases, taught me a lot about the Docker Engine API and helps me put up new self-hosted stuff really quickly. I might use it to deploy some stuff from this list.
It's inverted, I put the db on the app server so it talks HTTP natively; but the app server is also non-blocking async. concurrent so it's not only a toy.
I call it Joint Parallel, because that's the best term to describe that many cores can co-operate on the same memory at the "same time".
For your self-hosted SaaS needs, Yunohost is awesome.
One-click install of many apps and services – but more impressively one-click upgrades as well. Nice, user-friendly, very little maintenance required. Self-hosting for people who don’t want to do system administration.
I’ve been running a Yunohost server for the past three years, adding and removing various services on the fly. Love to use it, and the great work of people behind this.
Same here. I don't use any of the yunhost apps though. Instead I use docker images and the redirect community yunhost app to route to them. Eventually I want to run yunhost itself in a docker container. Regardless it has been Rock solid for me for about three years as well
I love these lists. That said, it reminds me of the apps that come with inexpensive Cpanel type hosting where many of the same apps are one-click installs. Would be awesome if static ips for home were easier & cheaper.
cpanel can only handle PHP apps. I think Cloudron is an alternative for modern web apps which are written in various languages as it uses Docker internally.
However, it should also be pointed out that it's also a deploy-your-own-unpaid-system-administrator-job. A lot of the value in SaaS products is the service provided of someone else maintaining it. The maintenance and security patching for running all this stuff, especially on the open Internet, that would quickly become a part time job.
So, I'd say that for most people with a limited time budget, it's worth the cost to simply find a high quality, paid SaaS provider for many of these services.
An example on from list: deploying your own email server and depending on it for your important communications is something that almost nobody should attempt on their own. Instead, most people should look to migrate from free providers that could do things like close your account/delete your data at any time, to paid ones that treat you like a paying customer.