I like the idea of using old phones for infrastructure-lite applications, taking advantage of their low power requirements and built-in UPS (which, yes, has its own drawbacks which can only be mitigated to a certain degree).
I have a number of old android devices that I'd like to use for ...something cool like this, but my existing homelab infra could just add an extra VM or container to do this without any likely additional power draw. It's still cool and I want to do it though.
My only query about this cool project is why not wifi? Whilst I'm sure there's a good reason for the author (and I can understand having esoteric specific requirements because I have my own "things"), but it would negate the need for a docking->Ethernet device, which feels to me like unnecessary addition of a device that requires power. Also, bandwidth / throughput probably isn't much of a limitation given the device that's being used. I think I'm mainly interested in the author's specific reason for this requirement (I'm a BA, these questions are my bread and butter).
Comment to author: Gotta add the Pixel 5 to your homelab inventory! Also, nice site, layout and information.
I agree that a VM or container doesn't add to the power usage for a homelab that's already running. I kinda did it for fun and being able to run it off solar. I had original plans to turn the lab off at night and then the phone could keep running from battery. But, the homelab became critical infra and has to be always on lol.
The requirement for Ethernet was just for bandwidth consistency. My WiFi network isn't the best.
On Android devices, it’s generally difficult for apps to maintain persistent background services. I’m curious how you were able to prevent Android from terminating the process, and how the Pixel 5 server managed to keep running?
It runs inside Termux, which has a persistent notification to keep it open in the background. I believe I also extended the max phantom process to prevent it from being killed.
The Pixel device I have is from a family member and it is locked to Verizon, who won't unlock the bootloader. I'm sure there's a work around, but I didn't think it was worth the effort. PostmarketOS is rad though, I have it running on an ancient Windows Surface RT.
> I had original plans to turn the lab off at night and then the phone could keep running from battery. But, the homelab became critical infra and has to be always on lol.
I've rebuilt my entire setup a while ago to "tolerate" power loss.
- Everything is sliced into three zones: "always-on", "desktop", and "homelab". The latter two through a smart plug, so that power can be cut.
- Always-on includes the SOHO router/AP, a RasPi4, and my Mac mini. The router's switch has only two ports populated: the Pi, and the Big Switch.
- Desktop is things like the screen, speakers, dock, wireless charger, camera (dummy battery), cute lamp, etc. All of this can tolerate power loss at any moment.
Homelab: this is the tricky part. There's a big (52 ports!) switch that "everything else" is plugged into, including my Mac (yay 10Gig Ethernet, not sure what for). A bunch of SBCs like Pis, NVidia Jetsons, x86's, etc. Nothing important, still figuring out what to do with all of that, so I kinda don't care if the power is cut.
The important bit is the NAS (RAIDZ 3x3TB). ZFS makes you feel like you're invincible, but I've still built something to keep it clean: 1. it's powered down until required; 2. the router has a cron job to WoL the NAS 5min before all backup jobs start; 3. the NAS has its own cron job that waits for the backups to complete, then waits for all SSH sessions to terminate, then shuts itself down. You can kill the script via SSH.
What I'm planning to do is to build a simple daemon for each box, that checks in once per minute or so, to ask if it's time to shut down. Once everyone is clear, cut the power. Somewhere far down my TODO list ;) until then, you can also use an iOS shortcut to SSH to each box before asking HomeKit to throw the switch, but storing passwords is fugly and handling separate pubkeys is too much bother. So I'm mostly happy with it as-is.
Looks interesting, but my main obstacle right now is that the power switch is controlled via HomeKit - I could make my Mac an integral part of the setup (it's powered 24x7 after all), but that feels clunky. I think the way to go is to make a shortcut to gracefully shut down via Mac/iPhone. It's one tap, just requires some thinking to set up.
I have my Pixel 3 magnetically attached to my keyboard, to the left side, next to the tab, caps lock and other keys. It displays a webpage of a grid of buttons which do things when I press them, like inject the current timestamp at the cursor position, toggle my monitors on and off, launch certain apps.
Because I wanted an Elgato Stream Deck but then thought that I have this unused phone.
> I like the idea of using old phones for infrastructure-lite applications, taking advantage of their low power requirements and built-in UPS (which, yes, has its own drawbacks which can only be mitigated to a certain degree).
I'd love to see a..."serverization" kit for some mobile devices, like the "consolized" kits developed for the game boy advance[1]: Extract the mainboard from your phone and extend it by directly interfacing it with external storage, a better power supply and a physical network interface.
I'm not the author but can speculate. WiFi is higher latency and a bit probabilistic. Like the slowest 1% of requests to the server may take an additional 1000ms or so. And if I was running a blog from a phone I'd want it to be impressively fast. Also an old Android phone may not be able to use modern WiFi standards and it could struggle with the traffic from being on the HN homepage.
Old phone? It's a Pixel 5 from five years ago. My first Android ever in 2012 already supported 802.11ac with speeds faster than any internet connection I've ever had
Oh, you're right. I was quite sure but it's indeed 802.11n. Maybe I thought it was an upgrade from the other systems (laptop and phone) I had at the time because it was the first with 5 GHz, seeing new WiFi networks that no other of my devices could see, and conflated that with the new standard. That's still faster than the internet connection I have and host my website on today, but not by as much
One issue I have with doing this is what about security? Many older android phones don't get updates anymore (I'm not sure if a Pixel 5 is still supported, it might be) so I'd be concerned about security vulnerabilities going unpatched especially if the phone is exposed to the internet.
This is one of the longstanding issues with Android, yeah. Pixel 5 went EOL in 2023, though did get some extra (probably security) updates last year.
OEMs and SoC manufacturers have been getting better about upstreaming stuff recently from what I've heard (thank you Qualcomm!), but as far as stock OS images go I wouldn't expect manufacturers to support them for one moment longer than they have to.
I've had this dream of doing it in Elixir, and use it's capability to easily connect nodes securely together, to add more processing power into the system through by just slapping more phones at it.
I laughed at "Having a website that is fully offgrid". I _guess_ not being connected to the electrical grid while still being connected to the internet qualifies as "offgrid", but it kinda feels wrong to me.
Why, consider a device, like a mobile phone, which is not connected to power grid (solar-charged instead) and uses radio to access the Internet (typically 4G). I think it would be as off-grid as it gets. Quite a bit of off-grid equipment, like weather stations, traffic cameras, etc do exactly that.
Yeah, I would guess you can go a long way with a USB battery based charger device in the middle even... Panel > Battery > Phone... which should hold more than a day's usage for the phone.. since phone batteries tend to lose a lot of life after 4-5 years.
IIRC, WiFi on cellphones tends to have power-saving features that cause unsolicited incoming connections to have poor performance and very high latency. I don't know if there are kernel parameters to disable this, but even if there are, you'd likely need root to toggle them.
I am guessing a business analyst (https://en.wikipedia.org/wiki/Business_analyst). Basically, someone who facilitates creating and communicating stakeholder analysis across a business. The idea is that a BA would have a thorough understanding of everything across a business. Think of them as a product owner in scrum, except there is a bit more overlap working with different parties both internal and external to the business.
You will likely find a BA (or someone with a similar role under a different name) in most large organisations (and likely in quite a lot of medium ones, too).
As per tim (thank you tim), yes, Business Analyst. I ask annoying questions to make sure everyone understands what the actual problem is rather than everyone making their own assumptions where there's ambiguity.
An additional device just to facilitate wired network usage over wifi usage felt like unnecessary additional complextiy and probably higher power usage. The blog author replied, however, saying that wifi was a bit flaky, explaining the design choice.
i've been working on an idea for a while to use those idle old phones for... distributed web and app testing. plug it in at night... wake up having made a few bucks.
problem is getting anyone to really care, though. cloud hosting is cheap.
The power efficiency is fascinating - modern phones are basically ARM servers optimized for battery life. Pixel 5 probably draws <5W under load vs 50-100W for a typical x86 server. For a personal blog, that's 400-800 kWh/year savings. The environmental impact of reusing vs recycling electronics is under appreciated.
For a static site you can get a lot better by dumping it on S3 or Github Pages. Your site uses 0W while not being used since the server was already running, and it consumes no resource usage while not being requested. But yeah an x86 server at home for a static site is awfully inefficient.
Depends. If you reuse otherwise wasted electronic it is efficient in avoiding extracting resources / energy building new hardware and avoids recycling energy or waste polluting earth.
A big picture analysis of reusing old hardware would be very interesting.
If you put it on AWS S3 (not subsidised), and your website is 1GB, which would be huge for a static blog, it'll cost you $0.27 per year to store / have available. The price is so incredibly small that numerous companies offer it as a completely free service.
That’s the corporate promise for now, but there is no Ulysses pact guaranteeing they’d support it forever if the financials don’t line up any more, so the second-best guarantee is if there is a strong self-interest incentive that would remain to be the case even in 20, 30 years? They mentioned that they need scale and so offers generous free tiers as proving ground, but would that incentive stay the same after a few decades?
Pages is gradually being unified into the Workers platform. For new projects we suggest just starting with Workers as it is strictly more powerful. But eventually existing Pages projects will be migrated to Workers automatically -- either that or we will just keep supporting Pages forever.
There are an enormous number of web sites hosted on Pages, it would be insane for us to turn them off.
What would happen to the X.pages.dev subdomains when they get auto-migrated? Do they get switched to X.workers.dev silently? My main concern with this sunset is about link rot for those who didn’t use their own domain.
Another concern is whether you’d still be able to get unique .pages.dev subdomains per project, it seems that workers force each account to one subdomain only across all projects. When pages get sunset dies it mean that you’ll no longer be able to make new unique pages.dev subdomains?
Also, the killer feature for many is the ability to just upload a zip hassle-free, both for production and for preview branches, the preview branches potentially serving as an extra subdomain level namespace. Would Workers still support that no-fuss workflow?
Sorry but I think there's still a basic misunderstanding here.
Pages is not going away. It is not "sunsetting".
What is happening is, the implementation is changing to be more closely integrated with Workers.
At present most Pages features are available directly on Workers, but not quite all, but we're working on it. Hence, we're suggesting people use Workers for new projects, but we're not auto-migrating people yet. Once we're feature-complete we'll auto-migrate people to the new implementation.
But the "Pages" brand will continue to exist, as a more-integrated part of the Workers platform. pages.dev will not go away. We will not break anyone's sites. Everything you can do with Pages today should be just as easy if not easier on the new implementation.
I mean, they are sunsetting pages in favour of workers but it seems that static pages even in workers would have unlimited bandwidth and unlimited pages so there seems to have to be no difference and I trust cloudflare enough that they won't really remove these cf pages.
50-100W for equivalent work as a phone from 2020 can do would have been the case with CPUs from at least a decade ago. I should hope that one doesn't burn ~75W to host a few static files if it can also run on a Pi or phone or laptop that draws <20W idle
That's not to say it's not a good idea to make use of the super efficient "Pi" you already have at home in the form of (several, probably) old smartphones! Just that you'd not use it for the same purpose as a gaming desktop that can't idle below 50W
Generating a kWh emits 0.8 pounds of CO2 on average (source: https://www.eia.gov/tools/faqs/faq.php?id=74&t=11); burning a gallon of gasoline in a car emits about 20 pounds of CO2. That means that 800 kWh (= 640 pounds of CO2 emitted) is as bad as using 32 gallons in a year.
I thought recycle was the breaking down of the device into its constituents (mostly to recover precious metals or other base materials). In contrast, reuse is where the device is kept mostly intact and used for other purposes such as this. Just breaking things down requires considerable amounts of energy through the sheer logistics of it relative to just reusing it.
There is quite a bit of room between reusing something for its intended purpose and recycling something at the material level. TFA is at neither extreme - the phone is kept intact but it's employed for a much more limited purpose that only really uses some of the phone's components.
The worst part of the spicy pillow problem is that even if you remove the battery cell and solder a power supply to the BMS, Android will eventually decide "I must be out of battery by now" and shut itself down. You have to root the device to override this and it is supremely annoying.
Of course if the thing could just run directly off wall power like you suggested, this wouldn't be a problem.
I'm told that most phones have power usage spikes that exceed the power delivered by the charger, and they use the internal battery as a capacitor to soak up those spikes.
To a certain degree, that might be true. However, small batteries like they are found in phones have relatively high internal resistance (voltage drops as current draw increases). They can't deliver huge currents like capacitors. A beefy enough power supply should be able to handle power spikes even without a battery installed.
My small army of old android devices are plugged into a USB 'charging station' (multiple USB charging ports off a single plastic device) which in plugged into a smart switch. The smart switch turns on for a couple of hours overnight, to keep the phones charged at least minimally.
Most of the devices also have a custom ROM and are rooted, and using the ACCA app I restrict charging to a maximum of 80% battery capacity.
I had a Samsung Note 5 (released in 2015) that only went spicy maybe 6 months ago. I have a Samsung S9 and a Nokia 6.1 that are both still going strong with fairly recent versions of LineageOS. Both are 2018 phones, so around 6.5 years old (old for phones, but shouldn't be 'electronically' old).
For simple live streaming, the standard setup is a mid-range/DSLR camera, a dummy battery, and an HDMI capture card. (I have a Sony ZV-1 and Camlink 4K.)
Some phones now have an option to limit charging to 80%. That should eliminate the problem entirely.
If your phone won't do that, you can use a smart power switch. Some mentioned to simply have it on a timer, but if you wanted to get fancier, you could use IFTTT to toggle it on/off based on battery percentage. I'd likely make it turn on at 40% battery and off at 60%.
Don't run it empty or get it super hot. Gas generation and cell degradation really seems to skyrocket if cells drop below 3V, so don't run them flat. Doesn't seem to ever happen on devices kept on around the clock and powered so long as they aren't in crazy hot conditions.
Spicy pillows are basically caused by 1 of 2 things:
1. Heat
2. Being fully charged all the time
Recording video consumes a considerable amount of power, leading to heat. The display less so, unless you're operating at maximum brightness all the time.
#2 is what killed my Pixel 3 after only about 2 years. Once I started working from home, I had a bad habit of letting my phone sit on the charger all day and after about 3 months of WFH the pillow got spicy.
For a phone that's going to be repurposed as a server, I wonder if it'd be worthwhile to open the case and attach a heat sink to the battery.
The easiest way is with a programmable plug, it does not have to be smart, just set it up to charge the phone for 1 or 2 hours at the cheapest, or available by solar, the rest of the day the phone will use battery as usual. Is the battery cooked? Then set it to be half an hour every 4 hours or so.
Seems completely reasonable given how many people are doing similar with RPi and other similar boards and chips. A Pixel 5 is more powerful than a lot of them, with the screen often being the biggest power drain. I'm curious what tweaks can be done to minimize power use overall as I'm assuming heavy loads could heat up the phone a bit.
Looking at the underlying block arch (Hugo), seems to be written in Go an should be pretty good for serving the content overall.
Aside: I've become a pretty big fan of SSG, and have been wanting to build a desktop mostly markdown based blog editor that then publishes to Cloudflare infrastructure... Just been lazy about actually picking it up (thinking Tauri/Rust + React/MUI for the app) with git integration and optionally direct or github action for push. I can't recall the name, but MS actually had a nice gui blog editor that integrated with a few engines a couple decades ago, but long since abandoned.
So, uh, hi. This is my blog post. I'm just some guy that blogs and gets like 5 reads per post, so I'm a fish out of water here. I didn't even have a HN account until today.
To answer a some questions: 1. Still running on the Pixel. I never had a reason to change it. 2. It is on a residential internet connection because, well, I never planned on having any volume of readers. 3. I'm just some dude that does random projects at home after work. I'm not even in tech. I actually own a construction contracting biz.
You think like an engineer, so you're in good company here. I had a brief skim of the rest of your blog and there's definitely content that's interesting to me at least, and as I said in a comment above, the site design is beautifully easy to read and navigate. I plan on returning.
Others seem to agree, given your "I want to be left alone" post also got some HN love.
Thanks for the blog post, interesting read. Question: why run `hugo serve` instead of using it to build the files and then use nginx or some other webserver?
My take is it's a lot easier to just use Hugo serve vs trying to get nginx/apache/Caddy et al working through Termux. And he is already using nginx as a reverse proxy from another machine on his lan in any case
This message was sent from a Pixel 5 still in great condition!
It's the best phone I've ever had, it's the perfect size and has a fingerprint reader on the back. Everything I've tried since it has been a regression.
This post was made from a refurbished Pixel 5 I scored for ~$250. Just like you, this is easily the best phone I have ever had. I really like the 2020 design philosophy as is it doesn't include features meant to be technologically impressive rather than practical (eg. under-screen finger print reader). Here is to many more years of 2-3 days of use on a charge and good-but-not-great pictures
Looks like you can get a pixel 5 used for like $100-150 now? A quick look yields that most are in poor condition. Would be nice to find one barely used or even new/refurbished these days.. is it possible?
I should probably have specified that I bought the phone in northern Europe where prices are generally higher due to companies' selective pricing and VAT. If I had to guess, those $250 would probably correspond to around $180 to $190 if the device was bought in America during the time of my purchase - you guys don't know how good you have it when it comes to the price of consumer electronics!
Personally, I cringe at paying more than 100-150 for a phone. Never spent more than that in my life! I've had a couple refurb iPhone 7's over the last 5-7 years, lol. My main phone currently is a 2024 Moto G Play, but it's a little lacking even for me (as I couldn't give two shits about even beginning to care about having a "nice" phone), so a decent shape Pixel 5 for cheap sounds kinda cool
I have a fiber 2.5 gbit connection without static IP. But I run a script on the router that updates the DNS settings when the IP changes, you just have to have a DNS provider that allows you to do that and change ttl.
Don't most ISPs hand out IPs that are only nominally dynamic?
My IP is dynamic, but in practice only changes ~once/year. Even if I go to my router and release the WAN IP and reboot, when it comes back up, it'll have the same WAN IP. But then that once/year, my Internet randomly goes down and I have to reboot my router and I end up with a new WAN IP.
When that happens, I just go and manually update the IP for a hostname I use. If I wanted to get fancy, I could automate all this, but meh. CBF to spend the time automating something that only takes me 30 seconds to do once/year.
> I assume that ISPs generally don't want people hosting servers on residential connections.
They likely don't care unless you're saturating your upload consistently. Also, some ISPs like Comcast/XFinity are known for having extremely asymmetrical connections. At least, they used to. I'm fairly certain I've heard of some people having 1 gbps down, but only like 16 mbps up.
Even outdated smartphone like samsung S9-S10 or Iphone X is way overpower than your average SBC(Pi4, Pi5), yet we mostly can't do anything because OEMs decided to make our life harder to recycle them.
Well, offhand, no one buys a cloud server for power efficiency, people buy into the cloud for reliability, or performance, or cost -- or some combination thereof.
If you're buying ultra-power, you're forgoing power-efficiency.
> no one buys a cloud server for power efficiency, people buy into the cloud for reliability, or performance, or cost -- or some combination thereof
Low cost and power efficiency are pretty much the same thing for a datacenter though, since cooling is the most expensive part. Hence e.g. AWS pushing Graviton.
I'm not saying you're wrong, but I would like to point out that a phone doesn't need active cooling. I just don't know if Graviton requires active cooling.
And I don't know if that statement is accurate, since passive cooling would be even better than active cooling from an efficiency perspective and particularly if you also consider reliability. Less moving parts would mean higher reliability unless, eg., the thermal paste evaporated on the cpu.
> I would like to point out that a phone doesn't need active cooling.
A single phone, far away from other sources of heat, used only in environments that are comfortable for humans (which may well involve active cooling at the building level), and configured to throttle down when it's used for more than a few minutes, perhaps not (although even then, I've seen phones get uncomfortably hot when gaming, and had my own phone shut down because it's too hot on occasion). If you were setting up banks of phones to run in a datacenter environment, and expecting to run them flat out, you'd probably want to actively cool them.
> And I don't know if that statement is accurate, since passive cooling would be even better than active cooling from an efficiency perspective and particularly if you also consider reliability. Less moving parts would mean higher reliability unless, eg., the thermal paste evaporated on the cpu.
Everything is tradeoffs. Per recent posts here, the likes of AWS are now at the point of cooling CPUs directly with datacenter-scale watercooling; essentially the building's air conditioners, rather than terminating at a fan unit on the inside, feed cooling water directly to a plate mounted onto the CPU heatsink.
A single cloud server could host hundreds of thousands of personal static websites though. I suspect they probably do use less power than 100,000 old phones.
Pretty wild how readily available compute has become. Sure not AI level compute but between modern consumer hardware and the mountain of free tier stuff out there I’ve always got more than ability to use it effectively
Neat, I have been wondering if its possible to use the usb of a phone with suitable adapters to run keyboards, mice and ethernet, for the same end goal. This shows that its indeed possible. I think I should try going back to that idea again.
A similar VPS from Digital Ocean (8GB RAM, 4vcores, 160gb storage) is $48/mo so this seems really cost effective. I'm not really sure how much more performance the vcores have vs a mobile chip but for a blog web server it's probably not a huge issue.
Question might be is it still hosted on a phone... DNS resolves to a residential ISP range, and the site seems to be holding up quite well still, so not sure
Hello, not OP but I can confirm after >10 years of doing it that hosting on reused portable hardware from a home connection is not just viable, it's cheap and stable. No issues with handling the HN frontpage here either
Blog author has confirmed that it's still running on the phone. Also it seems to have handled the HN traffic beautifully and without a hitch. Loading extremely fast (as I've been randomly sporadically checking it since it's been on the front page) the whole time. Don't believe there is any CDN involved as the domain resolves to a residential ISP range. Impressive!
Right, connected to the home lan would make sense, especially considering they detailed that it's fronted by nginx on another machine. curl -v does reveal nginx serving. I guess I was thinking maybe a phone wouldn't handle the HN load, but probably a mistaken assumption as it is after all a static site (believe it's Hugo generated html) and Pixel 5 likely has decent CPU and RAM (or at least plenty for static requests probably).
Termux is great but every time I used i ran into issue because packages didn’t behave properly, needed some weird workaround to even install, some package required didn’t exist at all (it’s up to termux developer to port Linux package to termux).
I would be extremely cautious about running a website over something running in termux, you never know when it’s going to break.
One of the solution, without root, was to run a completely emulated Linux distribution through termux and then install packages on that distribution. Things would work just as fine as on a regular server albeit the loss on performance and increased energy expenditure, which is something the author seems to care about.
Android is great in the way you can do many things with it but it always sucks hard compared to what a real device ,not artificially locked down by Google, can do.
Anyone else find it kinda funny to have a "fully offgrid" website? That's an oxymoron, right? How can it be off grid if it's literally connected to the grid?
I understand they're using grid to mean electrical grid, but still funny.
I swear that i remember pixel 5 support USB-Ethernet. In Fact, most of modern android support it. Since 2020 i've never encounter problem with usb-ethernet on android phone
I'd argue that's happening right now. But we don't know if it's still running on a phone as the post is from September 2024. *Edit, Blog author confirmed it's still running on the phone.
Self hoster here with a vaguely similar setup at home. Absolutely not needed, that just defeats the purpose of self hosting and being in control. Might as well rent space in a datacentre if you're going to proxy via there anyway
One unexpected benefit of hosting your blog on a phone: an excellent defense the next time Comcast sends a nasty letter admonishing you for connecting a "server" to your residential internet.
Well, it's a violation of the ToS. Presumably they want to upsell you on the business plan.
Of course in practice, unless you're running a seed box or something, they're unlikely to find out/object. I've never heard of anyone getting dropped just for having a server on their home network, but I have heard of people being dropped for excessive upload.
Theoretically you can run Linux on iPhone according to this blog: https://konradybcio.pl/linuxona7/
But I don't know whether iPhone can be connected with ethernet.
there was another post from this blog earlier today that led me to check it and I've been scanning posts since. my kinda hackin', and yours too if you're into low power, recycling, self-*-ing ... very cool stuff
I think about battery being the very dangerous thing to leave on 24/7, especially if that’s some remote location (like attic), or at home, but when you do not work from home. It may be dangerous, plus the battery may die pretty quickly.
My first idea, to mitigate risk of fire, it’s possible to locate some hand made sand bag above the phone, so in case there’s fire, the sand would neutralise it. Also, I’d try to emulate charge-discharge cycles by enabling and disabling smart socket. I wonder if that’s possible to automate using the phone itself. E.g. when it reaches 20% it enables smart charger, and disables it upon reaching 80%. So it can do it in perpetuity. Since the screen would be off all the time, I guess one charging cycle would be once a few days. Which is twice or thrice better than average user who charges their phone once or even twice a day. So, theoretically, a Pixel with a new battery might survive a few years, if not 5 years, off one battery. Then a user might replace the battery. So, theoretically, rubbing it a server is entirely possible, I guess. Otherwise, super cool. I’d love to try this myself now. I guess that may be a perfect solar-powered server. For it, maybe one doesn’t want a smart charger. Just let the sun charge the thing whenever there’s a sunny day.
Heh, my n270 netbook it's back (it resurrected itself after three days off and not turning on).
I can post to HN with Dillo, read Reddit news an posts thru nntpit and SLRN as a Usenet
client (and I use the actual Usenet and Fido over NNTP with SLRN too), I can IRC, telegram (nchat),
post into Mastodon with tut, images with nsxiv.
email (that was expected), music (any format), videos (420p and maybe 720@30 without isssues),
read ebooks... and everything from cwm, xterm (unicode font with Unifont) and tmux. Mosh
for flakey SSH connections.
Pros of using an old device?
- near no modern distractions
- VI keys (hjkl and friends) everywhere. Nchat, telescope, mupdf...
- No mice related RSI.
- batch read emails, news, newsgroups and forums. Connect once, download and upload
every email and comment.
- offpunk cachés everything too, from gopher to the web. Offpunk --sync and read
everything offline.
- gopher://magical.fish and gemini://gemi.dev, enough for tons of cases, even
translating English into Spanish for some odd words here and there
- telescope if I want something faster over gopher/gemini/web with stargate.gemi.dev:1994
as the proxy. No ads, no trackers, no cookies, no nothing. Just the text and nsxiv to
view the images as they are linked too.
- florb for Open Street Maps. Enough for GPX track editing and lurking out places and some trip.
- megafast speed. Oh, you have an i7 with Plasma/Windows 11, or worse, Gnome3?
Try it against cwm as the window manager, xterm, and CLI tools. No GUI will match
the speed of a TUI interface, ever.
Cons:
-no modern gaming, but who cares. Mednafen, slashem, text adventures, csokoban...
there are tons of old but charming games out there.
- no JS web. But florb does it fine for Open Street Map. Maybe if I wrote some Street View
client with curl/libcurl and some basic equirectangular (360 degree panorama) viewer,
I would be more than fullfilled. People used to see these images on Pentium II's computers
and up, you know, from 'multimedia CDs' which were from thematic/educational
(as a book/magazine, but with interactive content) to software which were the literal
depiction of Street View with Apple's QuickTime VR.
-SBCL for Common Lisp works so-so, under i686 just GNU/Linux, under OpenBSD it's a bit restricted unlessyou recompile it, and it will last for long. No bordeaux-threads for SBCL, and ECL drives me mad sometimes.
- GNU/Linux it's sending 32 bit support to /dev/null, but Hyperbola GNU and Parabola (among
GNUinos/Devuan and others are still making your old computers usable).
If my netbook can do that... older ARM devices being far more powerful than an n270 can do crazy stuff with very low power. That's why PostMarketOS needs to suceed. I wish I would resurrect a Tokyo Techbook (ARM wm8850) with it too...
I like the idea of using old phones for infrastructure-lite applications, taking advantage of their low power requirements and built-in UPS (which, yes, has its own drawbacks which can only be mitigated to a certain degree).
I have a number of old android devices that I'd like to use for ...something cool like this, but my existing homelab infra could just add an extra VM or container to do this without any likely additional power draw. It's still cool and I want to do it though.
My only query about this cool project is why not wifi? Whilst I'm sure there's a good reason for the author (and I can understand having esoteric specific requirements because I have my own "things"), but it would negate the need for a docking->Ethernet device, which feels to me like unnecessary addition of a device that requires power. Also, bandwidth / throughput probably isn't much of a limitation given the device that's being used. I think I'm mainly interested in the author's specific reason for this requirement (I'm a BA, these questions are my bread and butter).
Comment to author: Gotta add the Pixel 5 to your homelab inventory! Also, nice site, layout and information.
Hey, blog author here. Thanks!
I agree that a VM or container doesn't add to the power usage for a homelab that's already running. I kinda did it for fun and being able to run it off solar. I had original plans to turn the lab off at night and then the phone could keep running from battery. But, the homelab became critical infra and has to be always on lol.
The requirement for Ethernet was just for bandwidth consistency. My WiFi network isn't the best.
On Android devices, it’s generally difficult for apps to maintain persistent background services. I’m curious how you were able to prevent Android from terminating the process, and how the Pixel 5 server managed to keep running?
It runs inside Termux, which has a persistent notification to keep it open in the background. I believe I also extended the max phantom process to prevent it from being killed.
Question, why are you glad you didnt go for the PostmarketOS route? Do you think it's not worth it? Or that android is better in any way?
Just curious
The Pixel device I have is from a family member and it is locked to Verizon, who won't unlock the bootloader. I'm sure there's a work around, but I didn't think it was worth the effort. PostmarketOS is rad though, I have it running on an ancient Windows Surface RT.
Is your nginx proxy also caching the site? If so then that is probably contributing to the site stability under the HN load I would think?
It is not. Somehow the sticks and bubblegum are holding together.
Wow even more impressive then..
> I had original plans to turn the lab off at night and then the phone could keep running from battery. But, the homelab became critical infra and has to be always on lol.
I've rebuilt my entire setup a while ago to "tolerate" power loss.
- Everything is sliced into three zones: "always-on", "desktop", and "homelab". The latter two through a smart plug, so that power can be cut.
- Always-on includes the SOHO router/AP, a RasPi4, and my Mac mini. The router's switch has only two ports populated: the Pi, and the Big Switch.
- Desktop is things like the screen, speakers, dock, wireless charger, camera (dummy battery), cute lamp, etc. All of this can tolerate power loss at any moment.
Homelab: this is the tricky part. There's a big (52 ports!) switch that "everything else" is plugged into, including my Mac (yay 10Gig Ethernet, not sure what for). A bunch of SBCs like Pis, NVidia Jetsons, x86's, etc. Nothing important, still figuring out what to do with all of that, so I kinda don't care if the power is cut.
The important bit is the NAS (RAIDZ 3x3TB). ZFS makes you feel like you're invincible, but I've still built something to keep it clean: 1. it's powered down until required; 2. the router has a cron job to WoL the NAS 5min before all backup jobs start; 3. the NAS has its own cron job that waits for the backups to complete, then waits for all SSH sessions to terminate, then shuts itself down. You can kill the script via SSH.
What I'm planning to do is to build a simple daemon for each box, that checks in once per minute or so, to ask if it's time to shut down. Once everyone is clear, cut the power. Somewhere far down my TODO list ;) until then, you can also use an iOS shortcut to SSH to each box before asking HomeKit to throw the switch, but storing passwords is fugly and handling separate pubkeys is too much bother. So I'm mostly happy with it as-is.
I think you might be interested in NUTs, Network UPS Tools. They provide a way to distribute power information about a ups across a network.
https://networkupstools.org/
Looks interesting, but my main obstacle right now is that the power switch is controlled via HomeKit - I could make my Mac an integral part of the setup (it's powered 24x7 after all), but that feels clunky. I think the way to go is to make a shortcut to gracefully shut down via Mac/iPhone. It's one tap, just requires some thinking to set up.
I have my Pixel 3 magnetically attached to my keyboard, to the left side, next to the tab, caps lock and other keys. It displays a webpage of a grid of buttons which do things when I press them, like inject the current timestamp at the cursor position, toggle my monitors on and off, launch certain apps.
Because I wanted an Elgato Stream Deck but then thought that I have this unused phone.
Can you write up how you set that up? It sounds intriguing.
> I like the idea of using old phones for infrastructure-lite applications, taking advantage of their low power requirements and built-in UPS (which, yes, has its own drawbacks which can only be mitigated to a certain degree).
I'd love to see a..."serverization" kit for some mobile devices, like the "consolized" kits developed for the game boy advance[1]: Extract the mainboard from your phone and extend it by directly interfacing it with external storage, a better power supply and a physical network interface.
[1]https://fingercramp.com/portfolio/gba-consolizer-play-your-f...
approximately 0% of phones can be easily opened up, or have any way to extend their hardware other than usb
Nobody doing this sort of thing really cares about easy
> why not wifi?
I'm not the author but can speculate. WiFi is higher latency and a bit probabilistic. Like the slowest 1% of requests to the server may take an additional 1000ms or so. And if I was running a blog from a phone I'd want it to be impressively fast. Also an old Android phone may not be able to use modern WiFi standards and it could struggle with the traffic from being on the HN homepage.
Old phone? It's a Pixel 5 from five years ago. My first Android ever in 2012 already supported 802.11ac with speeds faster than any internet connection I've ever had
Are you sure? Supporting 802.11ac in 2012 is pretty amazing considering that the standard was finalized in late 2013.
Oh, you're right. I was quite sure but it's indeed 802.11n. Maybe I thought it was an upgrade from the other systems (laptop and phone) I had at the time because it was the first with 5 GHz, seeing new WiFi networks that no other of my devices could see, and conflated that with the new standard. That's still faster than the internet connection I have and host my website on today, but not by as much
One issue I have with doing this is what about security? Many older android phones don't get updates anymore (I'm not sure if a Pixel 5 is still supported, it might be) so I'd be concerned about security vulnerabilities going unpatched especially if the phone is exposed to the internet.
This is one of the longstanding issues with Android, yeah. Pixel 5 went EOL in 2023, though did get some extra (probably security) updates last year.
OEMs and SoC manufacturers have been getting better about upstreaming stuff recently from what I've heard (thank you Qualcomm!), but as far as stock OS images go I wouldn't expect manufacturers to support them for one moment longer than they have to.
This is part of why efforts like PostmarketOS are so helpful. Ironically, if this was an even older Pixel 3a, you could run it with modern software: https://wiki.postmarketos.org/wiki/Google_Pixel_3a_(google-s...
Limit your attack surface by using a simple stack, and limit the incentive for hacking. Countless sites operate just fine on old software.
I've had this dream of doing it in Elixir, and use it's capability to easily connect nodes securely together, to add more processing power into the system through by just slapping more phones at it.
This sounds a lot like the GRiSP project: https://www.grisp.org/
If you have to plug it in anyways, may as well power + ethernet.
I laughed at "Having a website that is fully offgrid". I _guess_ not being connected to the electrical grid while still being connected to the internet qualifies as "offgrid", but it kinda feels wrong to me.
Why, consider a device, like a mobile phone, which is not connected to power grid (solar-charged instead) and uses radio to access the Internet (typically 4G). I think it would be as off-grid as it gets. Quite a bit of off-grid equipment, like weather stations, traffic cameras, etc do exactly that.
Yeah, I would guess you can go a long way with a USB battery based charger device in the middle even... Panel > Battery > Phone... which should hold more than a day's usage for the phone.. since phone batteries tend to lose a lot of life after 4-5 years.
IIRC, WiFi on cellphones tends to have power-saving features that cause unsolicited incoming connections to have poor performance and very high latency. I don't know if there are kernel parameters to disable this, but even if there are, you'd likely need root to toggle them.
Are you saying the power required for wifi transmission is lower than the power required for usb?
Also, what's a BA?
I am guessing a business analyst (https://en.wikipedia.org/wiki/Business_analyst). Basically, someone who facilitates creating and communicating stakeholder analysis across a business. The idea is that a BA would have a thorough understanding of everything across a business. Think of them as a product owner in scrum, except there is a bit more overlap working with different parties both internal and external to the business.
You will likely find a BA (or someone with a similar role under a different name) in most large organisations (and likely in quite a lot of medium ones, too).
As per tim (thank you tim), yes, Business Analyst. I ask annoying questions to make sure everyone understands what the actual problem is rather than everyone making their own assumptions where there's ambiguity.
An additional device just to facilitate wired network usage over wifi usage felt like unnecessary additional complextiy and probably higher power usage. The blog author replied, however, saying that wifi was a bit flaky, explaining the design choice.
i've been working on an idea for a while to use those idle old phones for... distributed web and app testing. plug it in at night... wake up having made a few bucks.
problem is getting anyone to really care, though. cloud hosting is cheap.
The power efficiency is fascinating - modern phones are basically ARM servers optimized for battery life. Pixel 5 probably draws <5W under load vs 50-100W for a typical x86 server. For a personal blog, that's 400-800 kWh/year savings. The environmental impact of reusing vs recycling electronics is under appreciated.
For a static site you can get a lot better by dumping it on S3 or Github Pages. Your site uses 0W while not being used since the server was already running, and it consumes no resource usage while not being requested. But yeah an x86 server at home for a static site is awfully inefficient.
Depends. If you reuse otherwise wasted electronic it is efficient in avoiding extracting resources / energy building new hardware and avoids recycling energy or waste polluting earth. A big picture analysis of reusing old hardware would be very interesting.
>Your site uses 0W while not being used since the server was already running
You are paying for it to be available (or in the case of GitHub Microsoft is as an incentive).
If you put it on AWS S3 (not subsidised), and your website is 1GB, which would be huge for a static blog, it'll cost you $0.27 per year to store / have available. The price is so incredibly small that numerous companies offer it as a completely free service.
I use Nearly Free Speech to host and pay $20 every few years. Is there a freer host?
https://pages.cloudflare.com/
Aren’t CF sunsetting Pages in favour of Workers? I would be hesitant relying on something that may be shut down anytime.
I've just asked the Workers & Pages team (I work at Cloudflare), and that's not true.
"If you’re wondering “What about Pages?” — rest assured, Pages will remain fully supported" https://blog.cloudflare.com/sv-se/builder-day-2024-announcem...
That’s the corporate promise for now, but there is no Ulysses pact guaranteeing they’d support it forever if the financials don’t line up any more, so the second-best guarantee is if there is a strong self-interest incentive that would remain to be the case even in 20, 30 years? They mentioned that they need scale and so offers generous free tiers as proving ground, but would that incentive stay the same after a few decades?
You do realize you can say that about literally every service in the world, right?
No no no, Pages will not be "shut down".
Pages is gradually being unified into the Workers platform. For new projects we suggest just starting with Workers as it is strictly more powerful. But eventually existing Pages projects will be migrated to Workers automatically -- either that or we will just keep supporting Pages forever.
There are an enormous number of web sites hosted on Pages, it would be insane for us to turn them off.
What would happen to the X.pages.dev subdomains when they get auto-migrated? Do they get switched to X.workers.dev silently? My main concern with this sunset is about link rot for those who didn’t use their own domain.
Another concern is whether you’d still be able to get unique .pages.dev subdomains per project, it seems that workers force each account to one subdomain only across all projects. When pages get sunset dies it mean that you’ll no longer be able to make new unique pages.dev subdomains?
Also, the killer feature for many is the ability to just upload a zip hassle-free, both for production and for preview branches, the preview branches potentially serving as an extra subdomain level namespace. Would Workers still support that no-fuss workflow?
Sorry but I think there's still a basic misunderstanding here.
Pages is not going away. It is not "sunsetting".
What is happening is, the implementation is changing to be more closely integrated with Workers.
At present most Pages features are available directly on Workers, but not quite all, but we're working on it. Hence, we're suggesting people use Workers for new projects, but we're not auto-migrating people yet. Once we're feature-complete we'll auto-migrate people to the new implementation.
But the "Pages" brand will continue to exist, as a more-integrated part of the Workers platform. pages.dev will not go away. We will not break anyone's sites. Everything you can do with Pages today should be just as easy if not easier on the new implementation.
I mean, they are sunsetting pages in favour of workers but it seems that static pages even in workers would have unlimited bandwidth and unlimited pages so there seems to have to be no difference and I trust cloudflare enough that they won't really remove these cf pages.
Do you have some link at hand?
Self-commenting. Aha, I entirely missed this: https://news.ycombinator.com/item?id=44853934
I've had a NextCloud server and an IRC bouncer running on Oracle Cloud with static IP for two years now, free of charge.
More than sufficient to host a site, even dynamic.
Github and Gitlab offer free static site hosting.
50-100W for equivalent work as a phone from 2020 can do would have been the case with CPUs from at least a decade ago. I should hope that one doesn't burn ~75W to host a few static files if it can also run on a Pi or phone or laptop that draws <20W idle
That's not to say it's not a good idea to make use of the super efficient "Pi" you already have at home in the form of (several, probably) old smartphones! Just that you'd not use it for the same purpose as a gaming desktop that can't idle below 50W
Of course it depends on what you consider typical, but x86 can do pretty low power stuff too; n100 systems can idle <10w and 20-30w at full load.
> 400-800 kWh/year savings
The average all-sector U.S. price per kWh is 13.20 cents (source: https://www.eia.gov/electricity/monthly/epm_table_grapher.ph...). Even at the high end that’s a savings of $105.60/year, or $8.80/month.
The U.S. poverty line for 2025 is $15,650 for a single person (source: https://aspe.hhs.gov/sites/default/files/documents/dd73d4f00...). $105.60 is less than one percent of that.
Sure, energy efficiency is great and I would rather have $105.60 than not have it, but it doesn’t really matter in the grand scheme of things.
well recycle is worth chasing as well in this scheme of things.
It's not just the money but also the CO2 footprint, https://news.ycombinator.com/item?id=45111385
Generating a kWh emits 0.8 pounds of CO2 on average (source: https://www.eia.gov/tools/faqs/faq.php?id=74&t=11); burning a gallon of gasoline in a car emits about 20 pounds of CO2. That means that 800 kWh (= 640 pounds of CO2 emitted) is as bad as using 32 gallons in a year.
It just doesn’t matter much.
Did you account for the manufacturing of the server?
Pedantry: A _reused_ Google Pixel 5. It was not broken down and reconstituted.
Reduce, Reuse, Recycle is in order of environmental impact, so reusing is an upgrade!
No but it was reused as a whole. "Recycle" is completely correct. Pedantry failed.
https://en.wiktionary.org/wiki/recycle#:~:text=To%20reuse%20...
Reused as a whole sounds like reuse.
Recycle is definitely grammatically correct. It's just a different word for re-use.
I thought recycle was the breaking down of the device into its constituents (mostly to recover precious metals or other base materials). In contrast, reuse is where the device is kept mostly intact and used for other purposes such as this. Just breaking things down requires considerable amounts of energy through the sheer logistics of it relative to just reusing it.
There is quite a bit of room between reusing something for its intended purpose and recycling something at the material level. TFA is at neither extreme - the phone is kept intact but it's employed for a much more limited purpose that only really uses some of the phone's components.
Ironically, this is semantics, not grammar.
How is that ironic? Since the thread is about definitions, I am surprised that we are in a situation where grammar is expected and definitions not
My number one concern is how do I avoid the spicy pillow problem... If I could have phones run off of USB without a battery, I would love to do that.
The worst part of the spicy pillow problem is that even if you remove the battery cell and solder a power supply to the BMS, Android will eventually decide "I must be out of battery by now" and shut itself down. You have to root the device to override this and it is supremely annoying.
Of course if the thing could just run directly off wall power like you suggested, this wouldn't be a problem.
I'm told that most phones have power usage spikes that exceed the power delivered by the charger, and they use the internal battery as a capacitor to soak up those spikes.
To a certain degree, that might be true. However, small batteries like they are found in phones have relatively high internal resistance (voltage drops as current draw increases). They can't deliver huge currents like capacitors. A beefy enough power supply should be able to handle power spikes even without a battery installed.
My small army of old android devices are plugged into a USB 'charging station' (multiple USB charging ports off a single plastic device) which in plugged into a smart switch. The smart switch turns on for a couple of hours overnight, to keep the phones charged at least minimally.
Most of the devices also have a custom ROM and are rooted, and using the ACCA app I restrict charging to a maximum of 80% battery capacity.
I had a Samsung Note 5 (released in 2015) that only went spicy maybe 6 months ago. I have a Samsung S9 and a Nokia 6.1 that are both still going strong with fairly recent versions of LineageOS. Both are 2018 phones, so around 6.5 years old (old for phones, but shouldn't be 'electronically' old).
> Most of the devices also have a custom ROM and are rooted, and using the ACCA app I restrict charging to a maximum of 80% battery capacity.
I used this method too but then LineageOS merged the functionality in a few years ago and it works perfect.
I have a Nokia 6.1 as well but my oldest continuous use device is a Oneplus 8T used to provide hotspot to a location 24/7/365.
https://www.instructables.com/Power-an-Android-Phone-Without...
You can also buy dummy batteries for certain models online.
For simple live streaming, the standard setup is a mid-range/DSLR camera, a dummy battery, and an HDMI capture card. (I have a Sony ZV-1 and Camlink 4K.)
Some phones now have an option to limit charging to 80%. That should eliminate the problem entirely.
If your phone won't do that, you can use a smart power switch. Some mentioned to simply have it on a timer, but if you wanted to get fancier, you could use IFTTT to toggle it on/off based on battery percentage. I'd likely make it turn on at 40% battery and off at 60%.
My concern too. I go check on it about once a week. I definitely need to find something safer.
Don't run it empty or get it super hot. Gas generation and cell degradation really seems to skyrocket if cells drop below 3V, so don't run them flat. Doesn't seem to ever happen on devices kept on around the clock and powered so long as they aren't in crazy hot conditions.
I have tried this with devices that remained on all the time. The display or camera being on all the time also seems to cause spicy pillows?
Spicy pillows are basically caused by 1 of 2 things:
1. Heat
2. Being fully charged all the time
Recording video consumes a considerable amount of power, leading to heat. The display less so, unless you're operating at maximum brightness all the time.
#2 is what killed my Pixel 3 after only about 2 years. Once I started working from home, I had a bad habit of letting my phone sit on the charger all day and after about 3 months of WFH the pillow got spicy.
For a phone that's going to be repurposed as a server, I wonder if it'd be worthwhile to open the case and attach a heat sink to the battery.
Put it in a fireproof box and if it dies it dies.
My 2002 TiBook's original battery is buried in sand, in a bucket. It should probably get recycled.
The easiest way is with a programmable plug, it does not have to be smart, just set it up to charge the phone for 1 or 2 hours at the cheapest, or available by solar, the rest of the day the phone will use battery as usual. Is the battery cooked? Then set it to be half an hour every 4 hours or so.
Seems completely reasonable given how many people are doing similar with RPi and other similar boards and chips. A Pixel 5 is more powerful than a lot of them, with the screen often being the biggest power drain. I'm curious what tweaks can be done to minimize power use overall as I'm assuming heavy loads could heat up the phone a bit.
Looking at the underlying block arch (Hugo), seems to be written in Go an should be pretty good for serving the content overall.
Aside: I've become a pretty big fan of SSG, and have been wanting to build a desktop mostly markdown based blog editor that then publishes to Cloudflare infrastructure... Just been lazy about actually picking it up (thinking Tauri/Rust + React/MUI for the app) with git integration and optionally direct or github action for push. I can't recall the name, but MS actually had a nice gui blog editor that integrated with a few engines a couple decades ago, but long since abandoned.
Somewhere a Google exec is demanding to know why they allow such reuse of Google's property ... and is there some way they can serve ads on it.
So, uh, hi. This is my blog post. I'm just some guy that blogs and gets like 5 reads per post, so I'm a fish out of water here. I didn't even have a HN account until today.
To answer a some questions: 1. Still running on the Pixel. I never had a reason to change it. 2. It is on a residential internet connection because, well, I never planned on having any volume of readers. 3. I'm just some dude that does random projects at home after work. I'm not even in tech. I actually own a construction contracting biz.
You think like an engineer, so you're in good company here. I had a brief skim of the rest of your blog and there's definitely content that's interesting to me at least, and as I said in a comment above, the site design is beautifully easy to read and navigate. I plan on returning.
Others seem to agree, given your "I want to be left alone" post also got some HN love.
Thanks!
Thanks for the blog post, interesting read. Question: why run `hugo serve` instead of using it to build the files and then use nginx or some other webserver?
My take is it's a lot easier to just use Hugo serve vs trying to get nginx/apache/Caddy et al working through Termux. And he is already using nginx as a reverse proxy from another machine on his lan in any case
This is it. It was just easier to get it up and running.
This message was sent from a Pixel 5 still in great condition!
It's the best phone I've ever had, it's the perfect size and has a fingerprint reader on the back. Everything I've tried since it has been a regression.
This post was made from a refurbished Pixel 5 I scored for ~$250. Just like you, this is easily the best phone I have ever had. I really like the 2020 design philosophy as is it doesn't include features meant to be technologically impressive rather than practical (eg. under-screen finger print reader). Here is to many more years of 2-3 days of use on a charge and good-but-not-great pictures
Looks like you can get a pixel 5 used for like $100-150 now? A quick look yields that most are in poor condition. Would be nice to find one barely used or even new/refurbished these days.. is it possible?
I should probably have specified that I bought the phone in northern Europe where prices are generally higher due to companies' selective pricing and VAT. If I had to guess, those $250 would probably correspond to around $180 to $190 if the device was bought in America during the time of my purchase - you guys don't know how good you have it when it comes to the price of consumer electronics!
Funnily enough I was just in the market for a sealed new Pixel 5 on Ebay UK last week. The going rate seems to be about £200
I'd probably buy at that price, but I'm not sure what the battery condition will be like after 5 years doing nothing.
Personally, I cringe at paying more than 100-150 for a phone. Never spent more than that in my life! I've had a couple refurb iPhone 7's over the last 5-7 years, lol. My main phone currently is a 2024 Moto G Play, but it's a little lacking even for me (as I couldn't give two shits about even beginning to care about having a "nice" phone), so a decent shape Pixel 5 for cheap sounds kinda cool
That's sealed new. If you're happy with used or even scratched then the price can be sub-£100
Not to mention the plastic body. Metal dents, plastic bounces!
It's a good phone, but think I need to replace the battery on mine. It's getting to the point that I have to recharge a couple times per day.
Similar. I'm going to hold on to my iPhone SE2 (same year, size, mass, touch ID, etc) until it dies.
How does DNS work with a setup like this? I assume that ISPs generally don't want people hosting servers on residential connections.
NAT is the hard problem. I'm tracking this one: https://github.com/tailscale/tailscale/issues/11563
You can also talk to your ISP (or their competition). My friend negotiated something like +5€/mo for a static IP. We can play Factorio together, yay!
Plenty of dynamic DNS solutions. TP-link even has one you can set up from their app (not a endorsement, don't know if it is good or bad)
I have a fiber 2.5 gbit connection without static IP. But I run a script on the router that updates the DNS settings when the IP changes, you just have to have a DNS provider that allows you to do that and change ttl.
Don't most ISPs hand out IPs that are only nominally dynamic?
My IP is dynamic, but in practice only changes ~once/year. Even if I go to my router and release the WAN IP and reboot, when it comes back up, it'll have the same WAN IP. But then that once/year, my Internet randomly goes down and I have to reboot my router and I end up with a new WAN IP.
When that happens, I just go and manually update the IP for a hostname I use. If I wanted to get fancy, I could automate all this, but meh. CBF to spend the time automating something that only takes me 30 seconds to do once/year.
> I assume that ISPs generally don't want people hosting servers on residential connections.
They likely don't care unless you're saturating your upload consistently. Also, some ISPs like Comcast/XFinity are known for having extremely asymmetrical connections. At least, they used to. I'm fairly certain I've heard of some people having 1 gbps down, but only like 16 mbps up.
Also impressive: two simultaneous front page posts on HN!
Oh wow, that is indeed rare I think
reduce, repost, recycle.
I feel we are being so wasteful with our gadget.
Even outdated smartphone like samsung S9-S10 or Iphone X is way overpower than your average SBC(Pi4, Pi5), yet we mostly can't do anything because OEMs decided to make our life harder to recycle them.
Is a phone plugged in 24/7 actually more power-efficient than a slice of a mega-optimized cloud server?
Idk about power efficient but it's definitely more resource efficient. Reduce, Reuse, Recycle. Let's really stop fixating on the last one.
Well, offhand, no one buys a cloud server for power efficiency, people buy into the cloud for reliability, or performance, or cost -- or some combination thereof.
If you're buying ultra-power, you're forgoing power-efficiency.
> no one buys a cloud server for power efficiency, people buy into the cloud for reliability, or performance, or cost -- or some combination thereof
Low cost and power efficiency are pretty much the same thing for a datacenter though, since cooling is the most expensive part. Hence e.g. AWS pushing Graviton.
I'm not saying you're wrong, but I would like to point out that a phone doesn't need active cooling. I just don't know if Graviton requires active cooling.
And I don't know if that statement is accurate, since passive cooling would be even better than active cooling from an efficiency perspective and particularly if you also consider reliability. Less moving parts would mean higher reliability unless, eg., the thermal paste evaporated on the cpu.
> I would like to point out that a phone doesn't need active cooling.
A single phone, far away from other sources of heat, used only in environments that are comfortable for humans (which may well involve active cooling at the building level), and configured to throttle down when it's used for more than a few minutes, perhaps not (although even then, I've seen phones get uncomfortably hot when gaming, and had my own phone shut down because it's too hot on occasion). If you were setting up banks of phones to run in a datacenter environment, and expecting to run them flat out, you'd probably want to actively cool them.
> And I don't know if that statement is accurate, since passive cooling would be even better than active cooling from an efficiency perspective and particularly if you also consider reliability. Less moving parts would mean higher reliability unless, eg., the thermal paste evaporated on the cpu.
Everything is tradeoffs. Per recent posts here, the likes of AWS are now at the point of cooling CPUs directly with datacenter-scale watercooling; essentially the building's air conditioners, rather than terminating at a fan unit on the inside, feed cooling water directly to a plate mounted onto the CPU heatsink.
A single cloud server could host hundreds of thousands of personal static websites though. I suspect they probably do use less power than 100,000 old phones.
It is when it's plugged into a battery which is charged from a solar panel.
Assuming the power management is correctly setup, yes.
Related: https://www.fairphone.com/en/2024/11/28/the-fairphone-2-is-r...
Here is a blog I wrote if anyone is interested in using Cloudflared & Termux without modifying the OS!
https://mitanshu7.github.io/html/SSH_into_Android_with_Termu...
Pretty wild how readily available compute has become. Sure not AI level compute but between modern consumer hardware and the mountain of free tier stuff out there I’ve always got more than ability to use it effectively
Neat, I have been wondering if its possible to use the usb of a phone with suitable adapters to run keyboards, mice and ethernet, for the same end goal. This shows that its indeed possible. I think I should try going back to that idea again.
A similar VPS from Digital Ocean (8GB RAM, 4vcores, 160gb storage) is $48/mo so this seems really cost effective. I'm not really sure how much more performance the vcores have vs a mobile chip but for a blog web server it's probably not a huge issue.
Question might be is it still hosted on a phone... DNS resolves to a residential ISP range, and the site seems to be holding up quite well still, so not sure
Hello, not OP but I can confirm after >10 years of doing it that hosting on reused portable hardware from a home connection is not just viable, it's cheap and stable. No issues with handling the HN frontpage here either
What portable hw are you using?
Old laptops mainly. At some point an Asus EEE PC. Currently it's a 2012 laptop that I used as daily driver for five years
Blog author has confirmed that it's still running on the phone. Also it seems to have handled the HN traffic beautifully and without a hitch. Loading extremely fast (as I've been randomly sporadically checking it since it's been on the front page) the whole time. Don't believe there is any CDN involved as the domain resolves to a residential ISP range. Impressive!
Blog was Posted on Aug 29, 2024
I don't think it would suddenly be hosted on something else in the very few days since.
Edited to add: I don't think it's hosted via a phone with a SIM, it would appear that the device is connected to their home network.
Also: Haha, ooops, 2024 (not 2025!)
Right, connected to the home lan would make sense, especially considering they detailed that it's fronted by nginx on another machine. curl -v does reveal nginx serving. I guess I was thinking maybe a phone wouldn't handle the HN load, but probably a mistaken assumption as it is after all a static site (believe it's Hugo generated html) and Pixel 5 likely has decent CPU and RAM (or at least plenty for static requests probably).
USB ethernet tether might be the “how” here. Or some sort of VPN (tailscale) to the home LAN that the phone is hooked up to. Not quite “off-grid”.
I had a web server running on my jailbroken iPod touch back in 2009/2010. It’s neat but not entirely novel, or practical.
Termux is great but every time I used i ran into issue because packages didn’t behave properly, needed some weird workaround to even install, some package required didn’t exist at all (it’s up to termux developer to port Linux package to termux).
I would be extremely cautious about running a website over something running in termux, you never know when it’s going to break.
One of the solution, without root, was to run a completely emulated Linux distribution through termux and then install packages on that distribution. Things would work just as fine as on a regular server albeit the loss on performance and increased energy expenditure, which is something the author seems to care about.
Android is great in the way you can do many things with it but it always sucks hard compared to what a real device ,not artificially locked down by Google, can do.
Anyone else find it kinda funny to have a "fully offgrid" website? That's an oxymoron, right? How can it be off grid if it's literally connected to the grid?
I understand they're using grid to mean electrical grid, but still funny.
Repurposed, not recycled.
(I did something similar for Android tablets, repurposing them into an automated, digital photo frame).
Pixel 5 does not support USB-to-Ethernet adapters
Are there any phones that do support such adapters
I currently use an old phone as a battery for a RPi
I swear that i remember pixel 5 support USB-Ethernet. In Fact, most of modern android support it. Since 2020 i've never encounter problem with usb-ethernet on android phone
This is why I am such a big fan of the Micro PC's by HP, Dell etc
Very efficient but enough grunt to do multiple things at once and have great hardware and driver support.
Running a blog on a pixel is next level efficient
I don't quite get how he's actually serving the page. Does `hugo` contain a webserver, I thought it's a static site generator
It's further down in the article but he's using `hugo serve` which renders the static site and serves it in one command.
Not entirely sure how he's doing TLS from a quick skim of what he's shared though.
He has nginx reverse proxy in front on another machine in his lan, so I suspect TLS is terminated there
Title needs "(2024)". It's been over a year and whether the blog is still running on a recycled Pixel 5 is unclear.
How long can the power bank plus the phone's built-in battery last when the solar panel goes down?
Impressive. The page loaded very quickly for me here in Singapore. Is it still running on the Pixel?
Can you stresstest it ? How many simultaneous connections can it handle ?
I'd argue that's happening right now. But we don't know if it's still running on a phone as the post is from September 2024. *Edit, Blog author confirmed it's still running on the phone.
I'd hope this is proxied thru cloudflare's CDN, lol.
Self hoster here with a vaguely similar setup at home. Absolutely not needed, that just defeats the purpose of self hosting and being in control. Might as well rent space in a datacentre if you're going to proxy via there anyway
It's on a Comcast IP
One unexpected benefit of hosting your blog on a phone: an excellent defense the next time Comcast sends a nasty letter admonishing you for connecting a "server" to your residential internet.
Wait, what? You can't host a server on your own internet connection with comcast?
Well, it's a violation of the ToS. Presumably they want to upsell you on the business plan.
Of course in practice, unless you're running a seed box or something, they're unlikely to find out/object. I've never heard of anyone getting dropped just for having a server on their home network, but I have heard of people being dropped for excessive upload.
Why not?
I clicked just so I could experience this! This is awesome!
I like this. We are surrounded by old phones that are more powerful and energy efficient than a raspberry pi we should use them!
Does anyone know if this is possible with an iPhone 6s?
Theoretically you can run Linux on iPhone according to this blog: https://konradybcio.pl/linuxona7/ But I don't know whether iPhone can be connected with ethernet.
https://apps.apple.com/us/app/worldwideweb-mobile/id16230068...
there was another post from this blog earlier today that led me to check it and I've been scanning posts since. my kinda hackin', and yours too if you're into low power, recycling, self-*-ing ... very cool stuff
I think about battery being the very dangerous thing to leave on 24/7, especially if that’s some remote location (like attic), or at home, but when you do not work from home. It may be dangerous, plus the battery may die pretty quickly.
My first idea, to mitigate risk of fire, it’s possible to locate some hand made sand bag above the phone, so in case there’s fire, the sand would neutralise it. Also, I’d try to emulate charge-discharge cycles by enabling and disabling smart socket. I wonder if that’s possible to automate using the phone itself. E.g. when it reaches 20% it enables smart charger, and disables it upon reaching 80%. So it can do it in perpetuity. Since the screen would be off all the time, I guess one charging cycle would be once a few days. Which is twice or thrice better than average user who charges their phone once or even twice a day. So, theoretically, a Pixel with a new battery might survive a few years, if not 5 years, off one battery. Then a user might replace the battery. So, theoretically, rubbing it a server is entirely possible, I guess. Otherwise, super cool. I’d love to try this myself now. I guess that may be a perfect solar-powered server. For it, maybe one doesn’t want a smart charger. Just let the sun charge the thing whenever there’s a sunny day.
Not sure how reliable an old android phone is. You achieve the same thing with an old bad but much better reliability.
Heh, my n270 netbook it's back (it resurrected itself after three days off and not turning on). I can post to HN with Dillo, read Reddit news an posts thru nntpit and SLRN as a Usenet client (and I use the actual Usenet and Fido over NNTP with SLRN too), I can IRC, telegram (nchat), post into Mastodon with tut, images with nsxiv. email (that was expected), music (any format), videos (420p and maybe 720@30 without isssues), read ebooks... and everything from cwm, xterm (unicode font with Unifont) and tmux. Mosh for flakey SSH connections.
Pros of using an old device?
- near no modern distractions
- VI keys (hjkl and friends) everywhere. Nchat, telescope, mupdf...
- No mice related RSI.
- batch read emails, news, newsgroups and forums. Connect once, download and upload every email and comment.
- offpunk cachés everything too, from gopher to the web. Offpunk --sync and read everything offline.
- gopher://magical.fish and gemini://gemi.dev, enough for tons of cases, even translating English into Spanish for some odd words here and there
- telescope if I want something faster over gopher/gemini/web with stargate.gemi.dev:1994 as the proxy. No ads, no trackers, no cookies, no nothing. Just the text and nsxiv to view the images as they are linked too.
- florb for Open Street Maps. Enough for GPX track editing and lurking out places and some trip.
- megafast speed. Oh, you have an i7 with Plasma/Windows 11, or worse, Gnome3? Try it against cwm as the window manager, xterm, and CLI tools. No GUI will match the speed of a TUI interface, ever.
Cons:
-no modern gaming, but who cares. Mednafen, slashem, text adventures, csokoban... there are tons of old but charming games out there.
- no JS web. But florb does it fine for Open Street Map. Maybe if I wrote some Street View client with curl/libcurl and some basic equirectangular (360 degree panorama) viewer, I would be more than fullfilled. People used to see these images on Pentium II's computers and up, you know, from 'multimedia CDs' which were from thematic/educational (as a book/magazine, but with interactive content) to software which were the literal depiction of Street View with Apple's QuickTime VR.
-SBCL for Common Lisp works so-so, under i686 just GNU/Linux, under OpenBSD it's a bit restricted unlessyou recompile it, and it will last for long. No bordeaux-threads for SBCL, and ECL drives me mad sometimes.
- GNU/Linux it's sending 32 bit support to /dev/null, but Hyperbola GNU and Parabola (among GNUinos/Devuan and others are still making your old computers usable).
If my netbook can do that... older ARM devices being far more powerful than an n270 can do crazy stuff with very low power. That's why PostMarketOS needs to suceed. I wish I would resurrect a Tokyo Techbook (ARM wm8850) with it too...