Camping or caravanning off-grid is a great way to escape from the hustle and anxiety of everyday existence. But while life without a cell signal may help you to relax, some members of your party may yearn for the streaming video and music they’re used to. Here’s how to keep them happy…

Why Take a Media Server When You Go Camping?

Camping or taking your caravan off-grid allows you to get closer to nature and to experience life as our ancestors did thousands of years ago.

Your idea of a good time might be exploring abandoned trails, and experiencing the peace of ancient woodlands, but we can guarantee if you’ve taken kids along with you, they’re going to be bored when you set up your movable accommodation of an evening.

barbecue and remains of a meal on a camping table

Back at home, they’ll be used to connecting to Netflix on their phones, and watching the bestchild-friendly streaming servicesor listening to tunes from Spotify.

Of course, while you probably plan for everyone to take phones with them, it’s highly unlikely that you’ll be able to get a5G or 5G+ signalfrom deep within the ravine you’ve chosen as your base.

Closeup photo of a Raspberry Pi on the arm of a brown couch

We’ll show you how to set up a Raspberry Pi 4B as a media server for movies, audiobooks, music, and TV shows, and how to connect to it from your phone.

What You Need to Create an Offline Media Server

There isn’t really much you need to create the perfect offline media server, and after you’ve set up, you can leave the power supply and internet connection at home. To get started, make sure you have:

Once you have all your supplies, you can start building your Raspberry Pi offline media server.

fetch gpg keys and install jellyfin

How to Create an Offline Media Server for Camping

To get started,install an operating system on your Raspberry Pi. We recommend Raspberry Pi OS Lite (64 Bit) for this project. verify you remember to click the cog icon in the Raspberry Pi Imager tool to set a username and password, as well as the SSID and password of your home Wi-Fi network. It’s vitally important that you also set yourWireless LAN countrycorrectly.

You should also set a friendly hostname to make it easier to connect on your local network—we chose “vanpi” which will initially allow us to connect over SSH topi@vanpi.local. Once the OS is written, insert your SD card or thumb drive into the Raspberry Pi, and connect it to your power supply.

select movies directory in jellyfin

As you’re setting up the Pi as a server there’s little point connecting it to a monitor. Instead, you’ll be accessing it using Secure Shell (SSH) andSecure Copy (SCP). If you’re using Linux or macOS, you can use these tools from your terminal. If you’re on Windows, you’ll use PowerShell. If you’re unsure how to use SSH, consult our guide onhow to access and control your Raspberry Pi remotely via SSH.

Connect to your Pi with:

If you chose a different hostname or user, you should use that instead.

Update and upgrade all pre-installed packages with:

jellyfin home interface

Jellyfin is free and open-source media streaming software that will run well on your Raspberry Pi. With your software up to date, you can now add the Jellyfin repository key:

The next command will echo your processor type and OS to a text file that will be used to install the correct Jellyfin version:

Update once more, and you can install Jellyfin from the new repository:

When you’re returned to the command prompt, start and enable Jellyfin as a service:

You should already have your MP3 and MP4 files ready to transfer. Make sure that they’re separated into different folders on your local PC and that the folders have easy-to-recall names such asmovies,shows, andmusic.

Close the SSH connection, then transfer these folders from your local PC to your Pi with:

Depending on the size of your collection, this transfer could take several hours. When it completes, open a browser and enter the hostname of your Pi into the URL bar, then pressEnter. In our case, this would bevanpi.local:8096.

Choose yourDisplay Language, then clickNextto choose a username and password for the admin account.

Next, you’ll be prompted to add your media libraries. Click the big blue+button, and select the media type from the drop-down list, then click theAdd Foldersbutton.

You’ll see two items in a list: “/” and “/boot”. Click “/” thenhome > pi > movies. Then press the big blueOKbutton. Repeat for your other media folders. When you’re happy, pressOKagain.

ClickNextto choose metadata language and country, thenNextagain, and make sure that theAllow remote connections to this serverbox is checked.

ClickFinish, and log in with the credentials you set earlier. Jellyfin will automatically scan the media in your folders, identify it, and fetch associated metadata from the internet.

When it’s completed, your Jellyfin instance should look similar to the above screenshot.

You don’t have to add extra users for Jellyfin, but individual accounts can help prevent confusion. Press the hamburger icon in the top left thenDashboard > Users. Click the+icon to add users and set permissions for which libraries the can view. It’s a good idea to put all child-appropriate media into a single folder and restrict younger users to that library. ClickSavewhen you’ve finished.

Set Up Your Raspberry Pi as an Access Point

Until now, you’ve been accessing your Raspberry Pi over your home network. You need to set it up to act as its own access point to which devices can connect without internet access.

SSH into your Raspberry Pi again, and installhostapd:

Enable the service so it starts as soon as your Pi boots:

You will also need dnsmasq, netfilter-persistent and its iptables-persistent plugin:

Your Pi-based network needs to be given its own IP address. Use nano to edit thedhcpcd.confconfiguration file:

At the end of the file, paste the following:

Save and exit nano withCtrl + OthenCtrl + X, and edit thednsmasq.conffile:

Delete the contents, and paste in:

This will allow your Pi to assign individual IP addresses to devices that connect to it. Save and exit nano withCtrl + OthenCtrl + X.

Lastly, configure your access point:

This file will be empty. Paste in the following:

Make sure to set the correct country code, and choose a sensible SSID and password. We chosecaravanlanas our SSID because it’s thematically appropriate, easy to remember, and it rhymes.

Save and exit nano withCtrl + OthenCtrl + X, then reboot the Pi:

Connect to Your New Raspberry Pi LAN

When your Pi reboots, you won’t be able to connect to it via SSH straight away, as it is now on a different network. If you used our suggested SSID name, you can easily find it andconnect to the new Wi-Fi network:caravanlan.

To access your Jellyfin server on the network, entervan.wlan:8096or192.168.4.1:8096. Your mobile devices can either use their built-in web browser or dedicated apps for iOS or Android.

Download:Jellyfin foriOS| Jellyfin for Android (Play Store) | Jellyfin for Android (F-Droid)

Input the above addresses in the app when asked for the Jellyfin server address.

Enjoy Streaming Media on Your Off-Grid Camping Trip!

With hundreds of movies, shows and albums available to you and your fellow campers even when you’re in the middle of nowhere, it’s essential that you have sufficient power for your Raspberry Pi and for the devices that are accessing it. Solar power banks are an excellent option, and can keep your devices topped up day and night.