8 Potential Headaches of Self-Hosting Services on Raspberry Pi

The Raspberry Pi series of single-board computers make for excellent home servers, affording you a low-cost way of running your own online ecosystem, and self-hosting everything from email to streaming media, instant messaging, and video calls.

While it’s a fun hobby, and a way of breaking free from invasive tech giants, self-hosting on a Raspberry Pi can be a nerve-wracking experience, and there are some potential difficulties you need to be ready to face.

You Can Replicate Almost All Proprietary Services on Your Raspberry Pi

Running your own server at home is a revelatory experience that allows you to gain some degree of technological independence, and with its low purchase cost, diminutive size, and negligible power requirements, a Raspberry Pi 4 is the perfect platform.

You can run your own email server instead of relying on Gmail, and anonymize your searches with a Whoogle instance. In addition, Immich is the perfect replacement for Google Photos, while Nextcloud will provide you with an office suite, cloud storage, and more.

Before long, you’ll find yourself evangelizing Raspberry Pi self-hosting to friends, and scoff at the prospect of ever using Google or Microsoft products again. But self-hosting essential services on a Raspberry Pi does come with its downsides. Here are some of them.

1. Multiple Backups Are Essential

Life of a hard disk drive

Your data is important, and the more of it you keep locally, the more vulnerable it is. If you’ve abandoned Google Docs and Photos and persuaded your family to do the same, you’re now the sole custodian of hundreds of gigabytes of essential data.

You also need to make sure you have backups of your email server and your social media. Depending on how devoted a music and video fan you are, you may or may not class the media for your Jellyfin streaming server as essential.

The easiest way to ensure that your data isn’t vulnerable to drive failure is to have two high capacity SSDs connected to your Pi, with one dedicated to backups. Create a Bash script that uses rsync to copy over vital directories to the second drive, and a cronjob to trigger it daily.

But that’s not going to help if someone steals your Pi and its drives, or if they’re destroyed in a fire. You should have a third drive, and periodically image your main drive or backup drive. Store it away from your home, with someone you trust.

2. You Are Responsible for Your Own Security

A thief breaking a lock on a door

If you use third-party services, you’re probably familiar with the concept of a data breach, a phenomenon that involves the unauthorized transmission or theft of private data. These happen to large companies all the time, and there are legal responsibilities relating to how they are prevented and reported.

The companies that store your data take great care to ensure that it stays out of the hands of criminals, and employ large security teams to prevent unauthorized access. If you’re self-hosting services on a Raspberry Pi, that task now falls to you, and you alone.

At the very least you should be using Fail2ban to monitor suspicious login attempts, and be aware that there will always be automated attacks on your email server, as well as standard WordPress-based attacks, even if you don’t have WordPress on your server!

If an attacker does manage to break into your server, it’s a bigger problem than if your Gmail gets hacked.

3. Software Is Often a Work in Progress

tilt-shifted image of a building site

Most of the services you’ll be running on your Raspberry Pi are open-source projects, created by small volunteer teams or individuals.

The speed at which development progresses can vary wildly, and new features are added all the time. Immich is a particularly fast-moving project, and occasionally, releases will be incompatible with previous versions or with other components of your system.

At the time of writing, for instance, Immich developers have just released version 1.72.0 of the server software. This is a breaking change which will not work with mobile apps that are still on version v1.71.0. Unfortunately, version 1.72.0 is not yet available on all the app stores.

In this scenario, you need to time your server update so that users are all able to update their mobile apps to a compatible version in order to minimize disruption.

4. Other People Rely on You

a bunch of people dressed in white staring at their phones

If you’ve managed to persuade your family to abandon Google, Microsoft, and iCloud services and replace them with your own home-brewed hodgepodge, congratulations!

But they’re now your users, and in addition to keeping their data safe, you’re also responsible for keeping it working, and online. When commercial services go down—either for planned maintenance or due to an emergency—chaos ensues, and the availability of a given service makes tech headlines for as long as the outage continues.

Your reliability needs to be as good as that of a commercial provider, or better. Occasional downtime is acceptable as you apply updates and patches, or reboot the Pi once per month, but if you’re offline for more than ten minutes at a time, your users may start to look for providers with greater reliability.

If you’re going to make your Pi unavailable for a period, try to carry out any work at a time when no-one will be accessing it—4am is usually good. For basic tasks, you can give your users an easy-to-use, limited web-based remote control for your Raspberry Pi with OliveTin.

5. You Need Some Degree of Technical Knowledge

Your Raspberry Pi arrives as a circuit board in a small cardboard box. How do you go from that to providing services equivalent to those of Google, Netflix, Dropbox, Microsoft and Telegram?

It can be daunting to start out, and the array of software you’ll need to use from the command line might seem overwhelming. Don’t be scared if you’ve never used Linux before—just make sure you know some basic Linux file manipulation commands, and read our guide on how to set up your Raspberry Pi as a web server.

6. A Reliable Connection Is Essential

internet cable stuffed into wheelie bin handles

As mentioned, your Raspberry Pi needs to be online, and connected to the internet at all times. While it can certainly cope with heavy loads around the clock, your internet connection should be rock solid, too.

Using Wi-Fi is out of the question: you should always use an Ethernet cable, and have a spare standing by in case it develops issues. But you can’t the control work your ISP chooses to carry out on your domestic connection.

This writer spent an entire afternoon attempting to troubleshoot problems with the Pi, which was, at that time, also acting as a DHCP server. A walk outside to relieve stress showed that the telecom company was replacing all the cables on the street, and had temporarily disconnected everyone.

7. You Are the Tech Support

A Woman Standing Beside the Elderly Man Holding a Tablet and staring at the camera

Once your household is converted to your self-hosted services, friends and acquaintances will look on in envy, and may even purchase their own Pis.

If this happens, you are the person with the most experience, and are in a position to provide encouragement, and technical and emotional support. If you’ve made administering your own system look effortless, they may be surprised at the amount of work involved.

8. Catastrophic Failure Is Possible

two men in front of a building on fire

Sometimes things go wrong. You may wake up one morning to find out that your Pi has failed to boot, and that all your backups are corrupt. Additionally, your house burned down during the night.

There’s not much you can do in this scenario beyond starting again from scratch, and avoid making the same mistakes again. In the meantime, try not to let the remote possibility of complete disaster worry you too much.

Running a Home Server Is a Great Way to Use a Raspberry Pi

Raspberry Pi computers are extraordinarily versatile devices, and if running your own sites and services doesn’t appeal to you, there are other uses to which you can put your favorite SBC.

Why not create a retro gaming machine, a time-lapse, camera, or even your own pirate radio station!


Related Posts