How to Replace Your Subscriptions with a Raspberry Pi | Tucker
The Gist
Replace paid cloud storage and streaming subscriptions by configuring a Raspberry Pi 5 with an external SSD, running Immich for photo backups and Jellyfin for media streaming.
Quick Overview
Eliminate ongoing subscription costs by turning a Raspberry Pi 5 into a self-hosted media and photo server using Docker containers. The installation involves flashing Raspberry Pi OS Lite, assembling the hardware kit with a fan and heat sinks, mounting an external Samsung SSD, and deploying Immich and Jellyfin. Remote access is established via Tailscale, and local file sharing is configured with Samba.
Key Points: The hardware setup utilizes a CanaKit Raspberry Pi 5 Starter Kit with 8 gigabytes of RAM, a 128 gigabyte microSD card, and a 1TB Samsung external SSD. Raspberry Pi OS Lite is flashed onto the boot card using the Raspberry Pi Imager tool with customized hostname and SSH access. Hardware assembly requires snapping the case together, attaching the heat sink, and plugging the PWM fan into the correct port. Docker and Docker Compose are installed via official script pipelines to manage self-hosted application containers. Immich is deployed via Docker Compose with dedicated environment variables to handle photo backups and local library storage. Jellyfin is installed in a container to stream movies and television shows from the attached SSD without hardware transcoding acceleration. Tailscale is configured to provide secure remote access to the server from external devices without port forwarding. Samba is installed to enable network file sharing, allowing Windows and Mac computers to map the Pi storage drive permanently.
Context: Commercial cloud storage and streaming services charge recurring monthly subscriptions and raise privacy concerns. A local homelab built on affordable single-board hardware like the Raspberry Pi 5 provides an alternative with complete data ownership.
Detailed Analysis
The tutorial demonstrates the complete build of a self-hosted media and photo server using a Raspberry Pi 5. After preparing the hardware components, including a CanaKit case and a 1TB external SSD, Raspberry Pi OS Lite is flashed onto a microSD card with predefined SSH and user settings. The system is booted and connected to the local network via Ethernet. Terminal commands update the operating system and configure the external drive by formatting it to ext4 and updating the fstab file for permanent mounting. Docker and Docker Compose are installed to orchestrate containers. Immich is set up with a Docker compose file and environment variables to handle personal photo backups, while Jellyfin is deployed for video streaming. Tailscale acts as the secure VPN layer for remote access across mobile and desktop devices. Finally, Samba is installed and configured to let network computers map the Pi storage drive as a local network folder.