Talk

Self hosting your side projects with Django and duct tape

LanguageEnglish
Audience levelIntermediate
Elevator pitch

You can self-host multiple side projects using nothing but an old Raspberry Pi, your home wifi, Django, and actual duct tape. I’ll show how to get around dynamic IP performance bottlenecks and achieve over three nines of uptime while handling thousands of daily requests on a budget of 0€ per month.

Abstract

The talk will cover everything you need to know to host your projects on your hardware the old-fashioned way confidently. We won’t use containers, virtualization, edge computing, or anything the cool kids use these days. Instead, we will rely on good old technology like Nginx and server-side rendered Django. We’ll even have the database running on the same machine as if it’s still the year 2009.

Even though the deployment will be old-fashioned, the way we deploy new code changes won’t be, as I’ll show how to leverage GitHub Actions to get the latest Python code changes to your site every time you push to the main branch. I’ll also talk about how to configure observability tools and be alerted if there is an issue.

We’ll also cover some of the common gotchas, like buying the right SD card for your Raspberry Pi, dealing with your internet provider’s dynamic IP addresses, compiling the latest version of Python, configuring your Nginx to run Django, configuring Postgres and dealing with backups. I’ll even show you how to use duct tape to improve your site’s uptime!

I’ll make the case that any developer comfortable running Python on their laptop can be comfortable running a Python web application connected to the internet.

TagsDjango, Raspberry PI, Infrastructure, Deployment/Continuous Integration