These are some quick n’ dirty instructions so people can get up and running fast.

I wish I had known this was possible sooner.

Instructions:

Check that your VPN supports port forwarding and you have it enabled.

Grab your VPN’s internal IP with ip a

Find the interface for your VPN. For me it’s called tun0.

Open up /etc/nginx/nginx.conf

You can back it up, or comment everything out, or pick what’s necessary. Here’s what my file looks like.

	worker_processes  1;
	include modules.d/*.conf;

	events {
		worker_connections  1024;
	}
	http {
		server {
			listen [VPN INTERNAL IP]:[VPN FORWARDED PORT];
			server_name  localhost;
			location / {
				root '[ABSOLUTE PATH TO YOUR WEBSITE ROOT FOLDER]';
				index index.html; # Relative to your website root.
			}
		}
	}

Make sure your permissions are correct. For me, the ‘other’ group needs read permissions to the root folder, including where it’s mounted.

Start nginx with systemctl start nginx

You can visit your website on your host machine in a browser at [VPN INTERNAL IP]:[VPN FORWADED PORT]. For me, using the internal IP is required to view the website on my host machine.

To view the website on other machines, you can use [VPN EXTERNAL IP]:[VPN FORWARDED PORT]. The only thing you need to change is the IP address.

I hope this works for you and you are inspired to selfhost and take back power from those who stole it from us.

  • Diurnambule@jlai.lu
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    15 hours ago

    I am using wireguard in docker to connect from anywhere to my locals network. https://github.com/linuxserver/docker-wireguard?tab=readme-ov-file#usage Set the variable INTERNAL_SUBNET to your local IP range. For me it was 192.168.178.0 And set a folder you can reach as it’s working folder. And your done for setting the wireguard server.

    Need yo allow your server to be reachable from the web to wire guard ports. I guess you know how to since you did for you website.

    To add clients (I have android and Linux) you go fetch the config on you server. If you went for numbered peers it look like peer4.conf and you use these file to allow clients to connect.

    Edit : I missread you don’t ask for help.nice site by the way