I remember back when I first got into self-hosting (over a decade ago), I had a Netgear READYNAS. People made a small amount of plugins you could install. But the CPU was ARM before that was cool (I think mine was actually SPARC!) so it was a lot of effort to get things to compile, so plugins were usually quite outdated.
Then I decided to painfully break out of vendor lock-in, built my own NAS with FreeNAS which was all the rage (still attached to a vendor, but at least I could control the hardware). This was before Docker really took off - the plugins were installed in FreeBSD jails. It worked for a while, but again, plugins could be woefully out of date and broken, upgrading the OS was a pain and would break all your plugins.
Through the 10+ years of this... I now follow two simple rules: - separate your network storage and application hosting. Yes, it complicates things a little bit with NFS setups but it is a forcing function for a more resilient setup - use the docker container provided by the maintainers or LinuxServer.io. Vendor maintained wrappers can be initially helpful but end up as a form of tech debt when they're abandoned or neutered - especially when they're freemium and the company starts looking to squeeze.
The quiet part of self-hosting is that it shifts the responsibility of security to the user. I'm sure cloudinabottle has more sensible defaults than provided docker containers, or builds in reverse proxies etc, but I doubt they're offering to take on liability for data loss or breaches.
The problem I see you'll face are two-fold: 1. Projects like this have the power users self-select away from it and those who need a lot of hand-holding to self-select into it. If I know how to configure and deploy a docker container already I have no incentive to contribute. ReadyNAS got around this by having folks charge for their plugins (that were just OSS projects packaged up for their OS) but then it ruins the appeal, they likely only got away with it because they were only a couple of bucks and you were already locked in to the ecosystem via the hardware. 2. If the hosted aspect actually makes you money, required for the project to be continued long term, capitalism will ensure that incumbent cloud providers take that away from you by offering ready-made instances at your cost-price, like they did with redis, elasticsearch etc.
Note that these are only issues if you're motivated by making a profit, or even a cost-neutral project. But if this is a charitable exercise backed by an entity that doesn't need the money, I wish you all the best - more things that let people dip their toes in are good! The cloud is all rent-seeking subscriptions and even with the recent supply shortages: fast, small, low-power compute is incredibly cheap these days, especially old business/mini machines.
IMO, one way to retain the power user crowd is to do the hard parts that they might have skipped themselves. For a couple examples:
- after selecting your observability apps, every _other_ app could automatically configure centralized logging, its own dashboard of metrics, etc
- the host OS could ask the user simply for the backup destination (S3 url creds, attached local disk, SMB share, etc) and every app is again automatically configured with backups
- the host could have a control panel to roll back apps between versions (maybe it's FS snapshots or something)
- everyone can use containers, but if the project went through the extra effort to make each app its own VM instead, that could be worth something
- if there was a companion Android/iOS app for management and (importantly) alerting?
---
That doesn't really solve the monetization issue you described, but I do think you can still get powerusers on board if you handle even harder problems than they'd want to take on themselves. Or...harder problems than they'd risk taking on themselves if their family uses what's being hosted, for example. Less tolerance for downtime
Edit: formatting