1 00:00:00,320 --> 00:00:02,159 hi I'm Alex from tailscale and in 2 00:00:02,159 --> 00:00:03,560 today's video I'm going to show you how 3 00:00:03,560 --> 00:00:06,319 to use image a self-hosted photo backup 4 00:00:06,319 --> 00:00:08,719 solution and share that with friends and 5 00:00:08,719 --> 00:00:10,920 family let's say you've just taken a big 6 00:00:10,920 --> 00:00:12,480 trip and you want to share all the 7 00:00:12,480 --> 00:00:14,519 pictures that are on your hard drive 8 00:00:14,519 --> 00:00:16,160 with your family that lives somewhere 9 00:00:16,160 --> 00:00:19,199 else while using tail scale and caddy a 10 00:00:19,199 --> 00:00:21,199 reverse proxy in today's video I'm going 11 00:00:21,199 --> 00:00:24,160 to show you how to do just 12 00:00:24,160 --> 00:00:27,880 that all right so who is this video for 13 00:00:27,880 --> 00:00:29,519 well it's for those of you that already 14 00:00:29,519 --> 00:00:31,800 have self-hosted Services running I'm 15 00:00:31,800 --> 00:00:33,760 not going to cover how to set up image 16 00:00:33,760 --> 00:00:35,640 or audio bookshelf or anything like that 17 00:00:35,640 --> 00:00:38,040 in this video but what I am going to do 18 00:00:38,040 --> 00:00:39,480 and there'll be chapter markers down 19 00:00:39,480 --> 00:00:42,600 below is cover how to set the remote 20 00:00:42,600 --> 00:00:45,039 person portion up so you could share 21 00:00:45,039 --> 00:00:47,120 this video with the relative or with the 22 00:00:47,120 --> 00:00:49,399 friend and say follow these steps in 23 00:00:49,399 --> 00:00:51,680 this video download tail scale in this 24 00:00:51,680 --> 00:00:53,960 way and this is how you as the remote 25 00:00:53,960 --> 00:00:55,879 person can actually go about getting 26 00:00:55,879 --> 00:00:58,559 access to the service that I am hosting 27 00:00:58,559 --> 00:01:00,160 if you do need a helping hand setting up 28 00:01:00,160 --> 00:01:01,600 these applications there are some links 29 00:01:01,600 --> 00:01:03,280 down below to some sample code for 30 00:01:03,280 --> 00:01:05,920 setting up jelly fin audio bookshelf as 31 00:01:05,920 --> 00:01:08,880 well as image and caddy as well but like 32 00:01:08,880 --> 00:01:10,720 I say that isn't the focus for today's 33 00:01:10,720 --> 00:01:12,720 video we're going to be focusing on tail 34 00:01:12,720 --> 00:01:15,320 scale today and specifically custom 35 00:01:15,320 --> 00:01:17,320 domain support that's the key part 36 00:01:17,320 --> 00:01:18,560 because you can share a lot of this 37 00:01:18,560 --> 00:01:20,079 stuff already just using tail scale 38 00:01:20,079 --> 00:01:22,560 serve that's built into tail scale what 39 00:01:22,560 --> 00:01:24,320 makes today's solution unique is that 40 00:01:24,320 --> 00:01:26,640 we're using caddy as a reverse proxy to 41 00:01:26,640 --> 00:01:28,360 support a domain name that you already 42 00:01:28,360 --> 00:01:31,560 own so Alex's domain.com something like 43 00:01:31,560 --> 00:01:33,000 that and so the service that we're going 44 00:01:33,000 --> 00:01:35,560 to use today is image this is basically 45 00:01:35,560 --> 00:01:37,479 a self-hosted replacement for Google 46 00:01:37,479 --> 00:01:39,960 photos any pictures I take on my phone 47 00:01:39,960 --> 00:01:42,960 get automatically backed up to image I 48 00:01:42,960 --> 00:01:45,680 can create albums I can scan for faces I 49 00:01:45,680 --> 00:01:47,840 can you know do all that kind of stuff 50 00:01:47,840 --> 00:01:50,200 that you would do on Google photos 51 00:01:50,200 --> 00:01:52,000 except for the fact the data never 52 00:01:52,000 --> 00:01:54,280 leaves my server and never leaves my 53 00:01:54,280 --> 00:01:56,280 infrastructure so taking a look at what 54 00:01:56,280 --> 00:01:57,640 we've got over here you can see that 55 00:01:57,640 --> 00:02:00,520 I've already got image running at image. 56 00:02:00,520 --> 00:02:03,479 ru. dots andstuff dodev this is a domain 57 00:02:03,479 --> 00:02:05,560 name that I own I purchased it for about 58 00:02:05,560 --> 00:02:08,919 $13 from name cheap you can buy your own 59 00:02:08,919 --> 00:02:11,720 again for that sort of1 $15 price point 60 00:02:11,720 --> 00:02:13,720 it's not too expensive to have your own 61 00:02:13,720 --> 00:02:15,840 domain name these days imit is currently 62 00:02:15,840 --> 00:02:17,720 being served through a reverse proxy 63 00:02:17,720 --> 00:02:20,239 called caddy this automatically handles 64 00:02:20,239 --> 00:02:21,840 all of my TLS certificates and 65 00:02:21,840 --> 00:02:24,280 everything like that from let's encrypt 66 00:02:24,280 --> 00:02:26,040 but I've never really liked the name 67 00:02:26,040 --> 00:02:28,519 reverse proxy it doesn't explain very 68 00:02:28,519 --> 00:02:30,360 well what it does and I thought about 69 00:02:30,360 --> 00:02:32,040 this the other day and when you walk 70 00:02:32,040 --> 00:02:34,560 into a bar there's a bartender right you 71 00:02:34,560 --> 00:02:35,879 want to buy a drink there's a bunch of 72 00:02:35,879 --> 00:02:37,560 bottles behind the bartender you know 73 00:02:37,560 --> 00:02:39,159 some whiskies some Gins that kind of 74 00:02:39,159 --> 00:02:41,280 thing and you think to yourself I want 75 00:02:41,280 --> 00:02:43,720 access to those resources behind the 76 00:02:43,720 --> 00:02:45,640 bartender well that's what a reverse 77 00:02:45,640 --> 00:02:48,360 proxy is doing you place a request you 78 00:02:48,360 --> 00:02:51,319 order a drink and the bartender or the 79 00:02:51,319 --> 00:02:53,840 reverse proxy has permission to go and 80 00:02:53,840 --> 00:02:55,959 get that resource for you on the back 81 00:02:55,959 --> 00:02:57,760 end it has the logic of knowing which 82 00:02:57,760 --> 00:03:00,319 server is able to serve that that web 83 00:03:00,319 --> 00:03:01,680 request and so what we're going to do 84 00:03:01,680 --> 00:03:03,959 today is share that reverse proxy out 85 00:03:03,959 --> 00:03:05,959 over your tail net we're going to put a 86 00:03:05,959 --> 00:03:08,840 c name into a public registra pointing 87 00:03:08,840 --> 00:03:11,920 to the ts.net entry which is your 88 00:03:11,920 --> 00:03:14,560 personal private DNS name given to your 89 00:03:14,560 --> 00:03:17,120 tailet so that it only resolves over 90 00:03:17,120 --> 00:03:19,120 your tailet you're not exposing any of 91 00:03:19,120 --> 00:03:20,560 this to the internet and that's such a 92 00:03:20,560 --> 00:03:22,920 crucial difference between doing this 93 00:03:22,920 --> 00:03:24,720 with something like port forwarding or 94 00:03:24,720 --> 00:03:26,840 firewall rules or something like that 95 00:03:26,840 --> 00:03:30,480 all of this remains completely offline 96 00:03:30,480 --> 00:03:32,239 you know that we're not exposing any of 97 00:03:32,239 --> 00:03:34,720 this to the public internet and so you 98 00:03:34,720 --> 00:03:36,400 as the administrator of the image 99 00:03:36,400 --> 00:03:38,799 instance Your Role here is to make sure 100 00:03:38,799 --> 00:03:40,959 that your reverse proxy is working so in 101 00:03:40,959 --> 00:03:42,840 our case that's caddy and then you're 102 00:03:42,840 --> 00:03:44,799 going to need to put an entry into Cloud 103 00:03:44,799 --> 00:03:47,159 flare as a public DNS record we'll come 104 00:03:47,159 --> 00:03:49,120 on to that in just a second so let's 105 00:03:49,120 --> 00:03:51,080 take a look at my tail scale admin 106 00:03:51,080 --> 00:03:52,959 console over here you can see that I've 107 00:03:52,959 --> 00:03:56,000 got a caddy node in my tailet the actual 108 00:03:56,000 --> 00:03:58,200 image service is being served through 109 00:03:58,200 --> 00:04:00,120 this auntu server down here here at the 110 00:04:00,120 --> 00:04:02,599 bottom but at the top here we've got 111 00:04:02,599 --> 00:04:04,680 caddy as the reverse proxy as another 112 00:04:04,680 --> 00:04:07,400 node on the tailet now I'm using proxmox 113 00:04:07,400 --> 00:04:09,439 underhood you can do this however you 114 00:04:09,439 --> 00:04:10,879 like but I'm going to use proxmox to 115 00:04:10,879 --> 00:04:13,560 show you today in here we can see that 116 00:04:13,560 --> 00:04:15,959 we have caddy running so if I type caddy 117 00:04:15,959 --> 00:04:18,040 for example it's installed I have it 118 00:04:18,040 --> 00:04:20,399 installed as a system D service and 119 00:04:20,399 --> 00:04:22,120 there'll be links in the description 120 00:04:22,120 --> 00:04:23,880 down below to all of the resources if 121 00:04:23,880 --> 00:04:26,320 you want to do this in an lxc container 122 00:04:26,320 --> 00:04:28,960 using systemd to run caddy as a service 123 00:04:28,960 --> 00:04:31,440 as well now if I do a tail scale status 124 00:04:31,440 --> 00:04:34,120 inside this lxc container you can see 125 00:04:34,120 --> 00:04:36,039 that it's just behaving like any other 126 00:04:36,039 --> 00:04:38,360 tail scale node on my tailet but what's 127 00:04:38,360 --> 00:04:40,120 interesting is if we take a look at the 128 00:04:40,120 --> 00:04:41,880 caddy file that I'm using by the way the 129 00:04:41,880 --> 00:04:44,320 caddy file is the way that we tell caddy 130 00:04:44,320 --> 00:04:46,400 what we want to proxy where so you can 131 00:04:46,400 --> 00:04:48,240 see here for example I've got three 132 00:04:48,240 --> 00:04:50,120 services that I'm proxying through my 133 00:04:50,120 --> 00:04:52,240 caddy instance first of all we've got 134 00:04:52,240 --> 00:04:54,160 image running on one 135 00:04:54,160 --> 00:04:56,000 192168 136 00:04:56,000 --> 00:04:58,400 111013 on Port 137 00:04:58,400 --> 00:05:01,400 2283 the the next one we've got is audio 138 00:05:01,400 --> 00:05:03,680 bookshelf this is a self-hosted audio 139 00:05:03,680 --> 00:05:05,919 book app and you can see that this one 140 00:05:05,919 --> 00:05:08,520 is actually running on the tailet IP of 141 00:05:08,520 --> 00:05:10,840 the auntu server as well and then 142 00:05:10,840 --> 00:05:12,639 finally we've got jellyfin which is a 143 00:05:12,639 --> 00:05:14,280 self-hosted media server that doesn't 144 00:05:14,280 --> 00:05:16,600 need the cloud or anything like that and 145 00:05:16,600 --> 00:05:18,759 all we're using there is the DNS name 146 00:05:18,759 --> 00:05:21,520 through tail scales magic DNS feature of 147 00:05:21,520 --> 00:05:24,840 ubu ubu 2204 D 148 00:05:24,840 --> 00:05:27,199 server now I I chose these three 149 00:05:27,199 --> 00:05:28,960 services in this way to show you the 150 00:05:28,960 --> 00:05:30,639 different way you could configure your 151 00:05:30,639 --> 00:05:33,639 caddy file using a local Lan IP address 152 00:05:33,639 --> 00:05:35,880 so this box could be something that's 153 00:05:35,880 --> 00:05:38,720 not even on your tailet for example so 154 00:05:38,720 --> 00:05:40,560 long as it's rootable from the caddy 155 00:05:40,560 --> 00:05:43,919 instance itself audio books for example 156 00:05:43,919 --> 00:05:45,919 could be any node anywhere else on your 157 00:05:45,919 --> 00:05:48,759 tail net anywhere in the world and again 158 00:05:48,759 --> 00:05:50,600 the same principle applies to jellyfin 159 00:05:50,600 --> 00:05:52,120 because it's just using the tail scale 160 00:05:52,120 --> 00:05:54,160 magic DNS name now the other thing I 161 00:05:54,160 --> 00:05:55,720 wanted to draw your attention to is at 162 00:05:55,720 --> 00:05:57,560 the top of this file is this Cloud flare 163 00:05:57,560 --> 00:06:00,319 section here this is how caddy 164 00:06:00,319 --> 00:06:03,360 automatically generates the https the 165 00:06:03,360 --> 00:06:06,120 TLs certificates for these self-hosted 166 00:06:06,120 --> 00:06:08,000 Services you can see when I do the 167 00:06:08,000 --> 00:06:10,599 import Cloud flare here it Imports that 168 00:06:10,599 --> 00:06:12,919 cloud flare token and caddy has some 169 00:06:12,919 --> 00:06:15,360 logic in it under the hood that knows oh 170 00:06:15,360 --> 00:06:17,599 he specified Cloud flare that means I'm 171 00:06:17,599 --> 00:06:19,039 going to have to go and do the Acme 172 00:06:19,039 --> 00:06:21,120 request to go and generate the TLs 173 00:06:21,120 --> 00:06:23,160 certificates automatically for cloud 174 00:06:23,160 --> 00:06:25,199 flare so what's required on the tail 175 00:06:25,199 --> 00:06:26,759 scale side okay we need to make sure 176 00:06:26,759 --> 00:06:28,479 that it's a node on our tail net okay so 177 00:06:28,479 --> 00:06:30,520 I'll do a tail scale status I've already 178 00:06:30,520 --> 00:06:32,960 done tail scale login just to save us a 179 00:06:32,960 --> 00:06:34,599 bit of time in the video now the next 180 00:06:34,599 --> 00:06:35,960 thing we're going to have to do is 181 00:06:35,960 --> 00:06:38,120 configure the public DNS side of this 182 00:06:38,120 --> 00:06:40,319 solution we're going to need to know 183 00:06:40,319 --> 00:06:43,039 where our domain names name servers are 184 00:06:43,039 --> 00:06:45,120 pointing in my case I've pointed my 185 00:06:45,120 --> 00:06:48,199 domain dots and stuff dodev I've pointed 186 00:06:48,199 --> 00:06:50,199 the name service for that domain to 187 00:06:50,199 --> 00:06:52,080 cloudflare so that I can use cloudflare 188 00:06:52,080 --> 00:06:54,919 as my public DNS entry to manage all of 189 00:06:54,919 --> 00:06:57,360 my DNS records so once you've gone ahead 190 00:06:57,360 --> 00:06:58,840 and got logged into Cloud flare it's 191 00:06:58,840 --> 00:07:00,360 going to be a case of heading over to 192 00:07:00,360 --> 00:07:03,039 the domain itself and then on the left 193 00:07:03,039 --> 00:07:05,080 hand side here you can see there's a DNS 194 00:07:05,080 --> 00:07:07,000 section just here and then the entire 195 00:07:07,000 --> 00:07:09,120 thing is configured here in one entry so 196 00:07:09,120 --> 00:07:12,919 I've got star. RDU as a wild card entry 197 00:07:12,919 --> 00:07:16,680 pointing to caddy Velociraptor hyen 198 00:07:16,680 --> 00:07:19,759 noodle fish. tsnet now you will get this 199 00:07:19,759 --> 00:07:21,960 value here the target which is required 200 00:07:21,960 --> 00:07:24,199 to create a c name you'll get that by 201 00:07:24,199 --> 00:07:26,000 heading over to your tail scale admin 202 00:07:26,000 --> 00:07:29,800 console go to DNS and whatever value is 203 00:07:29,800 --> 00:07:31,759 here whatever value is in this box here 204 00:07:31,759 --> 00:07:33,759 under tailet name in my case 205 00:07:33,759 --> 00:07:36,879 Velociraptor hyphen noodle fish. ts.net 206 00:07:36,879 --> 00:07:38,759 that's the value that you want to put 207 00:07:38,759 --> 00:07:41,280 into here this must be a fully qualified 208 00:07:41,280 --> 00:07:43,280 domain name this is because when you 209 00:07:43,280 --> 00:07:45,960 share the node to another tailet it's 210 00:07:45,960 --> 00:07:47,960 not accessible by the short name it's 211 00:07:47,960 --> 00:07:50,360 only accessible by the full fully 212 00:07:50,360 --> 00:07:53,159 qualified domain name of caddy do 213 00:07:53,159 --> 00:07:55,840 whatever. ts.net and with that done 214 00:07:55,840 --> 00:07:58,280 click save and you can verify this by 215 00:07:58,280 --> 00:07:59,759 opening a terminal window windows so 216 00:07:59,759 --> 00:08:01,120 I'll just drag this one in from over 217 00:08:01,120 --> 00:08:03,680 here and we'll do a dig what did I I 218 00:08:03,680 --> 00:08:08,440 mean i' yeah test. U do some stuff dodev 219 00:08:08,440 --> 00:08:10,319 and because this is a wild card you 220 00:08:10,319 --> 00:08:13,879 should see that we return a c name here 221 00:08:13,879 --> 00:08:17,680 for caddy do your tailet name. ts.net 222 00:08:17,680 --> 00:08:19,599 doesn't have to be caddy by the way it 223 00:08:19,599 --> 00:08:22,240 just has to match the name of the node 224 00:08:22,240 --> 00:08:24,199 in your tail scale admin console so 225 00:08:24,199 --> 00:08:26,440 again just to get that we go over to the 226 00:08:26,440 --> 00:08:28,759 tail scale admin console click on the 227 00:08:28,759 --> 00:08:30,800 drop down here and whatever this second 228 00:08:30,800 --> 00:08:32,399 entry is here this is the fully 229 00:08:32,399 --> 00:08:34,640 qualified domain name for the node 230 00:08:34,640 --> 00:08:36,719 itself all right so that was a lot have 231 00:08:36,719 --> 00:08:38,559 we got it first of all we need to know 232 00:08:38,559 --> 00:08:40,320 what our fully qualified domain name is 233 00:08:40,320 --> 00:08:43,039 for caddy the node on your tailet so we 234 00:08:43,039 --> 00:08:44,640 get that in the admin console click on 235 00:08:44,640 --> 00:08:47,560 the drop down second option over here we 236 00:08:47,560 --> 00:08:49,519 then in Cloud flare need to make sure 237 00:08:49,519 --> 00:08:51,839 that the name servers for our domain 238 00:08:51,839 --> 00:08:53,800 wherever we registered it in my case I 239 00:08:53,800 --> 00:08:55,800 registered mine at name cheep but you 240 00:08:55,800 --> 00:08:58,600 know other registar are available and I 241 00:08:58,600 --> 00:09:00,600 pointed my name service for that domain 242 00:09:00,600 --> 00:09:03,000 to Cloud flare once I'd done that and 243 00:09:03,000 --> 00:09:05,040 everything had propagated properly which 244 00:09:05,040 --> 00:09:07,600 can take a few hours by the way I simply 245 00:09:07,600 --> 00:09:09,640 went and created a new record you click 246 00:09:09,640 --> 00:09:11,880 the add record button over here click on 247 00:09:11,880 --> 00:09:14,079 the drop down see name you know I can 248 00:09:14,079 --> 00:09:16,880 blah blah blah whatever put that in and 249 00:09:16,880 --> 00:09:19,640 then my target here for example is you 250 00:09:19,640 --> 00:09:21,680 know test. 251 00:09:21,680 --> 00:09:23,920 Velociraptor that has to match the fully 252 00:09:23,920 --> 00:09:26,079 qualified domain name in your tailet 253 00:09:26,079 --> 00:09:28,800 remember and then TTL time to live I 254 00:09:28,800 --> 00:09:30,440 mean whilst I'm doing a bunch of testing 255 00:09:30,440 --> 00:09:32,839 for this video I set mine to one minute 256 00:09:32,839 --> 00:09:35,120 if you leave yours to Auto you probably 257 00:09:35,120 --> 00:09:36,680 won't have any issues so just leave that 258 00:09:36,680 --> 00:09:39,320 one alone click save and then it might 259 00:09:39,320 --> 00:09:41,120 take a moment or two to propagate but if 260 00:09:41,120 --> 00:09:44,399 I do uh what did I call it I've already 261 00:09:44,399 --> 00:09:47,120 forgotten blah blah 262 00:09:47,120 --> 00:09:51,040 blah if I do blah blah blah we should 263 00:09:51,040 --> 00:09:53,000 see that yeah there you go the C name 264 00:09:53,000 --> 00:09:56,160 now resolves to test. Velociraptor and 265 00:09:56,160 --> 00:09:57,800 so the next thing to do is to go ahead 266 00:09:57,800 --> 00:09:59,959 and share it with your relative to do 267 00:09:59,959 --> 00:10:01,519 that we head over to the tail Scout 268 00:10:01,519 --> 00:10:03,920 admin console once more click on this 269 00:10:03,920 --> 00:10:06,160 button here which says share next to the 270 00:10:06,160 --> 00:10:08,800 three dot menu and generate and copy an 271 00:10:08,800 --> 00:10:10,839 invite link once we've done that you 272 00:10:10,839 --> 00:10:12,560 share this with your friend or relative 273 00:10:12,560 --> 00:10:14,519 they can do this from a mobile device or 274 00:10:14,519 --> 00:10:16,959 a laptop doesn't really matter so long 275 00:10:16,959 --> 00:10:18,680 as it's logged into the tailet that they 276 00:10:18,680 --> 00:10:20,279 created now in terms of the 277 00:10:20,279 --> 00:10:21,920 chronological order of this video this 278 00:10:21,920 --> 00:10:23,920 is where things get a little confusing I 279 00:10:23,920 --> 00:10:25,920 wanted to create a dedicated chapter so 280 00:10:25,920 --> 00:10:27,079 that you could share this with friends 281 00:10:27,079 --> 00:10:29,360 or family and say hey go to this Tim 282 00:10:29,360 --> 00:10:31,760 stamp and play From This Moment forward 283 00:10:31,760 --> 00:10:34,200 so I'm going to skip ahead or skip back 284 00:10:34,200 --> 00:10:35,959 in time a little bit go through the 285 00:10:35,959 --> 00:10:38,000 process of creating a brand new tailet 286 00:10:38,000 --> 00:10:40,720 for your relative and then once we get 287 00:10:40,720 --> 00:10:42,639 towards the end of that chapter that's 288 00:10:42,639 --> 00:10:44,440 where this invite link part will 289 00:10:44,440 --> 00:10:46,560 actually get 290 00:10:46,560 --> 00:10:48,839 used hello and welcome to the remote 291 00:10:48,839 --> 00:10:50,800 setup part of this video I'm going to 292 00:10:50,800 --> 00:10:52,200 walk you through creating a brand new 293 00:10:52,200 --> 00:10:54,160 tailet and connecting it to that remote 294 00:10:54,160 --> 00:10:55,720 service that your friend or relative is 295 00:10:55,720 --> 00:10:58,120 trying to share with you creating a tail 296 00:10:58,120 --> 00:11:00,399 scale account is completely free head 297 00:11:00,399 --> 00:11:02,959 over to tails scale.com to get started 298 00:11:02,959 --> 00:11:04,600 once there click on the button in the 299 00:11:04,600 --> 00:11:07,079 top right which says get started and 300 00:11:07,079 --> 00:11:09,120 then you'll need to choose your identity 301 00:11:09,120 --> 00:11:11,120 provider in today's video we're going to 302 00:11:11,120 --> 00:11:14,200 use Google I've created a dedicated 303 00:11:14,200 --> 00:11:15,720 Google account just for this video 304 00:11:15,720 --> 00:11:18,480 called myoms tailet 305 00:11:18,480 --> 00:11:21,040 gmail.com nice and straightforward so 306 00:11:21,040 --> 00:11:22,560 I'm going to click on sign up with 307 00:11:22,560 --> 00:11:25,000 Google and I'm already authenticated in 308 00:11:25,000 --> 00:11:27,000 this browser session with that Google 309 00:11:27,000 --> 00:11:29,200 account so it presents me the choos an 310 00:11:29,200 --> 00:11:30,519 account option just here I'm going to 311 00:11:30,519 --> 00:11:33,279 click on that one click 312 00:11:33,279 --> 00:11:35,680 continue and easy as that we've created 313 00:11:35,680 --> 00:11:38,600 a tail scale account so let's add our 314 00:11:38,600 --> 00:11:40,240 first device I'm going to make it this 315 00:11:40,240 --> 00:11:42,480 laptop that we're using right here head 316 00:11:42,480 --> 00:11:44,320 over to tailscale 317 00:11:44,320 --> 00:11:47,120 docomo now if you're on a mobile device 318 00:11:47,120 --> 00:11:49,040 you will go to the app store for your 319 00:11:49,040 --> 00:11:51,279 device and search tail scale and 320 00:11:51,279 --> 00:11:54,000 download the app there but on a laptop 321 00:11:54,000 --> 00:11:55,880 in this case it's Mac OS we're actually 322 00:11:55,880 --> 00:11:57,519 going to go to the Mac App Store to 323 00:11:57,519 --> 00:11:59,040 download tail scale click on the the 324 00:11:59,040 --> 00:12:00,600 little get button or the cloud icon if 325 00:12:00,600 --> 00:12:01,760 you've already done it with this Apple 326 00:12:01,760 --> 00:12:04,600 ID like I have here download and install 327 00:12:04,600 --> 00:12:05,320 the 328 00:12:05,320 --> 00:12:07,880 application click on open and you will 329 00:12:07,880 --> 00:12:09,880 see up here in the menu bar we now have 330 00:12:09,880 --> 00:12:12,079 a new app this is where we'll log in so 331 00:12:12,079 --> 00:12:13,480 I'm going to go ahead and just check the 332 00:12:13,480 --> 00:12:15,880 toggle box here which is going to turn 333 00:12:15,880 --> 00:12:17,279 tail scale on and then I'm going to 334 00:12:17,279 --> 00:12:19,920 click the login button now we should be 335 00:12:19,920 --> 00:12:21,639 familiar with this page by now but this 336 00:12:21,639 --> 00:12:23,480 is the sign in with Google this is where 337 00:12:23,480 --> 00:12:25,760 we use the same Google account that we 338 00:12:25,760 --> 00:12:27,600 used to create the tailet in the 339 00:12:27,600 --> 00:12:30,120 previous step 340 00:12:30,120 --> 00:12:31,720 once you click that button we're going 341 00:12:31,720 --> 00:12:33,279 to be presented with a screen here which 342 00:12:33,279 --> 00:12:35,199 says do you want to connect this device 343 00:12:35,199 --> 00:12:36,959 this laptop do you want to connect this 344 00:12:36,959 --> 00:12:39,360 device to your tailet and then once you 345 00:12:39,360 --> 00:12:40,920 click on the big blue button to say 346 00:12:40,920 --> 00:12:43,199 connect my device it's going to take you 347 00:12:43,199 --> 00:12:46,040 to your admin console this is where you 348 00:12:46,040 --> 00:12:48,120 will see all of the different devices on 349 00:12:48,120 --> 00:12:50,680 your tailet and this is the point where 350 00:12:50,680 --> 00:12:53,000 if someone sent you an invite link we'd 351 00:12:53,000 --> 00:12:55,000 now click on that invite link and add 352 00:12:55,000 --> 00:12:57,920 that shared node into this tail net so 353 00:12:57,920 --> 00:12:59,440 I'm going to go and pretend to be the 354 00:12:59,440 --> 00:13:01,160 friend or relative that's sharing this 355 00:13:01,160 --> 00:13:03,040 service with you for just a second and 356 00:13:03,040 --> 00:13:05,079 generate an invite link I go over to the 357 00:13:05,079 --> 00:13:07,399 share button here generate and copy an 358 00:13:07,399 --> 00:13:09,800 invite link what you will see as the 359 00:13:09,800 --> 00:13:11,920 remote person is an invite link that 360 00:13:11,920 --> 00:13:13,639 looks something like this login. 361 00:13:13,639 --> 00:13:17,320 tailscale doccom slash admin SL invite 362 00:13:17,320 --> 00:13:19,320 and then a string of characters when you 363 00:13:19,320 --> 00:13:21,079 put that into a web browser or click on 364 00:13:21,079 --> 00:13:23,440 it on a mobile device some magic will 365 00:13:23,440 --> 00:13:25,040 happen and we will ask you if you want 366 00:13:25,040 --> 00:13:26,959 to have this shared device added to your 367 00:13:26,959 --> 00:13:28,959 tailet I'm going to click on the button 368 00:13:28,959 --> 00:13:31,399 here which says accept invite and when I 369 00:13:31,399 --> 00:13:34,079 do you'll notice that inside your tailet 370 00:13:34,079 --> 00:13:36,120 now notice the tailet name at the top 371 00:13:36,120 --> 00:13:38,920 here my mom's tailet gmail.com you've 372 00:13:38,920 --> 00:13:41,079 now got two noes you've got your laptop 373 00:13:41,079 --> 00:13:43,760 and also the shared service that the 374 00:13:43,760 --> 00:13:45,880 other person's trying to share with you 375 00:13:45,880 --> 00:13:47,560 what this means is if they've given you 376 00:13:47,560 --> 00:13:49,920 a website to go to so in my case here 377 00:13:49,920 --> 00:13:52,680 for this demo it's image. ru. dots and 378 00:13:52,680 --> 00:13:55,560 stuff dodev you can now access that 379 00:13:55,560 --> 00:13:58,000 service on any device that you're logged 380 00:13:58,000 --> 00:13:59,759 in with tech tail scale remember we 381 00:13:59,759 --> 00:14:01,920 logged in using the tail scale up up 382 00:14:01,920 --> 00:14:04,199 here in the corner to my mom's tail net 383 00:14:04,199 --> 00:14:06,160 and now any service that that friend or 384 00:14:06,160 --> 00:14:08,279 relative has shared with you you can now 385 00:14:08,279 --> 00:14:10,399 access on any device that you are logged 386 00:14:10,399 --> 00:14:12,440 in with tail scale on now I'm going to 387 00:14:12,440 --> 00:14:13,720 go ahead and get logged in with the 388 00:14:13,720 --> 00:14:16,279 username that the person has provided to 389 00:14:16,279 --> 00:14:18,800 me which in this case is a tail and 390 00:14:18,800 --> 00:14:21,639 scales gmail.com that's right get logged 391 00:14:21,639 --> 00:14:24,480 in and suddenly I can see my photos and 392 00:14:24,480 --> 00:14:26,079 so this is the Crux of the solution I 393 00:14:26,079 --> 00:14:27,839 can now go ahead and you know create 394 00:14:27,839 --> 00:14:30,639 albums if I want to this is a image 395 00:14:30,639 --> 00:14:32,440 specific thing not a tail scale specific 396 00:14:32,440 --> 00:14:34,079 thing of course I'm going to create an 397 00:14:34,079 --> 00:14:36,160 album called Canada 23 create a new 398 00:14:36,160 --> 00:14:38,519 shared album and image has a bunch of 399 00:14:38,519 --> 00:14:40,880 users within it for example so if you 400 00:14:40,880 --> 00:14:42,279 want to go ahead and create a bunch of 401 00:14:42,279 --> 00:14:44,040 users for your friends and family as the 402 00:14:44,040 --> 00:14:45,440 server admin you go into the 403 00:14:45,440 --> 00:14:47,440 administration section of image over 404 00:14:47,440 --> 00:14:49,600 here and just create a different user 405 00:14:49,600 --> 00:14:52,360 account within image for every user that 406 00:14:52,360 --> 00:14:55,120 you want to have their own you know view 407 00:14:55,120 --> 00:14:57,680 of the image application now earlier on 408 00:14:57,680 --> 00:15:00,399 in the video I also showed how we could 409 00:15:00,399 --> 00:15:03,320 use audio books and jelly fin as well so 410 00:15:03,320 --> 00:15:05,360 whoever shared this service with you may 411 00:15:05,360 --> 00:15:06,639 have a few other things they want to 412 00:15:06,639 --> 00:15:08,320 share with you up their sleeve and it 413 00:15:08,320 --> 00:15:10,079 should just be a case of going and 414 00:15:10,079 --> 00:15:12,680 typing in whatever URL they've given you 415 00:15:12,680 --> 00:15:16,759 so in my case RDU do doson stuff dodev 416 00:15:16,759 --> 00:15:19,839 loads an audiobook server for 417 00:15:19,839 --> 00:15:22,079 example and then if I wanted to go ahead 418 00:15:22,079 --> 00:15:23,480 and load up jelly fin which is a 419 00:15:23,480 --> 00:15:25,600 self-hosted media server again it's just 420 00:15:25,600 --> 00:15:28,440 dots and stuff dodev and you can see 421 00:15:28,440 --> 00:15:29,360 that 422 00:15:29,360 --> 00:15:30,920 we can share a whole bunch of 423 00:15:30,920 --> 00:15:34,240 self-hosted services using this method 424 00:15:34,240 --> 00:15:35,480 now what if we want to do this on a 425 00:15:35,480 --> 00:15:37,160 phone for example I want to access image 426 00:15:37,160 --> 00:15:39,199 from this iPhone right here well I need 427 00:15:39,199 --> 00:15:41,560 to install tail scale on that device I 428 00:15:41,560 --> 00:15:43,759 don't need to accept the invite more 429 00:15:43,759 --> 00:15:46,000 than once though because once we accept 430 00:15:46,000 --> 00:15:48,240 the invite into our tailet because all 431 00:15:48,240 --> 00:15:50,120 the devices are connected together with 432 00:15:50,120 --> 00:15:52,639 direct connections as part of the tailet 433 00:15:52,639 --> 00:15:55,000 grouping of devices there's no need to 434 00:15:55,000 --> 00:15:57,079 accept the invite on each device just 435 00:15:57,079 --> 00:16:00,040 once per tailet will will suffice now to 436 00:16:00,040 --> 00:16:02,000 download tail scale on the iPhone we go 437 00:16:02,000 --> 00:16:03,680 to the app store and just search for 438 00:16:03,680 --> 00:16:05,560 tail 439 00:16:05,560 --> 00:16:07,920 scale once we see it appear in the 440 00:16:07,920 --> 00:16:09,440 search results we just click on the 441 00:16:09,440 --> 00:16:12,199 little Cloud icon or get or open and if 442 00:16:12,199 --> 00:16:13,880 you're on Google Play it'll be the same 443 00:16:13,880 --> 00:16:16,240 type of deal here and then once the app 444 00:16:16,240 --> 00:16:18,399 is downloaded let's click on open to 445 00:16:18,399 --> 00:16:20,480 open the tail scale application now 446 00:16:20,480 --> 00:16:21,519 we're going to walk through the getting 447 00:16:21,519 --> 00:16:23,079 started wizard I'm going to click on get 448 00:16:23,079 --> 00:16:24,959 started yes I understand about the 449 00:16:24,959 --> 00:16:27,240 Privacy stuff I'm going to allow 450 00:16:27,240 --> 00:16:29,079 notifications and then and click on 451 00:16:29,079 --> 00:16:31,759 install VPN configuration this is so 452 00:16:31,759 --> 00:16:34,040 that tail scale can manage the VPN 453 00:16:34,040 --> 00:16:37,480 configurations on this particular iPhone 454 00:16:37,480 --> 00:16:38,839 the next thing we got to do is actually 455 00:16:38,839 --> 00:16:40,800 get logged into the tailet now I'm going 456 00:16:40,800 --> 00:16:42,440 to click on the login button and again 457 00:16:42,440 --> 00:16:44,319 I'm going to use the Google 458 00:16:44,319 --> 00:16:46,839 authentication provider using the same 459 00:16:46,839 --> 00:16:50,160 my moms tailet gmail.com Google account 460 00:16:50,160 --> 00:16:52,360 that we created earlier in the video 461 00:16:52,360 --> 00:16:54,240 again I'm going to click on the big blue 462 00:16:54,240 --> 00:16:56,079 connect button to connect this device to 463 00:16:56,079 --> 00:16:58,199 my tailet and you can see we've got all 464 00:16:58,199 --> 00:17:00,959 of our devices showing up right here as 465 00:17:00,959 --> 00:17:02,680 well as the shared node that we accepted 466 00:17:02,680 --> 00:17:05,079 the invite for in the previous step on 467 00:17:05,079 --> 00:17:07,160 the laptop remember you don't need to 468 00:17:07,160 --> 00:17:09,240 accept the invite more than once just 469 00:17:09,240 --> 00:17:12,480 once per tailet will suffice and so now 470 00:17:12,480 --> 00:17:14,439 if I go to the image app on my phone and 471 00:17:14,439 --> 00:17:16,119 log in you can see I've put the image. 472 00:17:16,119 --> 00:17:18,679 RDU address in here I'm going to log in 473 00:17:18,679 --> 00:17:20,359 with the username and password that 474 00:17:20,359 --> 00:17:22,760 whoever shared the service with me gave 475 00:17:22,760 --> 00:17:25,959 me and just like that over 5G I'm able 476 00:17:25,959 --> 00:17:28,760 to connect to image on my phone remember 477 00:17:28,760 --> 00:17:31,000 5G means I can't possibly be in the same 478 00:17:31,000 --> 00:17:32,960 building and connecting to this thing so 479 00:17:32,960 --> 00:17:34,600 I could be in England I could be in 480 00:17:34,600 --> 00:17:36,840 Japan or America right now it wouldn't 481 00:17:36,840 --> 00:17:38,280 matter as long as I had internet 482 00:17:38,280 --> 00:17:40,559 connectivity I could actually resolve 483 00:17:40,559 --> 00:17:43,000 this image service and of course on my 484 00:17:43,000 --> 00:17:45,240 laptop as well I'm able to resolve image 485 00:17:45,240 --> 00:17:47,400 over tail scale using the shared node 486 00:17:47,400 --> 00:17:49,760 technique with a custom domain that we 487 00:17:49,760 --> 00:17:52,720 just set up so this is a little taster 488 00:17:52,720 --> 00:17:54,280 of what you can do with tail scale thank 489 00:17:54,280 --> 00:17:56,480 you so much for joining me on this 490 00:17:56,480 --> 00:17:58,480 little Choose Your Own Adventure with 491 00:17:58,480 --> 00:18:00,159 friends and family with tail scale typee 492 00:18:00,159 --> 00:18:02,559 video and until next time I've been Alex 493 00:18:02,559 --> 00:18:06,158 from tail scale