With the latest release of android it now supports some Linux functionality. I got docker installed simply by following Docker’s docs.
Any thoughts or uses for a mobile homelab? What would be useful to have mobile?
How do we activate this feature? I have it enabled after going into the developer settings menu but nothing seems to happen, I see mentions of an app but idk what the app is. I am on grapheneOS though instead of normal android so there could be something with that here.
Oh nvm I figured it out, it just took a bit for me to realize there was a new terminal app on my phone
That’s cool! I’ve always had the idea of a small k3s cluster on old phones with postmarketOS. I guess it doesn’t work with older phones which don’t have the latest Android Version but given the homelab trend generally goes towards small, low power devices, this could continue the trend with super small and low power phones. Probably in 2 years when current gen phones rotate out of company leasing contracts?
Oh man that’d be super cool. An ARM cluster of androids would be awesome. Battery backups built in!
I can see my 5 year old android mobile struggling being a suitable self hosting machine… (Because of the battery).
But not gonna lie, having it working as a more advanced travel router connect to Tailscale sounds like a neat idea (which I think it is already possible? The other day I saw the client app that supports subnet routers? I just haven’t tried it, and it has a disclaimer that it drains the battery… So I didn’t end up doing that at that moment when I was away).
I’m assuming your phone has to be rooted for this right? Or is docker running without root? I didn’t realize anything like this was possible. This is interesting.
I’ve never tried it on Android, but running Docker in rootless mode is doable, and is encouraged for security reasons. https://docs.docker.com/engine/security/rootless/
Nipe! Not rooted. In a VM though
Lmao this is amazing. The future is now…
I wish all the logs at my company were as beautiful as these terminal logs
Please no. I can’t grep that. (Nor ingest it to splunk for more powerful searching.)
While this is very exciting, I just tried it, and the network connectivity seems to be broken. No IPv6.
Hmm I was messing with its networking. Eternal vpns break stuff on GrapheneOS. Its internal IP was 192.168.0.2, and my network is different.
Yes, Linux is running in a VM, and the network interface is a virtualized veth interface connected to a host bridge. The host android system has IP address 192.168.0.1, and this network interface is called avf_tap_fixed (as seen from termux).
Any other tips for the VM and/or GrapheneOS compatibility? Ie: did you use a different profile? I run Debian throughout my house as is, but plan on integrating the VM for better integration but was a little hesitant to be an early adopter due to the potential nuances. (lemme know if you have a blog/gist/etc covering it too)
I used the owner profile. Idk much about it tbh, I have yet to do more in depth testing as my phone doesn’t have displayport functionality so I am a little discouraged to be an early adopter too. I couldn’t get SSH setup so typing a lot on the small keyboard wasn’t ideal.
I’d check Google/GOS docs for more info for now. I’ll bet there’ll be a lot in the coming years as fast as usecases
I can’t get it to have network connection while my phone is on cellular data. On wifi it’s fine.
I just checked, and I have connectivity while on cellular. Maybe (just wild speculation) your mobile network is IPv6-only? Android (not Linux) should list 192.0.0.4 as an IP address in that case.
It’s probably that. While on cellular my IP isn’t 192.0.0.4 (but it is in 10. space), but there’s probably some v6 somewhere in the way.
latest release of android
Does that mean 15?
Yea kinda. Android is switching to quarterly releases, so my phone now says “Android 15” but this was QPR2 specifically
Thanks. My phone is on 14 and won’t get another update, oh well.
“Android 15” but this was QPR2 specifically
How can we bring that to a real world (read: cheap Chinese) phone?
Not sure, but if LineageOS supports it, that should be all you need
With the latest release of android it now supports some Linux functionality.
Wait, it does? Gonna have to check that out.
Early alpha, but yea it’s full on Linux in Android. Quite slick
Is it an app I should be able to just find in my installed apps or do I need to enable it?
Because as of now (Pixel 7, Android 15) I can only find Termux.You have to be on the March update, then go to Developer options -> Linux environment, and enable it. Then ‘Terminal’ will appear in your apps drawer.
Dope, seems to not have landed yet in LineageOS but the Terminal app is already installed. Just missing the toggle in the developer options.
Oh nice! I’d love to run an ad blocker/dns/reverse proxy on something with a little more beef than the Pi zero I’ve got now.
Jellyfin and or Pi zero does not like streaming through the video.local address I’ve got setup, so i have to use IP address to get anything without stuttering.
The VM eats through the battery, that’s the only hangup I have with this. Otherwise that’s a fantastic idea.
If I trusted the battery tech more, I would use an old phone. But I’ve had one of those white plastic Mac books hooked up to power so long, the battery swelled out of its enclosure :/
Maybe there’s a way to disconnect the battery, or an app that switches off charging, so it drains enough to keep that from happening
There are root apps that can limit battery charge level. If you have an older phone that’s rootable, I would look into that.
pi zero for streaming is insane not gonna lie. What sort of resolution do you stream it at?
A decently newish phone would blow even a pi 5 out of the water I bet. Modern GPU drivers from snapdragon or mediatek plus core designs that arent 7 years old out of the factory would be a godsend for low-watt homelabbers
Dang, I just realized I didn’t explain the setup well enough:
An old laptop runs the Jellyfin server, but the Pi runs the reverse proxy. For some reason, trying to use the reverse proxied address causes problems, but connecting directly to the laptop via IP address and port runs fine.
I tried a Jellyfin server with a pi 2 or 3 and it couldn’t serve more than one client at a time. So i imagine a zero wouldn’t even be able to load the app, much less serve anything :/
My main reason for running my DNS/ad block/nginx through the zero, sometimes the laptop goes down, freezes, or fails to clear the transcodes folder, so having that stuff separate keeps at least part of the network running.
Just installed arch with chroot on my old rooted phone a week ago.
Seeing this is great because it means there’s no need to complicated workarounds or even root access! Plus the distro runs natively and not with difficulties like with chroot :D
Native in what sense? As I understand it that uses a VM of some sort
You’re right actually it’s not native I don’t know what I’m on about 😅 Still it’s much easier to have a baked in terminal app than having to install proot on top of termux, hopefully it will have less of a performance impact than proot as well.
The day Docker works on Android, I’m settled.
Docker does work on Android. That’s what OP is showing off.
Well, if they manage to get it working on Android I’ll be really impressed.
Maybe one day it’ll even work on Android!
Even better, maybe it will support Docker.
What is the current wisdom about having an android device always plugged in? Some people say that it will kill and pillow the battery, but does it really?
I don’t know. I think they are pretty good at managing battery, and have a new setting for maxing it out at 80% charge, but I don’t think I’d put it near anything expensive for years on end.
In the past people used tasker to charge at a certain threshold. Check with homeassistant people to see what they do.
The trick of retrofitting any battery powered device into a wired one is to remove the battery. No matter what, Li-ion batteries cannot sustain permanent power. Expensive adapters and new Androids can regulate power well, as can automations, but the best worry-free option is battery removal.
Edit: I’ve just remembered Fairphone, they’re bossing the mobile repair ability front and have removable batteries like pre-2012. Could get one of those
my friends complaining that my plex server because I left my phone on the bus and it ran out of charge
The lines between mobile device and server get blurred even more.
Tbh a laptop is a “mobile” device
It’s a server with integrated UPS and KVM console.
Except for that time I took out the battery because it was swollen and took the screen off to help with cooling. At least I still have my K and M
these are the times when I get jealous, as an iOS user
You’re free to join us
I dont know how you can stand using iOS. Its just so unintuitive, theres no back button and I can’t even figure out copy/paste.
Copy paste is easy. You just tap on the, no wait you tap on the, fuck hold on. You tap, there we are, on the word and hold until it highlights. No wait hold on. Fuck. There we are. Ok now you tap on the highlighted word to copy, fuck wait Ah fuck it just type it again yourself
Haha my feelings exactly, I can work in Linux cli and program rust with ease, but I can’t copy and paste on an iPhone.
I feel this. My work phone is an iPhone 12, and typing is a pain compared to Android.