If you are using #Cloudflare tunnels to expose ...
If you're self-hosting services, you're probably wanting to expose them to the internet, share it with friends and family. Now, a lot of people, including myself, use Cloudflare tunnels, but if you're trying to expose something like Plex, for instance, you're gonna hit the terms and conditions of service. You can't do it. Plus, you'll now also be holding to another major American company, who knows what's going on. Plus, plus, they've been going down a lot recently. Not that that's affected tunnels as far as I can see, but they're still going down. There is, however, a fully open-source self-hosted service called Pangolin, and I wanna show you. There are three components to essentially replacing Cloudflare tunnels with Pangolin. So you've got sites. Now, sites are the service that you want to expose. This would be the server, where you've got the services on. So the hardware, that's a site. Within the site, you have the resources. These will be the URL, the endpoints that you're looking to expose. And then you have nodes. Nodes are essentially the service that will be running the data through. You can use their free version. However, it only gives you one site and one node, their node. You can run multiple nodes using the free version. The key point is you only get 25 gig of data transfer on a free version. So 25 gig is going to, especially if you're using something like Plex, you're gonna destroy that 25 gig really, really quickly. If you go to their paid, you get a terabyte free. Well, you get a terabyte for $15 a month. You get three sites, but it does cost you $50 per gig of traffic after. Now, if I enable this, you see remote nodes. This is if you deploy on your own VPS that has a public IP address, you now have unlimited sites. You have all of the data, cause that's managed in the VPS. And then you will manage it through the Pangolin UI here. If you're using Unraid, there's an Unraid app, click install. There's also a TrueNAS app, which is easy. If I go into billing, you'll see my data usage. I've been doing this, but I've already used 30 minutes of the 46,000 minutes there are in a month. This is the free version, but as soon as you hit that 40,000, everything will stop running unless you go to a paid service or self host. So first off, create an account on Pangolin, sign in, log in, you're good to go. Then add a site. So I'm gonna call this site DemoDemo just for the sake of this setup. And you get endpoints, IDs, and secrets. If you were going to install this on Unraid, you would get your endpoint ID and secret. And then in the install, you do your endpoint ID and secret and set it up. And then it runs. I'm gonna install this on my Raspberry Pi. I'm gonna use Docker. I've already SSHed into my Raspberry Pi. I have Docker, Docker Compose, and Curl installed. First, I need to make a directory. So mkdirp, and then I want to tilde forward slash, cause I want this in the parent Pangolin LS. There you go. I want a CD into that, Pangolin. Then I want to create a Docker Compose file. So I want to nano docker-compose.yml, lovely. Now I want to go back into the Pangolin dashboard. And then if you see, we have in the install, Docker, Docker Compose, and we just copy this. Then I'm going to paste in and hit control O to save, enter, and then control X. There we go. Then all I need to do, Docker Compose up. This is good. Great. Let's go back into the Pangolin UI. And if I hit create site, that's starting. And then I'll just quickly go back in and we'll see it's creating, it's testing, it's testing. Server started. This is what we want. I'm gonna go back into Pangolin again. Now I should, at some point, if I click, go back to sites. There we go. It's online. That's now connected. How simple is that? The first thing I want to do is I want to expose a service to my, to the web. So I'm going to go into resources and public, hit public, and I'm going to add a resource. I already have Affine set up on the Raspberry Pi. So I'll just use that. So I'm going to call this Affine 1. They give me a free domain name, but I can set up my own domains. Not going to do that, but I'm just going to, here we go, Affine 1 tunnel to 2. And then I want to add a target. So I want to call this the, I'll set the IP address, 192.168.60.101. And then the port I know is 3010. Hit create resource. Oop, need to give it a name. We'll call it Affine 1, create resource, and it will create the SSL. It will enable it. But before I go to it, the in authentication, I don't want this public. I want to set up a password. I want a password protect access. In the authentication methods, I can add a password. I've just added a password, enable password protection, and now we have password protection on that service. Now, all I'm going to do is copy the URL from here, and I'm going to go into a private browser. I'm going to paste in the URL, and I should get a password protected tunnel to the service on, there we go. How simple is that? Now, great. It's like Cloudflare. This is good. What about self-hosting? If you go into the documentation, you will see, and we go down to self-hosting install guide. They give you a really, really good documentation, and they give you choosing a VPS. This is there. You can see that's their affiliate program. So I've used them. It's great, but you can get $30 a year, a VPS that will cover you pretty well, because it gives you 6.5 terabyte a month of traffic. Now that's going to cover Plex. That should cover your Plex usage pretty well. And if you have a look, that's 65 gig. It gets you a gigabit network, and you can get a dedicated IPV, a dedicated IP address, right? Because you could set up clients, set up the Pangolin VPN client on your computer, and use that VPS as your exit point. And now you have your own dedicated VPN on a dedicated IP address. So yeah, I mean, RackNerd, I'm really surprised how cheap it is. I'm going to set one up. Let me know in the comments if you want me to do a video on the whole actual setting it up, the on RackNerd. And then yeah, like domains, you can add your own domain. You just have to do the CNAME and win it to their service. So even if you're self-hosting, you still need an account with them. I think that's to manage the domains. And then you would set up the remote node when you add the node. So when you do the install on the VPS, it'll give you a node and a secret. You add that in here, and then you can be using, you're using the Pangolin UI to do all of the management of all of your services. So it's self-hosted, no cost, but you still need Pangolin, I believe, to administer all of the network. But that's really just config and settings. None of your data would be going through their system if you're self-hosting. You can select multiple identity providers. So if you want to use Google or anything like that, OAuth, you can. If you're doing a web dev for clients and you have a service that you want to expose for a client, but you only want to give them short time access, you can create a link that will expire in a certain amount of time, which is really good. And now they can access that. If you've got a password protected, you probably also want to give them the password, of course. Some basic analytics. And if you go into the clients and the machines, you can see that you will be able to start setting up your own private network Mac and Windows, which means Unix will also, I believe, using Linux. So yeah, Pangolin, man. What an awesome resource.
No AI insights yet
Save videos. Search everything.
Build your personal library of inspiration. Find any quote, hook, or idea in seconds.
Create Free Account No credit card required