Self-hosting forms, the sane way

published on 2024-04-26

I run a few (very) small websites, nothing serious: they’re not businesses, they’re hobbies. There is no risk involved if they would go down, apart from maybe disappointing a few hundred people that found a link to it on search engines. Because working on them is sometimes a fun challenge, but at the same time I am not a developer/sysadmin, there are two rules I follow:

Some examples of how the combo of those two things translates to my setup:

In other words: DIY, unless there’s a great FOSS tool to help me out. The excuse I give myself is “this is more hacky than 95% of people doing the same thing, anyway”.

DIY vs form services

On one of my sites, I needed to install a form with file upload capability. After some research, I found a few solutions to solve my need:

I didn’t like what I found: I wanted something

My solution: the middle ground

In the end, I decided to build something myself that adhered to the above points as much as possible. In summary, it looks like this:

Most people reading this will understand this chart without much further explanation. Before I dive into the details, here are the pros and cons of this setup:

Here’s the step by step process. Yes, it’s really this simple:

Form gets filled

    <label for="name">Name</label>
    <input name="name" type="text">

n8n processes

NocoDB collects

Email notifies

And there you have it: one way to host forms yourself, without losing your mind.