cross-posted from: https://packmates.org/users/Wander/statuses/111280488886937575
The future of selfhosted services is going to be… Android?
Wait, what?
Think about it. At some point everyone has had an old phone lying around. They are designed to be constantly connected, constantly on… and even have a battery and potentially still a SIM card to survive power outages.
We just need to make it easy to create APK packaged servers that can avoid battery-optimization kills and automatically configure an outbound tunnel like ngrok, zerotrust, etc…
The goal: hosting services like #nextcloud, #syncthing, #mastodon!? should be as easy as installing an APK and leaving an old phone connected to a spare charger / outlet.
It would be tempting to have an optimized ROM, but if self-hosting is meant to become more commonplace, installing an APK should be all that’s needed. #Android can do SSH, VPN and other tunnels without the need for root, so there should be no problem in using tunnels to publicly expose a phone/server in a secure manner.
In regards to the suitability of home-grade broadband, I believe that it should not be a huge problem at least in Europe where home connections are most often unmetered: “At the end of June 2021, 70.2% of EU homes were passed by either FTTP or cable DOCSIS
3.1 networks, i.e. those technologies currently capable of supporting gigabit speeds.”Source: https://digital-strategy.ec.europa.eu/en/library/broadband-coverage-europe-2021
PS. syncthing actually already has an APK and is easy to use. Although I had to sort out some battery optimization stuff, it’s a good example of what should become much more commonplace.
Saw this post on [email protected], want to get some thoughts on it, because the idea seems a bit crazy to me.
you got the reparability totally wrong. if the motherboard fries, you have to replace basically the whole device. In a desktop you just replace the motherboard and keep the CPU, GPU and RAM.
you can obviously plug an external HDD, but can you upgrade RAM? can you upgrade to a better CPU or replace your current CPU without replacing half of the phone components? No, you can’t.
and yes, Android uses the Linux kernel. But very few manufacturers release the kernel’s code. No upstream kernel support makes it quite hard to keep updating after the manufacturer stops, even for custom ROMs that have to keep using the kernel as a blob, which eventually becomes inviable.
And if you’re already limiting yourself to devices supported by LineageOS, you’re discarding 90% of all phones, which let’s be honest, if the primary reason to use a flawed OS to self-host was to recycle hardware, you’re discarding most phones anyway so not a great reason.
And? A replacement motherboard, or an entire phone, for an old Android phone is pretty cheap. Now how much would a replacement CPU/GPU/RAM cost for a PC? And how likely would a phone’s motherboard fail in the first place? In my experience, modularity increases failure chances, which is why you typically see more part failures on PCs. I still have my HTC Desire from 2010 (as a keepsake) and it still boots up and works. Not that I use it for anything or course, but this is really a non-issue. When people complain about “repairability” of a phone, they’re typically talking about the display or battery, which isn’t a concern in our use case here.
But why would you want to, when it already meets your needs? And when you’re going to upgrade your main phone anyway? (it can replace your server phone).
That is incorrect, because not releasing the code is a serious violation of the GPL. Typically rando Chinese manufacturers get away with this, but most mainstream OEMs do release the kernel sources.
The kind of people who would even think of running a project like this (like running their own NextCloud etc) are usually the kind of people who’d most likely own a phone which is/can be supported by LineageOS. And once again, you can always sell your unsupported phone on eBay or something and get a supported one instead. The OnePlus 6 for instance goes for as low as $100, or even lower if you can find a faulty one like with a cracked screen or bad ESN or something, and it’s good enough for most home server needs.