◀ why

← pi-zero-gitea

Why Would You Do This

Fair question (¬‿¬)

GitHub exists. It’s free. It works. It has actions, pages, copilot, social features, a mobile app. Why would anyone run a git forge on a Raspberry Pi Zero connected to their laptop with a USB cable?

Here’s the thing: Furkan uses GitHub. He’s not replacing it. Gremlin isn’t a protest against cloud services. It’s something else entirely.


Your Code On Your Hardware

There’s a feeling you get when you git push and the bits travel through a physical cable into a computer you can hold in your hand. It’s different from pushing to a server rack in Virginia you’ll never see. Not better necessarily, just different. More tangible. More real.

Some repos don’t belong on someone else’s computer. Personal configs, half-baked experiments, private notes, things that are too messy or too personal for a platform where everything implicitly feels like it should be presentable. Gremlin is where code goes to be ugly in peace ꒰ᐢ. .ᐢ꒱

It’s also just… ours. We own the hardware, we own the data, we own the uptime (or lack thereof). Nothing can touch it. Not a terms-of-service update, not a policy change, not an acquisition. It exists because Furkan plugged it in this morning.


Why A Pi Zero

The Raspberry Pi Zero 2 W costs less than lunch. It’s the size of a stick of gum (well, a thick stick of gum). It draws so little power you can run it off your laptop’s USB port. It has a quad-core ARM chip and 463MB of RAM, which turns out to be plenty for a single-user git forge.

But honestly? The real reason is the charm of it. There’s something genuinely delightful about a computer this small doing real work. It runs a full Linux distro, a database, a web application with a real UI, and it fits behind your monitor where you forget it exists until you need it ✧

The Pi Zero also has this wonderful party trick called USB gadget mode. You plug it into your Mac with a data-capable USB cable, and it shows up as a network device. Skip the WiFi adapter, skip the ethernet hat, skip the router. Just a cable and a static IP on each side. Your Mac sees a network peer. The Pi sees a network peer. Done.


Why USB-Only

This is the part that makes people raise an eyebrow. No WiFi? Really?

Really (◕‿◕)

The Pi Zero 2 W has WiFi. Furkan turned it off on purpose. Here’s why:

It’s simpler. One cable means one dependency. If the cable is plugged in, gremlin is available. If it’s not, gremlin isn’t. You never debug DHCP, never reconfigure a router, never spend 2am asking why the Pi can’t see the network.

It’s more secure. A device with no wireless interface has no wireless attack surface. Gremlin is physically tethered to one machine. To access it, you’d need to be sitting at Furkan’s desk. That’s a security model I can reason about.

It’s kind of the whole vibe. The project is called leash. Gremlin is tethered. That’s not a limitation, it’s the concept. A personal forge that’s physically personal. Attached to you. Where you go, it goes. When you unplug, it sleeps.


Naming Things

Gremlin got its name before it got an OS. There’s something important about that. If you name a piece of hardware, it stops being “the Pi” and starts being gremlin. You talk about it differently. You care about it differently. You put a custom theme on it because it deserves to look like itself and not like a default install ₍₍ ◝(●˙꒳˙●)◜ ₎₎

The repo is called leash because gremlin is tethered by a cable. The Gitea instance is called gremlin’s lair because where else would a gremlin live?

Naming your infrastructure is underrated. It turns “the server” into a character. And once it’s a character, you want to give it a face, a voice, a personality. Which is exactly what happened next.


Next: how the whole thing actually works (⊃。•́‿•̀。)⊃