I'm a techie by trade who matured using proprietary technologies like Windows, but reached my breaking point once ads were introduced at the OS level. Since then I've been on something of a personal vendetta against big tech. It's been about 4 years now, and I thought I'd share my experience.
My first and predominant interest was securing a means of private communication that wasn't centralised. Like many before me, I stumbled upon Matrix. Adoption was problematic; I couldn't help people understand why using WhatsApp, Discord, etc. was a bad idea. But ultimately I managed to convince most of the people in my circle to migrate to my Matrix server by adding IdP (using Keycloak). The login is also tied to various other services, but the carrot that drew most of them in was my Jellyfin instance.
It's running on a home server with ~60TB of hard drive space, and each user also has access to Seerr for requesting content, so it's become quite an extensive library over time. Building the server cost somewhere in the region of 5k to set up (it hosts far more than just Jellyfin), plus a small monthly fee for the VPS I use as a reverse proxy. I offer everything free of charge as a labour of love for the people I care about.
I also provide free tech support to any of my users running any instance of Linux, both hardware and software. Windows users are advised to search their issues online, or allow me to install a dualboot Linux option to help them reach a resolution. I even go as far as offering a free 256GB NVMe for this purpose, provided they've a free M2 slot in their builds.
In my experience, bringing the layperson into the open source world is definitely possible, but it comes at great personal expense. People don't like change, but evidently they hate adverts even more so.
I'm keen to hear about others with similar experiences this far down the rabbit hole. what have you found that works in helping with wider adoption of open source technologies in your communities?


I'd recommend creating a gateway service. You basically have two routes, managed gateways or self hosted using a rented virtual private server (VPS).
Managed
These are services that are managed by companies, that allow the setup of VPN tunnels with a public access point. Some examples are:
There's not too much to say on this approach, it's easy to setup, but depending on the level of ownership you're looking for, it may or may not be the correct route for you.
Self-Hosted via VPS
Reason you want to use a VPS as the gateway, is so that at no point is your home server exposed to the public. Instead, any potentially malicious actions (which is an inevitably when creating public facing services ) are directed at your VPS rather than your actual server.
There are a few different options, some examples are:
Both of these are designed to implement an access point (your VPS) and any number of devices to proxy (your homeserver). They are built upon wireguard, and are feature rich.
Personally, I opted for a more lightweight approach using selfhosted-gateway, which is definitely a bare bones Reverse Proxy over VPN, designed specifically for exposing docker containers on your homeserver. Much like the other options, it's built upon wireguard VPN. Theres no UI (which is why imo it's perfect for a tiny VPS), just a simple MAKE command thats run from your homeserver and generates the required docker compose files, then once spun up creates the link between your VPS and exposes the appropriate docker container.