[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.52,0:00:02.08,Default,,0000,0000,0000,,Hi everyone, welcome back Dialogue: 0,0:00:02.16,0:00:05.09,Default,,0000,0000,0000,,So today we're going to try\Nsomething a little bit different. Dialogue: 0,0:00:05.14,0:00:08.13,Default,,0000,0000,0000,,We're gonna start a new video series Dialogue: 0,0:00:09.25,0:00:12.62,Default,,0000,0000,0000,,about all the different ways to\Nexpose or access our homelab Dialogue: 0,0:00:12.62,0:00:14.06,Default,,0000,0000,0000,,from the internet. Dialogue: 0,0:00:14.78,0:00:18.29,Default,,0000,0000,0000,,The reason is mainly because\Nthere's tons of options out there, Dialogue: 0,0:00:18.41,0:00:21.13,Default,,0000,0000,0000,,and I feel like it's not talked enough\Nabout on YouTube. Dialogue: 0,0:00:21.39,0:00:24.74,Default,,0000,0000,0000,,Especially the security part\Nwhich is most important. Dialogue: 0,0:00:24.80,0:00:28.68,Default,,0000,0000,0000,,Almost everyone just assumes it's secure,\Nwhich isn't always the case, Dialogue: 0,0:00:28.88,0:00:31.75,Default,,0000,0000,0000,,so make sure to hit the Like button\NSubscribe and Share Dialogue: 0,0:00:31.93,0:00:33.45,Default,,0000,0000,0000,,and let's get started. Dialogue: 0,0:00:33.74,0:00:35.26,Default,,0000,0000,0000,,Okay so how to do it, Dialogue: 0,0:00:35.53,0:00:38.72,Default,,0000,0000,0000,,to expose our homelab\Nthere are five main ways Dialogue: 0,0:00:39.13,0:00:41.69,Default,,0000,0000,0000,,1. Secure Tunnels like Cloudflare Dialogue: 0,0:00:42.06,0:00:44.00,Default,,0000,0000,0000,,2. Reverse proxies like Nginx Dialogue: 0,0:00:44.29,0:00:48.13,Default,,0000,0000,0000,,3. Traditional VPNs like Wireguard\Nor OpenVPN protocols Dialogue: 0,0:00:48.49,0:00:51.20,Default,,0000,0000,0000,,4. Mesh VPNs like ZeroTier and Tailscale Dialogue: 0,0:00:51.53,0:00:55.35,Default,,0000,0000,0000,,and lastly 5. the old classic \Nport forwarding or NAT Dialogue: 0,0:00:55.35,0:00:59.15,Default,,0000,0000,0000,,So let's break down each one of them\Nquickly to understand the differences. Dialogue: 0,0:00:59.44,0:01:02.33,Default,,0000,0000,0000,,First secure tunnels like Cloudflare. Dialogue: 0,0:01:02.33,0:01:06.72,Default,,0000,0000,0000,,This is often defined as secure tunnels to\Naccess your app without exposing your IP Dialogue: 0,0:01:06.72,0:01:08.86,Default,,0000,0000,0000,,making remote access easy. Dialogue: 0,0:01:08.86,0:01:10.95,Default,,0000,0000,0000,,It's also fairly easy to setup, Dialogue: 0,0:01:11.13,0:01:14.17,Default,,0000,0000,0000,,however, by default it's\Nnot secured enough Dialogue: 0,0:01:14.24,0:01:16.92,Default,,0000,0000,0000,,and solely [relies] on your app security Dialogue: 0,0:01:16.92,0:01:18.52,Default,,0000,0000,0000,,but this can be improved. Dialogue: 0,0:01:18.52,0:01:21.60,Default,,0000,0000,0000,,We'll cover this later in another video. Dialogue: 0,0:01:21.60,0:01:24.15,Default,,0000,0000,0000,,Next, reverse proxies\Nlike nginx. Dialogue: 0,0:01:24.23,0:01:28.20,Default,,0000,0000,0000,,It's a server that sits in the middle\Nand forward requests to your homelab Dialogue: 0,0:01:28.42,0:01:31.52,Default,,0000,0000,0000,,helping you manage multiple\Nservices under one domain. Dialogue: 0,0:01:31.66,0:01:33.76,Default,,0000,0000,0000,,While adding another layer of protection, Dialogue: 0,0:01:33.76,0:01:38.66,Default,,0000,0000,0000,,you will have more control over \Nyour services and how to Dialogue: 0,0:01:38.98,0:01:40.67,Default,,0000,0000,0000,,contr-\Nmanage them. Dialogue: 0,0:01:41.03,0:01:46.29,Default,,0000,0000,0000,,However, it exposes your IP and you must\Nopen a port on your router to access it. Dialogue: 0,0:01:47.00,0:01:51.01,Default,,0000,0000,0000,,Next, traditional VPNs like Wireguard\Nor OpenVPN. Dialogue: 0,0:01:51.01,0:01:54.94,Default,,0000,0000,0000,,It creates an encrypted tunnel between\Nyour device and your homelab Dialogue: 0,0:01:55.08,0:01:57.85,Default,,0000,0000,0000,,making it feel like you are on\Nthe same local network. Dialogue: 0,0:01:57.85,0:02:00.63,Default,,0000,0000,0000,,It's good for privacy and security Dialogue: 0,0:02:00.63,0:02:03.32,Default,,0000,0000,0000,,but only useful when you are\Nthe only user because Dialogue: 0,0:02:03.32,0:02:07.20,Default,,0000,0000,0000,,it's impossible to share access\Nwithout sharing your private key Dialogue: 0,0:02:07.20,0:02:09.53,Default,,0000,0000,0000,,to other users. Dialogue: 0,0:02:09.53,0:02:14.31,Default,,0000,0000,0000,,Next, mesh VPNs\Nlike ZeroTier or Tailscale. Dialogue: 0,0:02:14.31,0:02:18.98,Default,,0000,0000,0000,,This is similar to normal VPNs except it\Nconnects devices between each other Dialogue: 0,0:02:18.98,0:02:21.70,Default,,0000,0000,0000,,instead of connecting them\Nto a central server. Dialogue: 0,0:02:21.70,0:02:25.48,Default,,0000,0000,0000,,It has more control over normal VPNs in \Nthe way that you can choose which Dialogue: 0,0:02:25.48,0:02:29.07,Default,,0000,0000,0000,,devices to share\Nbut you must manually join the network Dialogue: 0,0:02:29.07,0:02:31.61,Default,,0000,0000,0000,,each time for each devices\Nyou want to give access to. Dialogue: 0,0:02:31.61,0:02:36.18,Default,,0000,0000,0000,,Finally NAT this is a classic way of\Nopening specific ports on your router Dialogue: 0,0:02:36.18,0:02:37.67,Default,,0000,0000,0000,,to expose your homelab. Dialogue: 0,0:02:37.67,0:02:42.20,Default,,0000,0000,0000,,It's simple but it also carries high\Nsecurity risk if you rely on it alone. Dialogue: 0,0:02:42.20,0:02:46.62,Default,,0000,0000,0000,,Keep in mind NAT often gets used with\Nother methods like previously showed, Dialogue: 0,0:02:46.75,0:02:50.84,Default,,0000,0000,0000,,but going purely [on it's own] port\Nforwarding is a no-go for secure setups. Dialogue: 0,0:02:51.40,0:02:52.77,Default,,0000,0000,0000,,Now, you may be wondering, Dialogue: 0,0:02:53.14,0:02:56.12,Default,,0000,0000,0000,,what's the most secure setup\Nto expose your home lab? Dialogue: 0,0:02:56.24,0:02:59.76,Default,,0000,0000,0000,,Actually, [it] depends on your apps\Nand what you want to do? Dialogue: 0,0:02:59.76,0:03:02.56,Default,,0000,0000,0000,,In my opinion, it's not about\Nwhich method you use Dialogue: 0,0:03:02.56,0:03:05.53,Default,,0000,0000,0000,,but more about how you combine\Nbetween them. Dialogue: 0,0:03:05.53,0:03:09.78,Default,,0000,0000,0000,,The best setup is to mix them\Nand make them work all together Dialogue: 0,0:03:09.78,0:03:11.73,Default,,0000,0000,0000,,to have the perfect setup. Dialogue: 0,0:03:13.59,0:03:16.78,Default,,0000,0000,0000,,Okay so first let's go to cloudflare.com Dialogue: 0,0:03:16.78,0:03:18.32,Default,,0000,0000,0000,,Go to "Sign Up" Dialogue: 0,0:03:18.77,0:03:21.62,Default,,0000,0000,0000,,and free at the website. Dialogue: 0,0:03:23.02,0:03:25.98,Default,,0000,0000,0000,,And let's create a new account now. Dialogue: 0,0:03:29.30,0:03:32.38,Default,,0000,0000,0000,,After that if you already have [a]\Ndomain [previously purchased] Dialogue: 0,0:03:32.38,0:03:36.45,Default,,0000,0000,0000,,enter it here or for me I'm just\Ngoing to create a new domain. Dialogue: 0,0:03:39.57,0:03:42.31,Default,,0000,0000,0000,,For some reason I got an error\Nwhen trying to pay Dialogue: 0,0:03:42.51,0:03:47.31,Default,,0000,0000,0000,,So I'm just going to import an existing\Ndomain. Just going to type it here. Dialogue: 0,0:03:51.35,0:03:53.68,Default,,0000,0000,0000,,Okay, so then go down Dialogue: 0,0:03:54.52,0:03:56.23,Default,,0000,0000,0000,,and choose the free package. Dialogue: 0,0:03:59.96,0:04:02.68,Default,,0000,0000,0000,,Next click on continue to activation. Dialogue: 0,0:04:03.22,0:04:07.19,Default,,0000,0000,0000,,Confirm. Next we need to \Ndo some modifications Dialogue: 0,0:04:07.47,0:04:10.95,Default,,0000,0000,0000,,We need to modify,\Nthe current name servers Dialogue: 0,0:04:11.12,0:04:12.86,Default,,0000,0000,0000,,with Cloudflare nameservers Dialogue: 0,0:04:13.24,0:04:16.36,Default,,0000,0000,0000,,to allow Cloudflare to control the domain. Dialogue: 0,0:04:16.75,0:04:17.63,Default,,0000,0000,0000,,To do that, Dialogue: 0,0:04:17.96,0:04:22.16,Default,,0000,0000,0000,,we go to the domain provider\Nin my case it's NameCheap. Dialogue: 0,0:04:25.98,0:04:30.84,Default,,0000,0000,0000,,So in my case I'm gonna do\Ncustom DNS and then I copy.... Dialogue: 0,0:04:35.71,0:04:37.50,Default,,0000,0000,0000,,the nameservers Dialogue: 0,0:04:38.75,0:04:39.80,Default,,0000,0000,0000,,and then I save. Dialogue: 0,0:04:42.78,0:04:46.19,Default,,0000,0000,0000,,It tells you that it can take \Nup to 48 hours Dialogue: 0,0:04:46.19,0:04:49.76,Default,,0000,0000,0000,,But it's not true it [can take] just a\Nfew seconds or a few minutes max Dialogue: 0,0:04:50.36,0:04:52.12,Default,,0000,0000,0000,,But, just in case Dialogue: 0,0:04:53.14,0:04:55.18,Default,,0000,0000,0000,,If it take a long time to update Dialogue: 0,0:04:55.43,0:04:58.02,Default,,0000,0000,0000,,Uh, this is normal so\Njust wait Dialogue: 0,0:04:58.25,0:05:00.18,Default,,0000,0000,0000,,There is no other choice Dialogue: 0,0:05:00.72,0:05:02.08,Default,,0000,0000,0000,,Okay, so after a while, Dialogue: 0,0:05:02.08,0:05:04.45,Default,,0000,0000,0000,,We get this page this means\Neverything is good Dialogue: 0,0:05:04.60,0:05:07.32,Default,,0000,0000,0000,,Now we go to access page Dialogue: 0,0:05:07.52,0:05:09.71,Default,,0000,0000,0000,,and then Launch Zero Trust. Dialogue: 0,0:05:10.45,0:05:11.86,Default,,0000,0000,0000,,We choose our account Dialogue: 0,0:05:12.22,0:05:14.41,Default,,0000,0000,0000,,Next you go to access Dialogue: 0,0:05:15.20,0:05:17.56,Default,,0000,0000,0000,,Next we choose teamname Dialogue: 0,0:05:17.60,0:05:18.78,Default,,0000,0000,0000,,Just anything Dialogue: 0,0:05:23.05,0:05:26.14,Default,,0000,0000,0000,,Then we choose the free package of course Dialogue: 0,0:05:27.47,0:05:29.56,Default,,0000,0000,0000,,There is zero payment Dialogue: 0,0:05:33.13,0:05:34.94,Default,,0000,0000,0000,,Next we go to Networks Dialogue: 0,0:05:35.30,0:05:36.25,Default,,0000,0000,0000,,Tunnels Dialogue: 0,0:05:37.34,0:05:39.40,Default,,0000,0000,0000,,And we add a tunnel Dialogue: 0,0:05:39.60,0:05:41.24,Default,,0000,0000,0000,,We choose this one Cloudflared Dialogue: 0,0:05:41.58,0:05:45.11,Default,,0000,0000,0000,,We name our Tunnel\NHomelab uh test Dialogue: 0,0:05:47.28,0:05:50.19,Default,,0000,0000,0000,,Next it will ask you to choose\Nyour environment Dialogue: 0,0:05:50.34,0:05:53.32,Default,,0000,0000,0000,,In this case you just uh\NYou just choose docker Dialogue: 0,0:05:53.40,0:05:55.27,Default,,0000,0000,0000,,and then we just copy the comment Dialogue: 0,0:05:55.27,0:06:00.02,Default,,0000,0000,0000,,because we just need the token.\NWe don't need to run anything docker Dialogue: 0,0:06:00.10,0:06:01.75,Default,,0000,0000,0000,,Then we go back to TrueNAS Dialogue: 0,0:06:02.28,0:06:03.74,Default,,0000,0000,0000,,and we install Dialogue: 0,0:06:03.94,0:06:05.85,Default,,0000,0000,0000,,the Cloudflared app. Dialogue: 0,0:06:07.32,0:06:08.62,Default,,0000,0000,0000,,This one Dialogue: 0,0:06:10.58,0:06:13.44,Default,,0000,0000,0000,,And here we['ve] got [to just]\Npaste what we had Dialogue: 0,0:06:13.44,0:06:14.58,Default,,0000,0000,0000,,and we just keep. Dialogue: 0,0:06:15.96,0:06:19.20,Default,,0000,0000,0000,,Remove everything, we just keep the token. Dialogue: 0,0:06:24.64,0:06:27.12,Default,,0000,0000,0000,,So anything before this goes. Dialogue: 0,0:06:29.14,0:06:30.37,Default,,0000,0000,0000,,That's it. Dialogue: 0,0:06:31.60,0:06:34.37,Default,,0000,0000,0000,,We don't need to setup anything else. Dialogue: 0,0:06:35.16,0:06:37.75,Default,,0000,0000,0000,,Even storage, it's not necessary. Dialogue: 0,0:06:39.63,0:06:40.86,Default,,0000,0000,0000,,And we install. Dialogue: 0,0:06:43.53,0:06:45.36,Default,,0000,0000,0000,,Okay now it's up and running. Dialogue: 0,0:06:45.79,0:06:47.92,Default,,0000,0000,0000,,Let's go back to Cloudflared profile. Dialogue: 0,0:06:48.86,0:06:52.82,Default,,0000,0000,0000,,Now we need to wait until we get uh\Nsomething here in connectors. Dialogue: 0,0:06:53.07,0:06:54.58,Default,,0000,0000,0000,,It will automatically search. Dialogue: 0,0:06:54.58,0:06:56.03,Default,,0000,0000,0000,,Alright here we go Dialogue: 0,0:06:56.03,0:06:58.75,Default,,0000,0000,0000,,It's connected.\NSo now we can continue. Dialogue: 0,0:06:58.92,0:07:00.11,Default,,0000,0000,0000,,Next Dialogue: 0,0:07:01.85,0:07:05.70,Default,,0000,0000,0000,,Now we're ready to add our first service. Dialogue: 0,0:07:06.63,0:07:09.27,Default,,0000,0000,0000,,Let's start by adding TrueNAS itself. Dialogue: 0,0:07:09.53,0:07:11.87,Default,,0000,0000,0000,,So let's just copy the IP Dialogue: 0,0:07:15.33,0:07:17.05,Default,,0000,0000,0000,,Then we choose the subdomain Dialogue: 0,0:07:17.28,0:07:18.05,Default,,0000,0000,0000,,TrueNAS Dialogue: 0,0:07:18.48,0:07:19.55,Default,,0000,0000,0000,,and choose the domain Dialogue: 0,0:07:20.89,0:07:22.92,Default,,0000,0000,0000,,then we choose HTTP Dialogue: 0,0:07:24.34,0:07:25.86,Default,,0000,0000,0000,,and then the IP Dialogue: 0,0:07:26.72,0:07:30.05,Default,,0000,0000,0000,,There is nothing specific to add there. Dialogue: 0,0:07:30.23,0:07:31.12,Default,,0000,0000,0000,,That's save. Dialogue: 0,0:07:33.20,0:07:35.85,Default,,0000,0000,0000,,To test this I'm going to disconnect\Nfrom the VPN Dialogue: 0,0:07:36.27,0:07:40.50,Default,,0000,0000,0000,,Because i'm not at home I'm\Nconnected to my home VPN. Dialogue: 0,0:07:40.81,0:07:43.64,Default,,0000,0000,0000,,So I'm just going to deactivate it\Nand try this. Dialogue: 0,0:07:44.95,0:07:50.71,Default,,0000,0000,0000,,To show that likely if I try to go\Nto the same IP Dialogue: 0,0:07:52.71,0:07:56.37,Default,,0000,0000,0000,,It's not going to work,\Nbecause I disconnected from the VPN. Dialogue: 0,0:07:56.87,0:07:58.02,Default,,0000,0000,0000,,And if I try Dialogue: 0,0:07:58.64,0:07:59.68,Default,,0000,0000,0000,,a domain, Dialogue: 0,0:08:00.21,0:08:01.16,Default,,0000,0000,0000,,new domain. Dialogue: 0,0:08:04.50,0:08:05.32,Default,,0000,0000,0000,,It works. Dialogue: 0,0:08:05.61,0:08:06.36,Default,,0000,0000,0000,,So now Dialogue: 0,0:08:09.03,0:08:10.92,Default,,0000,0000,0000,,TrueNAS is accessible Dialogue: 0,0:08:11.20,0:08:12.14,Default,,0000,0000,0000,,from the outside. Dialogue: 0,0:08:12.52,0:08:15.16,Default,,0000,0000,0000,,But this is not recommended of course. Dialogue: 0,0:08:15.16,0:08:18.91,Default,,0000,0000,0000,,If you want to expose something\Njust expose the apps individually Dialogue: 0,0:08:19.24,0:08:21.25,Default,,0000,0000,0000,,don't expose the whole thing. Dialogue: 0,0:08:21.71,0:08:22.77,Default,,0000,0000,0000,,so Dialogue: 0,0:08:23.50,0:08:25.36,Default,,0000,0000,0000,,So now I'm just going to delete it Dialogue: 0,0:08:25.71,0:08:28.51,Default,,0000,0000,0000,,and then I'm gonna add something else. Dialogue: 0,0:08:33.86,0:08:36.14,Default,,0000,0000,0000,,Okay now I want to add another service. Dialogue: 0,0:08:36.28,0:08:37.98,Default,,0000,0000,0000,,Maybe, Proxmox Dialogue: 0,0:08:40.19,0:08:42.31,Default,,0000,0000,0000,,Let's go to add the public hostname Dialogue: 0,0:08:42.94,0:08:43.87,Default,,0000,0000,0000,,Proxmox Dialogue: 0,0:08:44.48,0:08:45.44,Default,,0000,0000,0000,,same thing Dialogue: 0,0:08:47.82,0:08:50.17,Default,,0000,0000,0000,,here's we're going to choose HTTPS\Ninstead of HTTP Dialogue: 0,0:08:50.82,0:08:52.84,Default,,0000,0000,0000,,and then the IP Dialogue: 0,0:08:54.43,0:08:58.10,Default,,0000,0000,0000,,as well as the port which is 8... Dialogue: 0,0:08:58.52,0:09:00.07,Default,,0000,0000,0000,,8006 Dialogue: 0,0:09:03.95,0:09:07.45,Default,,0000,0000,0000,,and then we go to \NAdditional Settings > TLS Dialogue: 0,0:09:08.02,0:09:10.75,Default,,0000,0000,0000,,and we enable No TLS verify. Dialogue: 0,0:09:10.87,0:09:12.35,Default,,0000,0000,0000,,It will not check certificates. Dialogue: 0,0:09:12.82,0:09:13.90,Default,,0000,0000,0000,,Okay, now let's save. Dialogue: 0,0:09:15.92,0:09:18.13,Default,,0000,0000,0000,,Let's try again now. Dialogue: 0,0:09:25.12,0:09:26.39,Default,,0000,0000,0000,,NIce! Now it works. Dialogue: 0,0:09:32.92,0:09:34.98,Default,,0000,0000,0000,,And we'll disconnect the VPN Dialogue: 0,0:09:35.61,0:09:36.40,Default,,0000,0000,0000,,and refresh Dialogue: 0,0:09:36.92,0:09:38.13,Default,,0000,0000,0000,,and it still works. Dialogue: 0,0:09:39.26,0:09:41.49,Default,,0000,0000,0000,,Okay now before we're finishing the video Dialogue: 0,0:09:41.82,0:09:45.99,Default,,0000,0000,0000,,let's do one last service\Nwhich is Paperless. Dialogue: 0,0:09:46.36,0:09:49.88,Default,,0000,0000,0000,,Since we already covered this\Nin a previous video, Dialogue: 0,0:09:50.26,0:09:52.16,Default,,0000,0000,0000,,we're going to see how to expose this Dialogue: 0,0:09:52.47,0:09:56.16,Default,,0000,0000,0000,,Why did I choose Paperless because\Nit's a bit tricky to setup Dialogue: 0,0:09:56.62,0:09:58.46,Default,,0000,0000,0000,,it's not as simple as Dialogue: 0,0:09:58.78,0:10:00.42,Default,,0000,0000,0000,,adding the hostname. Dialogue: 0,0:10:01.10,0:10:04.29,Default,,0000,0000,0000,,So, let's see first we just add the\Nhostname of course Dialogue: 0,0:10:06.76,0:10:08.40,Default,,0000,0000,0000,,same thing as always, Dialogue: 0,0:10:09.53,0:10:13.34,Default,,0000,0000,0000,,HTTPS, and then we take the URL Dialogue: 0,0:10:16.86,0:10:19.06,Default,,0000,0000,0000,,which is IP and Port Dialogue: 0,0:10:24.86,0:10:27.57,Default,,0000,0000,0000,,It chooses HTTP not HTTPS Dialogue: 0,0:10:29.05,0:10:30.18,Default,,0000,0000,0000,,Service name Dialogue: 0,0:10:31.20,0:10:34.32,Default,,0000,0000,0000,,So first it's gonna work normally Dialogue: 0,0:10:34.93,0:10:36.58,Default,,0000,0000,0000,,If I try to access. Dialogue: 0,0:10:39.85,0:10:40.89,Default,,0000,0000,0000,,Alright Dialogue: 0,0:10:41.58,0:10:45.42,Default,,0000,0000,0000,,Uh, but the problem is when you \Ntry to login Dialogue: 0,0:10:49.21,0:10:52.59,Default,,0000,0000,0000,,You get this error.\NCSRF verification failed. Dialogue: 0,0:10:52.95,0:10:53.78,Default,,0000,0000,0000,,Why? Dialogue: 0,0:10:54.06,0:10:57.80,Default,,0000,0000,0000,,We need to change some settings\Nto make it accessible. Dialogue: 0,0:10:58.33,0:11:01.54,Default,,0000,0000,0000,,According to the documentation, Dialogue: 0,0:11:02.19,0:11:05.92,Default,,0000,0000,0000,,we need to set this environment\Nvariable (PAPERLESS_URL) Dialogue: 0,0:11:06.49,0:11:10.57,Default,,0000,0000,0000,,uh and uh, set it to the domain name Dialogue: 0,0:11:10.91,0:11:12.41,Default,,0000,0000,0000,,we used in Cloudflare. Dialogue: 0,0:11:12.68,0:11:14.31,Default,,0000,0000,0000,,So let's do that Dialogue: 0,0:11:15.32,0:11:18.33,Default,,0000,0000,0000,,go to Paperless > Edit Dialogue: 0,0:11:20.05,0:11:24.100,Default,,0000,0000,0000,,and let's just add it as an\Nenvironment variable here Dialogue: 0,0:11:25.91,0:11:28.35,Default,,0000,0000,0000,,PAPERLESS_URL Dialogue: 0,0:11:28.68,0:11:32.02,Default,,0000,0000,0000,,set it to paperless.yourdomain Dialogue: 0,0:11:36.02,0:11:40.03,Default,,0000,0000,0000,,make sure to add HTTPS to the beginning Dialogue: 0,0:11:42.45,0:11:44.29,Default,,0000,0000,0000,,and that's it.\NUpdate. Dialogue: 0,0:11:48.09,0:11:51.24,Default,,0000,0000,0000,,In case you got stuck in deploying Dialogue: 0,0:11:51.48,0:11:53.30,Default,,0000,0000,0000,,which was the case for me Dialogue: 0,0:11:53.72,0:11:56.26,Default,,0000,0000,0000,,I'm not sure why but the\Ncontainer Paperless Dialogue: 0,0:11:56.82,0:11:59.64,Default,,0000,0000,0000,,just stuck like this for a long time Dialogue: 0,0:12:00.04,0:12:03.66,Default,,0000,0000,0000,,So what I did is stop this instance Dialogue: 0,0:12:04.10,0:12:05.94,Default,,0000,0000,0000,,and create another instance Dialogue: 0,0:12:06.48,0:12:10.63,Default,,0000,0000,0000,,using the already created datasets. Dialogue: 0,0:12:11.17,0:12:14.33,Default,,0000,0000,0000,,So you're not going to lose anything\Nof your files. Dialogue: 0,0:12:16.83,0:12:18.92,Default,,0000,0000,0000,,So let's start another instance Dialogue: 0,0:12:20.50,0:12:23.05,Default,,0000,0000,0000,,Let's call it paperless-cloudflare. Dialogue: 0,0:12:26.13,0:12:29.18,Default,,0000,0000,0000,,We can change password if you want. Dialogue: 0,0:12:32.28,0:12:36.08,Default,,0000,0000,0000,,By the way you can choose any secret\Nkey you want. Just want some random stuff Dialogue: 0,0:12:36.24,0:12:38.17,Default,,0000,0000,0000,,You don't need to remember it. Dialogue: 0,0:12:42.54,0:12:44.90,Default,,0000,0000,0000,,Okay, add an email Dialogue: 0,0:12:45.42,0:12:47.28,Default,,0000,0000,0000,,just a fake email. Dialogue: 0,0:12:50.80,0:12:51.81,Default,,0000,0000,0000,,Password. Dialogue: 0,0:13:02.23,0:13:05.72,Default,,0000,0000,0000,,Now we add again environment variable Dialogue: 0,0:13:06.34,0:13:08.20,Default,,0000,0000,0000,,PAPERLESS_URL Dialogue: 0,0:13:09.05,0:13:10.34,Default,,0000,0000,0000,,HTTPS Dialogue: 0,0:13:10.84,0:13:11.64,Default,,0000,0000,0000,,paperless… Dialogue: 0,0:13:12.41,0:13:13.36,Default,,0000,0000,0000,,dot Dialogue: 0,0:13:14.68,0:13:16.08,Default,,0000,0000,0000,,your domain Dialogue: 0,0:13:20.94,0:13:24.02,Default,,0000,0000,0000,,and then we add the other host path Dialogue: 0,0:13:27.74,0:13:30.05,Default,,0000,0000,0000,,Paperless this is the data. Dialogue: 0,0:13:30.74,0:13:31.68,Default,,0000,0000,0000,,let's copy this Dialogue: 0,0:13:33.45,0:13:35.31,Default,,0000,0000,0000,,And now Media Dialogue: 0,0:13:39.69,0:13:41.58,Default,,0000,0000,0000,,and then Consume Dialogue: 0,0:13:50.41,0:13:51.52,Default,,0000,0000,0000,,and Trash Dialogue: 0,0:13:57.75,0:13:59.40,Default,,0000,0000,0000,,this is PostScript Dialogue: 0,0:14:06.11,0:14:09.08,Default,,0000,0000,0000,,Make sure to check \N"Automatic Permissions". Dialogue: 0,0:14:12.95,0:14:14.31,Default,,0000,0000,0000,,Then we hit install. Dialogue: 0,0:14:18.40,0:14:22.61,Default,,0000,0000,0000,,Let's wait [a] little bit. \NIt works but it takes some time. Dialogue: 0,0:14:24.82,0:14:26.36,Default,,0000,0000,0000,,Okay now it's running. Dialogue: 0,0:14:27.34,0:14:28.36,Default,,0000,0000,0000,,Let's start it. Dialogue: 0,0:14:31.18,0:14:32.97,Default,,0000,0000,0000,,First let's get the IP Dialogue: 0,0:14:33.41,0:14:36.04,Default,,0000,0000,0000,,I mean let's get the port-- \NIP is the same. Dialogue: 0,0:14:36.95,0:14:38.20,Default,,0000,0000,0000,,Go back to cloudflare Dialogue: 0,0:14:38.98,0:14:39.81,Default,,0000,0000,0000,,Hit it Dialogue: 0,0:14:41.50,0:14:44.19,Default,,0000,0000,0000,,Going to put the new port Dialogue: 0,0:14:45.34,0:14:46.32,Default,,0000,0000,0000,,Save Dialogue: 0,0:14:49.82,0:14:51.18,Default,,0000,0000,0000,,Let's try now Dialogue: 0,0:14:55.43,0:14:57.70,Default,,0000,0000,0000,,Okay, now new password Dialogue: 0,0:15:03.42,0:15:06.76,Default,,0000,0000,0000,,And now it works. We don't got\Nthe error, the previous error. Dialogue: 0,0:15:07.84,0:15:11.71,Default,,0000,0000,0000,,And as you can see we still have the [same] documents as Dialogue: 0,0:15:11.71,0:15:14.44,Default,,0000,0000,0000,,before we didn't lost anything. Dialogue: 0,0:15:15.29,0:15:17.46,Default,,0000,0000,0000,,We still got all our documents. Dialogue: 0,0:15:22.40,0:15:23.64,Default,,0000,0000,0000,,Open them Dialogue: 0,0:15:26.51,0:15:28.45,Default,,0000,0000,0000,,And uh, everything works fine Dialogue: 0,0:15:32.62,0:15:33.41,Default,,0000,0000,0000,,That's it Dialogue: 0,0:15:33.58,0:15:35.33,Default,,0000,0000,0000,,Basically this is how to Dialogue: 0,0:15:35.60,0:15:39.06,Default,,0000,0000,0000,,expose your services on the cloud Dialogue: 0,0:15:42.80,0:15:43.57,Default,,0000,0000,0000,,To recap: Dialogue: 0,0:15:43.82,0:15:47.45,Default,,0000,0000,0000,,When you want to expose your app, \Nthis is how it works. Dialogue: 0,0:15:47.45,0:15:53.22,Default,,0000,0000,0000,,We don't access the app directly \Nbut rather you access the cloud server Dialogue: 0,0:15:53.56,0:15:56.67,Default,,0000,0000,0000,,cloudflare server. Cloudflare will\Nmake exchanges Dialogue: 0,0:15:56.86,0:16:00.14,Default,,0000,0000,0000,,with your LAN network through Cloudflare Dialogue: 0,0:16:00.42,0:16:01.23,Default,,0000,0000,0000,,and then Dialogue: 0,0:16:01.54,0:16:04.17,Default,,0000,0000,0000,,It will give access to your app. Dialogue: 0,0:16:04.53,0:16:08.76,Default,,0000,0000,0000,,This way you don't access your app\Ndirectly which means you don't expose your Dialogue: 0,0:16:08.85,0:16:11.23,Default,,0000,0000,0000,,IP and you don't go through the NAT Dialogue: 0,0:16:11.39,0:16:12.88,Default,,0000,0000,0000,,you don't need to open a port Dialogue: 0,0:16:13.22,0:16:16.79,Default,,0000,0000,0000,,but be careful if your app is insecure\Nand you get hacked. Dialogue: 0,0:16:16.93,0:16:19.75,Default,,0000,0000,0000,,You directly expose all of your homelab Dialogue: 0,0:16:19.75,0:16:22.69,Default,,0000,0000,0000,,It doesn't matter if you use\NCloudflare or not Dialogue: 0,0:16:22.85,0:16:26.39,Default,,0000,0000,0000,,Like and Share if you made it this far.\NSee you in the next video