this post was submitted on 19 Sep 2026
185 points (99.5% liked)

Selfhosted

62234 readers
1011 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

I had an old Google Pixel 3a XL sitting around and decided to see if it could handle running as a fully offline, self-contained web server.

I flashed postmarketOS 26.06 (headless Alpine Linux base) to it and set up a portable media node that broadcasts its own Wi-Fi AP, serves static pages, and streams video over a captive portal - no cell data or upstream internet needed.

Quick Hardware/Tech Stack Breakdown:

  • Device: Google Pixel 3a XL (2019)
  • OS: postmarketOS 26.06 (CLI base with OpenRC)
  • Networking/AP: hostapd for the AP, dnsmasq for DHCP & wildcard DNS routing
  • Firewall: nftables redirecting port 80 requests to trigger the captive portal popup automatically
  • Web Server: Lighttpd handling HTTP requests and MP4 video range requests

Performance & Power Draw: Under a test load streaming 720p video to 4 concurrent devices, total CPU usage averaged around 5% (load avg 0.51). Power draw stayed around ~2.4W off the internal battery, with temps holding steady at 54°C.

Why build this? Mainly as an offline entertainment and information node. I run a non-profit foundation providing SCUBA training to young survivors of childhood abuse, and having a tiny, battery-powered web node lets us provide offline information and videos to people while traveling. I will also be able to use it to provide training videos if I am teaching in a location that does not have internet access available.

I wrote up a complete overview covering the setup, and performance metrics if anyone wants to replicate it or build something similar. Over the coming weeks I will be posting configs and some other information to Github with a link from my site.

https://www.muttmutt.us/geeky-stuff/portable-web-server-on-an-android-phone-for-offline-access/

Happy to answer any questions about postmarketOS setup or the networking config!

top 25 comments
sorted by: hot top controversial new old
[–] non_burglar@lemmy.world 27 points 1 day ago* (last edited 1 day ago) (1 children)

I love this.

As I get older, I realize that the myriad of lower-power devices I have a perfectly suitable to fill roles in my infra in this way.

[–] MuttMutt@lemmy.world 11 points 1 day ago (2 children)

If the bootloader can be unlocked you can do a ton of things like this. If not you are limited to using Termux and the packages you can install without roof permissions.

[–] dmalteseknight@programming.dev 7 points 1 day ago (2 children)

What are you planning on doing on the roof?

[–] MuttMutt@lemmy.world 2 points 5 hours ago (1 children)

Damn swype... I replaced the roof 2 years ago. And I mean that literally tore it off completely all (4 layers) and put a new one on by myself.

[–] dmalteseknight@programming.dev 1 points 5 hours ago

Who gave you permission to do that!?

[–] kenopsik@piefed.social 1 points 19 hours ago (1 children)

Hopefully installing solar panels on spite of the HOA

[–] MuttMutt@lemmy.world 2 points 5 hours ago

Yes on the solar panels. No on the HOA. Small town life is good. I installed the system controller 3, IQ Combiner 5, and two IQ 5P battery's already. Never pulled a single permit, nor had anyone tell me I couldn't do it. 7.2KW with IQ8A's will be on the roof soon.

[–] non_burglar@lemmy.world 3 points 1 day ago

Yeah, I keep a oneplus 6t to test Linux images, but maybe it can do other things for a bit...

Postmarketos runs well on it.

[–] SolacefromSilence@fedia.io 23 points 1 day ago (2 children)

Very nice and very cool, although please don't trust their batteries. The pixel line is known for spicy pillows and I have personal experience with the pixel 3xl going bad.

[–] MuttMutt@lemmy.world 7 points 1 day ago (2 children)

Yeah, I don't trust any of the device batteries truthfully. This one has a little swelling because my stepson used it for a while and had the bright idea to leave it constantly plugged in. I will not be flying with it for sure and when I do travel it will not get packed where I can't access it easily.

[–] fegular@lemmy.zip 9 points 1 day ago (1 children)

I miss the days when batteries could be removed

[–] gbargoud@masto.nyc 8 points 1 day ago

@fegular @MuttMutt

I also miss hardware off switches where you know that once you flip them nothing is getting any power

[–] abcdqfr@lemmy.world 2 points 1 day ago (1 children)

Might want to look into methods for charging to 80 percent tops most times and allow some discharge time. Let the lithium breathe. Only reason it never tolerated 24/7 power out of the box is lack of considerate design.

[–] MuttMutt@lemmy.world 3 points 5 hours ago

On my wall mounted stuff at home I use HomeAssistant and turn the charger on when the batteries get to 50 percent and off at 80 percent. Not really an option for this device while on the go though.

[–] Dagnet@lemmy.world 9 points 1 day ago (1 children)

Yeah, I had to replace the battery on my 3a. Wish I knew how to mod it to run without a battery so I could use it to upload pics to google photos for free

[–] thallamabond@lemmy.world 8 points 1 day ago (1 children)

Don't take this as advice, just more info. This guy pulled off the same thing on a different phone

https://m.youtube.com/watch?v=0cOEc7ZG6rg

[–] Dagnet@lemmy.world 5 points 1 day ago (1 children)

Cool but I really dont have the technical know how to do that haha

[–] thallamabond@lemmy.world 6 points 1 day ago (1 children)

If there is a makerspace/hackerspace near you, I'm sure someone there could help you out.

[–] Dagnet@lemmy.world 6 points 1 day ago

I wish I knew, its a big city so the odds are good. Might try to ask around

[–] frongt@lemmy.zip 7 points 1 day ago (2 children)
[–] zergtoshi@lemmy.world 9 points 1 day ago

The local web, duh!

[–] fegular@lemmy.zip 4 points 1 day ago

Yes, my thought as well

[–] Mercury1337@lemmy.world 8 points 1 day ago

Really cool project - well done!

[–] xSikes@feddit.online 5 points 1 day ago (1 children)

Curious if I can do something similar with the pixel 3…

[–] MuttMutt@lemmy.world 7 points 1 day ago

Yes you can. PostmarketOS supports a ton of devices but they all have their caveats. https://wiki.postmarketos.org/wiki/Google_Pixel_3_(google-blueline)

There can be some caveats however. On the 3a XL you can act as an AP for WiFi but it didn't work as a client. I believe the Pixel 3 has issues with USB OTG so once setup everything would likely have to be configured over WiFi.