A few days back, I got my hands on a few Raspberry Pis. Ever since I have been on a hunt for ideas and projects to make the best of them.
One of the first projects I implemented was to install Pi-Hole. Pi-Hole is a network ad-blocker. You install it on your home network, point your DNS to the Raspberry Pi hosting Pi-Hole and you can say good bye to those annoying ads (well, almost! It doesn’t work on YouTube ads, yet!) It turned out to be a fun project and now I have visibility on what kind of traffic is flowing through my network. Here’s a guide to install Pi-Hole on a Raspberry Pi. In case you don’t have a Raspberry Pi or don’t want to buy one, you can opt for cloud-hosted VM. I tried this with with a AWS t2.micro VM running Ubuntu 20.04, works just as well.
Then I moved on to PiVPN. PiVPN (as the name suggests) is a VPN software. It turns the Raspberry Pi into a VPN server, with an option to choose from OpenVPN or WireGuard. OpenVPN uses the traditional VPN protocols whereas WireGuard uses only a limited set of those protocols and is therefore much faster. Anyways, turning my Raspberry Pi into a VPN server gave me the ability to VPN into my home network. PiVPN combined with Pi-Hole gave me the ability to go ad-free, even on the go! Here’s a guide to install PiVPN on a Raspberry Pi. As with Pi-Hole, PiVPN works on a cloud-hosted VM just as well. Infact, if you are tired of choosing a commercial VPN service, you can use the combination of AWS (or any other cloud service) + PiVPN to create a private VPN server. This way you will have 100% control of you VPN activity. If you want to take this a step further, check out the Onion Pi project from Adafruit.
Samba File Server
Another use case for a Raspberry Pi is to plug-in all your old external hard drives and turn it into a File Server. This can easily be setup using smbd. Here’s a guide to setup a Raspberry Pi Samba file server.
Print Server (CUPS)
I have a HP LaserJet in my home office. Since a long time I wanted to be able to print from each of my devices without having to manually connect the printer to them. On my search for things to do with Raspberry Pi, I came across this guide on how to turn a printer into a network printer. I gave it a try and now my home office has a Wifi connected printer. Good job Raspberry Pi!
Another project I came across was NextCloud. To put it simply, NextCloud enables you to create your own cloud storage (like Onedrive, G-Drive etc.). Not only that, it can turn your Raspberry Pi into a full productivity suite. I gave it a test run for a few days but ran into an issue where it appeared that it was deleting my files. I panicked and pull the plug on it. Turned out to be a false alarm. When I connected the Android app to the server, something happened that triggered this behavior. Here’s a guide to setup NextCloud on a Raspberry Pi.
Plex Media Server
If you have a library of movies, TV shows, documentaries or any other videos that you want to stream on your television, install Plex Media Server on your Raspberry Pi. Once you add a folder to Plex Media Server, it will automatically scan it and create a beautiful library (with cover images, cast and other metadata). Here’s a guide to setup Plex Media Server on a Raspberry Pi.
I have multiple devices at home and I find it cumbersome to transfer files from one device to another manually (either via USB drive or a cloud drive). Instead I use Syncthing to sync files on multiple devices. It is a light-weight software that can run on a Raspberry Pi and enable syncing across your home network. Couple it with a file server and you can even use it as a backup solution. Here’s a guide to setup Syncthing on a Raspberry Pi.