"Information is power. But like all power, there are those who want to keep it for themselves." — Aaron Swartz
A guide to building your own personal media server with Raspberry Pi and Jellyfin, plus a curated directory of free, legal, public domain content. Built for CPDJ 101 in the spirit of Aaron Swartz.
Streaming services are expensive, fragmented, and increasingly unreliable — content disappears overnight, prices rise every year, and your library is never really yours. This project documents an alternative: a self-hosted personal media server running free, open-source software on affordable hardware.
This repo contains:
- A complete step-by-step build guide for setting up a Raspberry Pi media server with Jellyfin
- A curated directory of free, legal, public domain media sources
- A single-page website (
site.html) presenting all of the above
Just open site.html in any browser. No build step, no dependencies, no installation required.
The site has three sections:
- About — the problem with streaming, the open access philosophy, and what we built
- Build Guide — step-by-step instructions from hardware setup to remote access
- Resources — curated links to free, legal media and open source tools
- Hardware & OS setup (Raspberry Pi Imager, Raspberry Pi OS Lite)
- Remote access (SSH or Raspberry Pi Connect)
- Installing Jellyfin
- Accessing the Jellyfin UI
- Adding media to your server
- Watching your media on any device
- Accessing your server outside your home (Tailscale)
- Where to find legal, public domain content
Website
- React (via CDN, no build step)
- HTML/CSS
Media Server
- Raspberry Pi 4 or 5
- Raspberry Pi OS Lite (64-bit)
- Jellyfin — free, open-source media server
- Tailscale — remote access
A few of the sources catalogued in this project:
- Internet Archive — movies, TV, audio, books
- Librivox — public domain audiobooks
- Project Gutenberg — free ebooks
- NASA Media Library — photos and video
- Free Music Archive — openly licensed music
Note: We only recommend using your media server with legally obtained or public domain content.
This project was built for CPDJ 101 and draws on the philosophy of Aaron Swartz, architect of Creative Commons and a founding figure of the Open Access Movement. His Guerrilla Open Access Manifesto remains the clearest statement of why free access to information matters.
Nikolas Posavec, Victor Olatunji, Felix Baum, Lucas Hufnagel, Rohan Gaddam