I’m beautiful and tough like a diamond…or beef jerky in a ball gown.

  • 53 Posts
  • 68 Comments
Joined 10 months ago
cake
Cake day: July 15th, 2025

help-circle



  • Thanks, and yeah, it’s been fun putting that all together. Unfortunately I’m still learning FreeCAD so they’re not as integrated as I’d like yet, but as soon as I have time to hammer out a design, I hope to have all 3 of these and the UPS/power supply in a nice case.

    Yep, running/charging it from solar is why I ended up getting that chonky 18650-based UPS board. It’s the only one I could find that could combine 5V input and battery without dropping out (battery kicks in immediately if solar insufficient and draws the difference between input and output and charges and powers simultaneously otherwise).


  • Thanks!

    What are the use cases for taking it with you instead of just connecting to your homelab?

    I built it just to see how much I could cram onto a Pi Zero clone/how many self-hosted services I could have on something I can fit on my keychain, and the answer was “a lot”. It’s something of a travel server, travel router, emergency backup server, etc.

    I mainly just wanted a subset of my homelab services available in something I could take with me anywhere. Home lab could go down while away, power could go out, something to use while glamping, can take it with me if there’s ever an emergency where I have to evacuate, etc.

    What started out as a single unit has become a three unit portable stack lol. Yay feature creep!

    Services

    • Jellyfin (all content pre-transcoded so everything can direct stream)
    • CodeServer (setup for Python, NodeJS/Bun + React, and Platform.IO for ESP8266/ESP32 development)
    • Kiwix (including the full Wikipedia dump with images as well as offline docs for lots of code libraries I work with, etc)
    • SearxNG so I always have a sane search engine available
    • CalibreWeb with my whole ebook library
    • MPD+Snapcast+My whole music library. Also has myMPD web UI for controlling MPD. Snapcast clients can connect, and it can serve multi-speaker/multi-room audio
    • PiHole serving both ad blocking and local DNS as well as providing DHCP for the access point
    • PairDrop for sending/receiving files
    • NodeRED and Mosquitto MQTT for setting up ad-hoc automations
    • Nginx with real LetsEncrypt certs so all services have valid SSL certs and hostnames

    Networking

    • One USB port is configured in ethernet gadget mode. Can plug it into a host PC and get an IP address from it
    • One wifi adapter is setup as an AP and is bridged with the USB ethernet (a PC plugged in and a wifi client are on the same L2 plane).
    • The second wifi is the “WAN” connection if one is available. Can alternatively connect to USB tethering on my phone
    • If there is any kind of “WAN” upstream, the LAN bridge (USB ethernet/Wifi) will route to it
    • Wireguard to connect back to my homelab.

    File Services

    • Samba
    • Encrypted LUKS volume for critical docs (tax records, vet records for the dogs, etc)

    I’ve got a second unit that connects as a client to the main one with some additional backup services:

    • Email stack( Dovecot, Postfix, SpamAssassin, ClamAV, Webmail)
    • Matrix/Synapse stack
    • Asterisk
    • Snapcast client

    The second one is basically a backup to my main stack in case of disaster/power outage/etc. Those all tunnel to a cloud VPS + load balancer and only need an internet connection to setup the tunnels to receive traffic from the VPS (and route back out to it). Those services are stopped and a cron task keeps them in sync with the main ones in my homelab. If I need to fail over, I just SSH into the VPS and re-route traffic to them instead of my homelab endpoints.

    I self-host my own email and chat and phone services, so those have become critical services I want to always have online. Essentially these little Pi clones are a backup stack for my most used services and one that is both extremely low power and portable should I ever need to host them on the go (house burns down, have to evacuate due to emergency, etc).

    Third Unit (Still on the bench)

    I have a third unit that’s built on a PiZero2W but it’s still on the workbench (but functional!). Just haven’t gotten any kind of case at all built for it.

    It’s got two RTL-SDR units attached. One is tuned to the NOAA weather radio station and feeds into Snapserver on the main unit (so you can listen to the weather radio anywhere on the network) as well as piped into Meshtastic EAS-SANE alerter in order to forward emergency alerts to Meshtastic. There’s a USB-connected Meshtastic node attached as well for that.

    The second RTL-SDR is setup as a generic FM radio tuned to the local variety station. It’s just piped to Snapserver on the main unit to make it available on the network.

    I may convert the second SDR into a ADS-B listener, but for now, I like having the FM radio available.

    Photo

    I still don’t have a “full” case for it, but here is the core unit attached to a UPS circuit which gives it up to about 14 hours of runtime. I’m also planning to add a small USB hub with ethernet into that, but I’m still learning FreeCAD so I’m not quite ready to put it all together yet. The USB power cord is wrapped in aluminum foil and electrical tape due to RF from the Wifi adapter causing random glitches. I need to add some ferrite beads and route them away from that when I build it into an integrated case. For now it looks janky but works lol.

    Main Unit:

    Secondary Unit: This is an older photo and is also connected to my Bose radio acting as a Snapcast client to the server on the main unit.


  • I run Jellyfin on a Banana Pi M4 Zero. It’s a little less capable than the Pi4 but runs JF just fine. Specs on this one are quad core 1.5 GHz, 4 GB RAM, 32 GB eMMC on Armbian.

    The media files are all on the 1 TB SD card while the Jellyfin data directory (especially the SQLite DB) are on the eMMC. This seems to work much better as the DB file kept getting corrupted on SD. Should also help the SD card from wearing out since it’s pretty much only reading data from it most of the time.

    As you guessed, transcoding is not going to work (JF is removing the v4l2 hardware support anyway), so I pre-transcode them to H264 + yuv420p in an mp4 container before moving them to the SD card. I also scale them down to 720p to fit more on there, but that’s because this is a travel server and isn’t my main media source.

    Can’t speak for Paperless though.



  • I’m not entirely 100% dark matter exists in galaxies the way often described. … The way I see it, it might as well be a repulsive force between galaxies opposed to the current understanding of it being am attractive force. Plus, if it were a phenomenon that pushed things apart, it could also explain Dark Energy.

    And to me, that’s a perfectly valid theory. Like other proposed explanations for dark matter or dark energy or “whatever the hell it is we can detect the effect of but can’t identify”, it’s difficult to test.

    That’s why I enjoy science. It’s like a big puzzle, and sometimes you get halfway done and realize you put it together wrong and have to start over.


  • The thing with dark matter is it’s just a placeholder term for “we don’t know what the hell it is”, and aren’t most hypotheses pulled out of the ass before experimentation to prove them?

    Plus, Dr. Kaku is a string theorist so wacky is pretty much par for the course in that field. Granted, I consider him more of a TV personality these days and grew up watching him as a speaker on [insert any number of Discovery Channel shows here].

    Maybe I’m just biased and enjoy the wacky theories because I’m more interested in seeing them proven right or wrong and thinking about the implications if they happen to prove correct.




  • I’ve been here since the API exodus in 2023 and have seen it enough times to know that it’s typically someone coming in new from reddit, seeing that the feed of new stuff here has an endpoint and recharges slower, so they want to make a repost bot so there’s more content. They’ll never actually read that content, but they just want it so they have something to mindlessly scroll past. I don’t think they’re going for popularity contest, at least not primarily, anyway.

    Giving them the benefit of doubt, I think they’re just highly misguided.

    I could totally be wrong. This is just based on my observations and the occasional post in c/Fediverse when some new user talks about how it feels inactive here and suggests reposting crap from Reddit. I also try to go with the most charitable explanation for behavior I see.


  • Technically speaking, yeah.

    But the instances that run on donations are more likely to get donations to cover the growing hosting costs from a 100x increase in real users as opposed to one bot spammer spewing out 100+ user’s worth of content each month. Ideally, that 100x increase won’t be concentrated on a single instance and will be spread out among many instances.

    While the amount of content from such an increase would be the same, the posting patterns are more organic from real users compared to the indiscriminate torrent coming from people running bots to repost everything from Reddit. That allows for a lot more granular management of resources.


  • In short: it’s low-engagement spam.

    In longer form:

    It’s just blasted out via a bot and not posted organically. It makes scrolling by /new impossible because of all the noise. It’s bad because it strips away any identity the Fediverse has and makes it a literal cheap copy of Reddit full of bot-reposted slop no one wants to engage with.

    Instances are run by volunteers and rely on donations from users or in some cases the admins foot the bill entirely. It costs money to host Fediverse instances. Each sloppost from a repost bot takes up space in the database, consumes CPU resources sorting through it, bandwidth to federate it out, and takes up storage space with the local thumbnails. And that’s just on the home instance where it originates. Add in the bandwidth to federate it out to who knows how many receiving instances which each also have to store it in the database and store the thumbnails.

    It’s just so much waste. And for what? It’s just noise. Content for content’s sake so someone can mindlessly scroll past stuff they’ll never read.

    If you feel this place lacks content, post something. Every time there’s a new influx of users, some genius thinks “It’s a lot quieter here than Reddit. I know! I’ll write a script that reposts stuff from Reddit. People will love it! I can’t believe no one has thought of this before! I’m so smart!”

    If one wants that kind of slop, there are dedicated instances that do nothing but repost reddit garbage indiscriminately. alien.top and lemmit.online. Find an instance that federates with them (many instances de-federate from those because of the noise) or sign up there.


  • I’m not gonna out the user since that would put this post in violation of one of the rules here, but it appears they’ve set up camp and created their own communities to botspam to. I DM’d the admin of their home instance but who knows if they’ll see a problem with it.

    Edit/Update: That spammer now appears to be banned on their home instance.

    For me, it’s the people that come here and feel the need to bring all of Reddit with them. Like, do they also bring their shitty exes and all their baggage on dates with their new SO?

    And it’s not like instances are largely (entirely?) volunteer run and rely on donations or admins footing the bill for hosting. Oh, wait. They are. 18,200+ posts (as of this comment) from a two month old account with the associated thumbnail images, each federated out to who knows how many other instances that store copies and local thumbnails is a pretty clear abuse of the platform. I’d also wager that the userbot in question isn’t donating to their home instance, either.







  • 130GB for the entire thing? And the pi doesn’t choke on indexing / searching it?

    That was my thought. I knew it couldn’t hold it in RAM but thought it would be doing crazy IO and limited by being on SD, but it seems to not be a problem. Like I said, I don’t know how ZIM does it, but it does it well. Must have some kind of index that lets it fast travel to the correct blocks or something. I dunno lol.

    how capable is the search engine (I assume it has one?)

    Yep, it has search. It’s…okay but kind of primitive. It’s not slow, and if you’re searching for something that’s fairly unique (as far as keywords go), it does well. But if you’re searching something like an acronym where it shows up as a regular word in other entries, it’s a lot more hit or miss.


  • Yep, and I love it.

    I’ve got a little Banana Pi M4 Zero (PiZero form factor but much more powerful and with 4 GB RAM) loaded up with, among other useful tools, Kiwix and the full Wikipedia dump. I just refreshed it with the 2026-02 full dump, so I’m caught up for the year. I’ve also got a lot of other offline docs loaded up (React, Bun, and the devdocs for several libraries I use) and it’s nice to have local copies of those instead of googling every time.

    Surprisingly, the full ~130 GB Wikipedia dump works fine on a regular Pi Zero 2 with 512 MB RAM. I don’t know how ZIM works but it does work very very well.