Close
0%
0%

Mini-PI Media Server

Mini-PI Media Server for use on home network or as a wifi access point to stream media from

Similar projects worth following
The Ultra-Low-Cost, Pocket-Sized Media Server.

Build a high-performance DLNA server for under £30 using the Raspberry Pi Zero 2W. High efficiency, tiny footprint, and minimal USB power draw.

Why Mini-Pi?

Budget King: Uses the £14 Pi Zero 2W—avoiding the price spikes of larger Pi models. (Also compatible with Pi 4/5).

Road-Trip Ready: Perfect for in-car streaming. Power via USB/Powerbank; creates a private WiFi hotspot for all passengers.

Dual-Mode: Ethernet-connected at home for network streaming, or standalone WiFi AP with internet routing at home or on the move.

Proven Power: Tested with 4 simultaneous HD streams to different devices.

Stack: MiniDLNA, Samba, Apache (v5.0 UI), Cockpit Web Admin, Torrent support, and Auto-USB media sync.

The Mini-Pi Ecosystem: Pro-Grade Media for Low-Power Hardware

The Mini-Pi Media Server is a low-power, "appliance-style" media ecosystem. It transforms a £15 Raspberry Pi Zero 2W into a high-performance NAS, Torrent box, and DLNA hub drawing less than 2 watts. Whether it’s for a home network, a hotel room, or a car full of kids with tablets, Mini-Pi delivers a seamless streaming experience.

1. Core Media & Download Engine

  • Universal Streaming: Powered by a tuned MiniDLNA instance, streaming HD video, music, and photos to Smart TVs, game consoles, and mobile devices.
  • Integrated Downloads: Optional Transmission-Daemon support allows you to download content directly into the /var/lib/minidlna library for instant availability.
  • Optional Sync via Google Drive, Mega or One Drive: From the cloud to as may mini-pi servers as you want. every 30 minutes
  • Unified Storage Architecture: A centralized directory keeps DLNA, Samba, and the Web UI perfectly synced—no ghost files or broken paths.

2. v5.0 Smart Web Interface

The Web UI isn't just a file list; it's a rich, interactive gallery:

  • Modern UX: Features a dedicated synopsis overlay, intelligent poster gallery, and customizable backgrounds with smooth fade-ins and transitions.
  • AI-Driven Metadata Scraper: A zero-config Python engine runs nightly (5 AM), fetching high-quality movie posters (via DuckDuckGo), 4-sentence plot synopses, IMDB ratings, and Rotten Tomatoes scores.
  • Easy Content Management: * Web Uploads: No technical skills required. Users can upload media directly via the "Upload" button to the Music, Pictures, or Video directories.
    • Samba (SMB): Full network transparency for power users who prefer drag-and-drop from a PC or Mac.
  • Smart Playback:
    • Resume Function: The browser remembers where you left off and prompts to resume partially watched films.
    • Lock-Screen Controls: High-fidelity music playback with transport controls even when your device is locked.

3. Intelligent Automation

  • USB Auto-Sync: Plug in any USB drive with "Video," "Pictures," or "Music" folders, and the server automatically triggers an rsync to internal storage.
  • Smart Remuxing: An automated batch converter detects MKV files and remuxes them to MP4 for native browser compatibility. Uses Hardware Encoding on the Pi Zero 2W/Pi 4 and high-speed software encoding on the Pi 5.
  • Nightly Rotational Sync: Can be configured to "pull" only the last X months of media from a primary NAS, keeping your mobile library fresh without hitting SD card limits.

4. Networking & Resilience

  • Hybrid Access Point: Configure the Pi as a permanent WiFi Access Point with internet routing (via USB-Ethernet). Connect at home for internet + media; take it in the car, and your devices stay connected to the server seamlessly.
  • Cockpit Management: Full web-based administration. Manage the terminal, file system, and services without ever opening an SSH client.
  • Stateless Recovery: One-command rebuild. If an SD card fails, the installer fetches your specific configs from GitHub and restores the entire environment in minutes.

    Demo video of the web server :-

  • 1 × Flirc case for Pi Zero 2 w A nice case to finish the project off
  • 1 × SanDisk 128GB Extreme PRO microSDXC card High performance SD card. dont cheap out. although the Kioxia Exceria Plus U3 is also a good card
  • 1 × Micro USB lead well you do want to power the device, right ?
  • 1 × SanDisk Ultra 256GB Dual Drive A USB and Micro USB pen drive to transfer your videos and music from a pc onto the PI but you can copy media across the network via samba to the Pi server
  • 1 × Micro Usb to Ethernet Lan Adapter With 3 USB Ports for Raspberry Pi Zero - White USB to Ethernet with 3x usb ports. Can be purchased from amazon for around £15

View all 6 components

  • Architecture Diagram layout

    diddy2 days ago 0 comments

  • Mini Pi Media Server: Version 5 is Here!

    diddy3 days ago 0 comments

    Version 5 introduces a major overhaul with a focus on a cleaner UI, better performance, and expanded features.

    What’s New?

    • Fresh Branding: A new "Pi-Play" logo now serves as the default background for new browser visits.
    • Refined UI:
      • Smoother Transitions: Polished animations when changing backgrounds.
      • Reduced Bloat: Optimized index.html for faster loading.
      • Stealth Mode: Click the branding logo to toggle the visibility of the "Easy Connect," "Select Background," and "System Status" buttons for a minimalist look.
    • Integrated Torrent Downloader: A built-in way to manage downloads directly from the dashboard.
    • Improved Installer: Optimized scripts for seamless version upgrades.

    How to Use the Torrent Downloader

    1. Navigate to Downloads on your dashboard.
    2. Login: Use username pi and password pi.
    3. Add Torrents: Click the Add Folder icon on the left, paste your magnet/torrent link, and you're set.
    4. Automation: The system downloads in the background (you can close the tab) and automatically saves files to your Video folder.
    Pro Tip: To organize your library, select Manage Server to enter Cockpit. Use the Navigator to browse to /var/lib/minidlna/Video to rename or move files. The Media Scraper runs daily at 5:00 AM to fetch metadata for your new content.

    Disclaimer: This tool is intended for legitimate use cases. The developer is not liable for how users choose to utilize this software.

    Download or Upgrade Now

    Run the following command in your terminal (via SSH or directly on the Pi) to launch the installer:

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Mini-Pi Media Server v5.0 – UI Overhaul in Progress

    diddy5 days ago 0 comments

    Mini-Pi Media Server v5.0 – A Complete UI Overhaul

    Version 5.0 marks a major milestone for the Mini-Pi Media Server project. This isn’t just another incremental update — it’s a full visual and user-experience redesign aimed at making the system feel less like a collection of scripts and more like a polished media appliance.

    The new interface introduces smooth focus and fade transitions inspired by modern living-room media platforms, giving the home screen a clean, cinematic feel. Navigation between Media, Torrent Downloader, and Web Server management now flows with subtle animations rather than hard page switches.

    Background customization has also been upgraded with seamless cross-fade transitions, replacing abrupt image changes with a more refined visual experience.

    System feedback has been reimagined as well. Status popups now use a glass-style aesthetic, and the system load indicator LED has been enhanced to pulse and change colour dynamically based on real-time CPU usage — turning raw metrics into ambient visual feedback.

    To keep the interface clean, secondary controls such as “Select Background” and “Easy Connect” are now tucked behind the branded icon, creating a simplified front page while still keeping advanced features easily accessible.

    In addition to the UI redesign, Version 5.0 integrates a built-in torrent downloader that writes directly to the MiniDLNA video directory. Newly downloaded content becomes instantly available to the DLNA server, Samba shares, and the Apache web interface — creating a seamless download-to-stream pipeline.

    Version 5.0 represents a shift in philosophy for the project: from functional media server to refined, self-contained media appliance.

    More screenshots and details coming soon.

  • version bump to 4.72

    diddy02/26/2026 at 09:34 0 comments

    Just a small update to version 4.72

    Fixed a small logic bomb in the version.txt that wasn't being written correctly to the apache web directory on install / upgrade. Result was that every user was notified of an update which they were already on.

    this has also given me the chance to set the 'Easy Connect' button size and spacing correctly on the main page

    You can download / upgrade by running the following on the Raspberry Pi (either SSH into the Pi or on the actual Pi) :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Version 4.7 is out and its a big update

    diddy02/24/2026 at 20:47 0 comments

    Version 4.7 is now available with the following :-

    Fixed popup for USB syncing (the backend was working and Rsyncing data)

    Now comes with 'Easy Connect' Technology..... well actually just QR code generation for connecting to the Pi WIFI Access point via camera on a mobile device or tablet.

    Added an Upload button for Music, Video OR Pictures folder. Only upload supported file types.

    Version update check once a week, users will be notified on the main web page if there is a newer version with a link this this hackaday page for future instructions.

    Also added a zoom in view on page opening and fade out when selecting to View Media Files or Manage Server

    You can download / upgrade by running the following on the Raspberry Pi (either SSH into the Pi or on the actual Pi) :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Version 4.6 has just dropped

    diddy02/20/2026 at 20:11 0 comments

    Version 4.6 is now available with the following changes :-

    Updated the media scraper so that movie description AND plot is now downloaded to a limit of 600 words per movie.

    The previous intelligence of stripping out the movie 'Plot' was temperamental on some films.

    This new method is more reliable

    Added a tooltip for keyboard controls

    Added system status popup of main services - Green, all running, Red service not running

    Updated the resume a previously watched media file, instead of a browser popup, this message is now inline with the movie playing window and in the correct theme

    You can download / upgrade by running the following on the Raspberry Pi (either SSH into the Pi or on the actual Pi) :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Version 4.5 is now available

    diddy02/13/2026 at 20:32 0 comments

    Version 4.5 adds the following :-

    Search Bar : for searching media in the current directory and directories below

    Universal Cloud Integration:  expanded the "Cloud Sync" capabilities from just Google Drive to include OneDrive and MEGA, making the project accessible to a much wider audience. Just use one type when selecting during the install.

    SVG Icon Graphics for Media types

    You can download / upgrade by running the following on the Raspberry Pi (either SSH into the Pi or on the actual Pi) :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Pi zero 2 w running powerbank use

    diddy02/10/2026 at 10:48 0 comments

    Since the Pi zero 2 w can be powered off a power bank.

    A 20,000 mah power bank easily gives over 24 Hours of use !

    Only drawing 1 watt of power with everything booted up and idle and that's with the usb to etherent adapter connected as well.

    You can download / upgrade by running the following on the Raspberry Pi (either SSH into the Pi or on the actual Pi) :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

  • Version 4.4 is now available with Google Drive sync

    diddy02/07/2026 at 19:38 0 comments

    I’ve just pushed an update (v4.4) to the Mini-Pi Media Server that introduces automated cloud syncing. You can now drop video files into a specific Google Drive folder (Video folder) from another PC and have your Pi Zero 2W automatically download them and refresh the MiniDLNA library every 30 minutes.

    How it Works

    The integration uses Rclone, an open-source command-line program to manage cloud storage. I’ve wrapped the logic into a new interactive setup script (rclone-setup.sh) to keep the process "headless-friendly."

    Key Features of the Update:

    • Automated Sync: The system checks your Google Drive every 30 minutes.
    • Smart Refresh: The minidlna service only restarts if the script detects a change in the file count—saving CPU cycles on the Pi Zero.
    • Permission Management: Automatically fixes file permissions (755) and ownership (www-data) after every sync so files are immediately playable.
    • Background Service: Once configured, it runs as a systemd service, meaning it starts automatically on boot and checks every 30 minutes.

    The Setup Workflow

    I designed the bash script to be a step-by-step wizard. Here is the process for users:

    1. Software Prep: The script installs Rclone and sets up the local directory structure at /var/lib/minidlna/Video/Web.
    2. Folder Mapping: Users provide a specific Google Drive Folder ID. This keeps the sync scoped to just your "Video" folder rather than your entire drive.
    3. Headless Auth: Since the Pi Zero usually runs without a browser, the script allows you to paste an authentication token generated via rclone authorize from another machine.
    4. The "Set and Forget" Service: The script generates a systemd unit file that handles the timing and the sync logic.

    So where do synchronised media files go ?

    Running this script creates a Web folder within the Video folder, your media is synchronised there.

    Minidlna, samba and apache will show the media files in this directory.

    Technical Snippet: The Sync Logic

    The heart of the sync is this one-liner executed by the service that runs every 30 minutes :-

    Rclone-sync systemd service

    The script has been designed to fail silently if no internet availability. 

    So this scirpt will not crash if the pi is running away from an internet connection (ethernet unplugged).

    When next connected to the home network, the sync service will run at the next 30 minute slot, connect and just sync again.

    Unattended, automatic - just the way things should be.

    Why Google Drive?

    While I love local storage, the Pi Zero could just sync new media and with media scraper at 5am will download the movie art and synopsis for the movie.

    So where does it sync media to ?
    Every 30 minutes a rclone-sync service runs and checks with your local copy of the web folder and pulls down any different media files that you have locally from your google drive Video folder.


    Other updates:-
    A couple of optimisations for the WiFi access point on a Pi 5 to get the speed faster when connected via WiFi access point (which should get faster as firmware updates to the wifi chip are released).

    Updated the mini-pi-setup.sh script to include the google drive setup synchronisation

    NOTE: the mkv conversion to mp4 overnight system task will NOT work on media files in the Web (synchronised) folder. They are left as is from whatever is synchronised.

    ____________________________________________________________________

    ☁️ Google Drive Sync User Guide

    Prerequisites

    • A Google Drive account is obviously needed.
    • A PC/Laptop with a web browser to perform the initial authentication.
    • Sudo access on your Mini-Pi.

    Step 1: Prepare your Google Drive

    Before running the script, you need to identify the specific 'Video' folder you want to sync.

    1. Open Google Drive in your web browser.
    2. Create a new folder named "Video" (or any name you prefer).
    3. Open that folder. Look at the URL in your browser's address bar.
    4. Copy the Folder ID. This is the long string of random letters and numbers at the end of the URL (after...
    Read more »

  • Mini‑DLNA Server — v4.3 Release

    diddy02/01/2026 at 16:24 0 comments

    Version 4.3 is the biggest network overhaul this project has ever had. After days of deep‑dive testing across the Pi Zero 2 W, Pi 4B, and the notoriously difficult Pi 5, the entire Wi‑Fi and routing system has been rewritten from the ground up for reliability, portability, and seamless use at home or on the move.

    During the setup process the user is asked if they want to reconfigure the WiFi card, selecting yes will run a script asking the user for a WiFi access point name (leave for the system name or provide your own), a password and the country of use (important for WiFi band frequency use).

    This update finally delivers what the community has been asking for: a stable, always‑on Wi‑Fi access point that works consistently across all Raspberry Pi models — including the Pi 5, despite its current firmware limitations (there is a few known issues with firmware for the WiFi card and kernel support for it on a Pi 5).

    So now the Raspberry Pi is not just a media server, but a WiFi router too.... ok its still WiFi at 2.4Ghz but 5Ghz was just too much pain to get right. plus my head already hurts from the Pi 5 access point issues.

    What’s New in v4.3

    1. Complete Wi‑Fi Access Point Rewrite

    The AP setup has been rebuilt to avoid the silent failures, driver crashes, and misleading success messages that plague the Pi 5’s current firmware. The new logic:

    • auto‑detects the Pi model
    • applies model‑specific wireless settings
    • avoids the Pi 5 channel‑setting bug
    • prevents PMF negotiation failures with modern Linux clients
    • ensures the AP comes up cleanly every time

    This is the most stable AP implementation this project has ever had. none of that previous detect home WiFi and if not found turn the Pi into an access point.

    2. Seamless “Always‑On AP” Mode

    The Pi now broadcasts its access point all the time, regardless of where you are.

    • Away from home:  Lets say the Pi runs from a power bank, clients connect to the AP, and all services (Samba, Apache, Cockpit, MiniDLNA) are available.
    • Back home: Plug in Ethernet and routing activates instantly — no reboot, no reconfiguration, no reconnecting clients with tablets and phones or even having to reconnect to the home WiFi.

    Your devices never need to switch networks. The Pi handles everything automatically.

    3. Intelligent Ethernet Detection

    The script now:

    • detects USB‑Ethernet adaptors on the Pi Zero 2 W (users will need to buy a USB to Ethernet adaptor for home streaming)
    • handles unplugged cables gracefully
    • falls back safely when no WAN interface is present
    • avoids NetworkManager conflicts and stale profiles

    This makes the system genuinely plug‑and‑play.

    4. Pi 5 Firmware Workarounds

    The Pi 5’s AP mode is currently unstable due to upstream firmware issues. v4.3 includes:

    • channel auto‑selection (required on Pi 5)
    • PMF disabled to prevent Linux client timeouts
    • strict RSN/CCMP security for compatibility
    • forced cleanup of conflicting services
    • recovery logic for driver dropouts

    This is one of the few working Pi 5 AP setups available today (after searching the web for answers).

    5. Fully Stateless, Self‑Recovering Network Stack

    All configuration is generated dynamically. No fragile manual edits. No leftover profiles. No dependency on hostapd or dnsmasq.

    NetworkManager handles:

    • DHCP
    • NAT
    • DNS
    • routing
    • interface monitoring

    The result is a system that behaves like a commercial travel router, but tiny, portable, and running your own services.

    for Pi zero 2 w users, you WILL need a USB to Ethernet card to stream media at home, like this one from Amazon :-
    https://www.amazon.co.uk/dp/B08XW2VWPJ

    Version 4.3 can be downloaded / upgraded by :-

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash
    

View all 40 project logs

  • 1
    how to setup / update

    Instructions to set up :-

    do the usual raspberry pi imager stuff and set the settings with a name of mini-pi (ideally this name).

    set the wifi to your wifi (and password) and set the user as pi and set to use ssh services.

    Then write the image

    once done place the SD card / USB pen driver into the pi, power up the pi and log into your router to find the mini-pi ip address (or use a network tool like fing or angry ip scanner).

    SSH into the raspberry pi (using ssh pi@<THE IP ADDRESS OF THE PI>

    once logged into the Raspberry Pi, run this single command that downloads, unzips and installs the media server software all in one command by :-

     

    wget -qO- https://raw.githubusercontent.com/diddy-boy/mini-pi-media-server/main/install.sh | bash

    This will then run the installer which pulls down the most recent build which unzip's and run's the setup / configuration.

    you will be prompted for a samba user password (its easy to use the same password as your ssh login).

    you can select to :-

    Configure WiFi as an access point (if you run this then an ethernet connection has to be used to stream at home).

    you can at any time in the future, run ./reconfigure-wifi.sh from within the mini-pi directory.

    Configure Cloud syncing (Using either Google Drive, One Drive or MEGA)

    you can at any time in the future, rcploe-setup.sh from within the mini-pi directory.

    Configure syncing from a server every night

    then you can press enter to reboot.

    All setup now. have fun.

    if you are updating, its similar.

    just ssh into the raspberry pi and run the above command to download and install again or if you just want to reinstall run 'sudo ./pi-setup/mini-pi-setup.sh'

View all instructions

Enjoy this project?

Share

Discussions

diddy wrote 02/04/2026 at 11:19 point

Version v4.3 contains a fix for the Pi 5's Wi-Fi and its known firmware issues with Trixie. If anyone is testing this on Trixie, let me know if it's working for you also

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates