← Back
Tech Hut July 12, 2026 21m

i run this on EVERY Machine I Own (You Should Too)

Read full transcript 18 segments
  1. So, this file server right here, the So, this file server right here, the thumbnails, the built-in music player, thumbnails, the built-in music player, thumbnails, the built-in music player, the drag and drop uploads, it's a single the drag and drop uploads, it's a single the drag and drop uploads, it's a single Python file pointed at a folder and you Python file pointed at a folder and you Python file pointed at a folder and you get this. No Docker, no databases, and get this. No Docker, no databases, and get this. No Docker, no databases, and most importantly, no online accounts most importantly, no online accounts most importantly, no online accounts with some big tech company. This is my with some big tech company. This is my with some big tech company. This is my actual instance here of Copy Party that actual instance here of Copy Party that actual instance here of Copy Party that I've been using, playing around with at I've been using, playing around with at I've been using, playing around with at the moment. This is pointed to a my the moment. This is pointed to a my the moment. This is pointed to a my well, my home directory on a Fedora well, my home directory on a Fedora well, my home directory on a Fedora server that I have running downstairs. server that I have running downstairs. server that I have running downstairs. And prior to using this, I was either And prior to using this, I was either And prior to using this, I was either just using normal file shares or I would just using normal file shares or I would just using normal file shares or I would spin up that files Docker container and spin up that files Docker container and spin up that files Docker container and navigate things that way. This to me is navigate things that way. This to me is navigate things that way. This to me is oh so much better for a number of oh so much better for a number of oh so much better for a number of reasons. One, I really like the simple reasons. One, I really like the simple reasons. One, I really like the simple UI. It kind of is giving me uh torrent UI. It kind of is giving me uh torrent UI. It kind of is giving me uh torrent client vibes in some of these places client vibes in some of these places client vibes in some of these places here. But with how simple this looks, here. But with how simple this looks, here. But with how simple this looks, this is actually very powerful. I have this is actually very powerful. I have this is actually very powerful. I have been using it mostly for markdown files. been using it mostly for markdown files. been using it mostly for markdown files. And even if I open up this uh uh guide And even if I open up this uh uh guide And even if I open up this uh uh guide that I made right here for this that I made right here for this that I made right here for this specifically, you can see it actually specifically, you can see it actually specifically, you can see it actually has a pretty nice markdown viewer in has a pretty nice markdown viewer in has a pretty nice markdown viewer in which we could kind of jump in between which we could kind of jump in between which we could kind of jump in between all the different steps here or all the all the different steps here or all the all the different steps here or all the different actual markdown headings. Hide different actual markdown headings. Hide different actual markdown headings. Hide nav go ah go light mode. You can edit it nav go ah go light mode. You can edit it nav go ah go light mode. You can edit it and you can see in the basic editor we and you can see in the basic editor we and you can see in the basic editor we just even compared to some of the like just even compared to some of the like just even compared to some of the like dedicated markdown editors this is dedicated markdown editors this is dedicated markdown editors this is pretty featurerich. Click on this again pretty featurerich. Click on this again pretty featurerich. Click on this again edit fancy. You can see we got a full-on edit fancy. You can see we got a full-on edit fancy. You can see we got a full-on markdown editor. Now, the uploads are markdown editor. Now, the uploads are markdown editor. Now, the uploads are where things do get a a little crazy.

  2. where things do get a a little crazy. where things do get a a little crazy. So, you could drop in a 50 gig file, So, you could drop in a 50 gig file, So, you could drop in a 50 gig file, close it halfway through an upload, come close it halfway through an upload, come close it halfway through an upload, come back later, and it will continue right back later, and it will continue right back later, and it will continue right where it left off. You can customize where it left off. You can customize where it left off. You can customize your parallel uploads. You can just a your parallel uploads. You can just a your parallel uploads. You can just a bunch of different settings. We have a bunch of different settings. We have a bunch of different settings. We have a basic uploader here. You can easily make basic uploader here. You can easily make basic uploader here. You can easily make a directory. If I click on this one, a directory. If I click on this one, a directory. If I click on this one, music player options. So, you got all music player options. So, you got all music player options. So, you got all those. Some would argue this UI is kind those. Some would argue this UI is kind those. Some would argue this UI is kind of ugly. For me, it's perfect. And then, of ugly. For me, it's perfect. And then, of ugly. For me, it's perfect. And then, of course, we have some settings here. of course, we have some settings here. of course, we have some settings here. I'm not going to dive into all that. I'm not going to dive into all that. I'm not going to dive into all that. What I want to do is actually get this What I want to do is actually get this What I want to do is actually get this all set up. But before we get on to all all set up. But before we get on to all all set up. But before we get on to all of that, we need to talk about the of that, we need to talk about the of that, we need to talk about the sponsor of today's video, a service that sponsor of today's video, a service that sponsor of today's video, a service that I actually use quite frequently, and I actually use quite frequently, and I actually use quite frequently, and that is Code Rabbit. I've been using it that is Code Rabbit. I've been using it that is Code Rabbit. I've been using it for some of the work that I do, and it for some of the work that I do, and it for some of the work that I do, and it has truly been helpful in a number of has truly been helpful in a number of has truly been helpful in a number of different cases. And that's not different cases. And that's not different cases. And that's not something I can say about every single something I can say about every single something I can say about every single tool that touches my workflow. But the tool that touches my workflow. But the tool that touches my workflow. But the reason, the thing they want me to talk reason, the thing they want me to talk reason, the thing they want me to talk about is the fact that they just shipped about is the fact that they just shipped about is the fact that they just shipped Code Rabbit's new review UI. A big PR is Code Rabbit's new review UI. A big PR is Code Rabbit's new review UI. A big PR is a flat list of files in alphabetical a flat list of files in alphabetical a flat list of files in alphabetical order. So, especially if it's something order. So, especially if it's something order. So, especially if it's something big, it can sit for days. Or someone big, it can sit for days. Or someone big, it can sit for days. Or someone just looks at it, says, "Ah, good just looks at it, says, "Ah, good just looks at it, says, "Ah, good enough." and gives it a stamp. This enough." and gives it a stamp. This enough." and gives it a stamp. This takes any pull request and will takes any pull request and will takes any pull request and will reorganize it into a guided walkthrough.

  3. reorganize it into a guided walkthrough. reorganize it into a guided walkthrough. Changes get grouped into cohorts laid Changes get grouped into cohorts laid Changes get grouped into cohorts laid out in ordered layers with an AI summary out in ordered layers with an AI summary out in ordered layers with an AI summary on every group and where the code on every group and where the code on every group and where the code actually warrants that you get a visual actually warrants that you get a visual actually warrants that you get a visual whether that's a new AI endpoint, a new whether that's a new AI endpoint, a new whether that's a new AI endpoint, a new function signature or a change to the function signature or a change to the function signature or a change to the data schema. It's three panels fully data schema. It's three panels fully data schema. It's three panels fully keyboard driven and the reviews post keyboard driven and the reviews post keyboard driven and the reviews post back to GitHub natively. So nothing in back to GitHub natively. So nothing in back to GitHub natively. So nothing in your existing workflow breaks. A lot of your existing workflow breaks. A lot of your existing workflow breaks. A lot of AI tools just layer a smarter comment AI tools just layer a smarter comment AI tools just layer a smarter comment bot on top of GitHub. Code Rabbit bot on top of GitHub. Code Rabbit bot on top of GitHub. Code Rabbit rebuilt the Surface itself. Think of it rebuilt the Surface itself. Think of it rebuilt the Surface itself. Think of it as an IDE specifically for Code review. as an IDE specifically for Code review. as an IDE specifically for Code review. So, if you want to go ahead and check it So, if you want to go ahead and check it So, if you want to go ahead and check it out and try it today, you can do so by out and try it today, you can do so by out and try it today, you can do so by going to the first link down below. And going to the first link down below. And going to the first link down below. And again, big thank you to Code Rabbit for again, big thank you to Code Rabbit for again, big thank you to Code Rabbit for sponsoring today's video. So, real sponsoring today's video. So, real sponsoring today's video. So, real quick, I'm going to follow up on the quick, I'm going to follow up on the quick, I'm going to follow up on the approach. Like I said, I usually reach approach. Like I said, I usually reach approach. Like I said, I usually reach for a container, but in this case, it for a container, but in this case, it for a container, but in this case, it really just makes sense to just run the really just makes sense to just run the really just makes sense to just run the single file as a service. It runs as single file as a service. It runs as single file as a service. It runs as your user, so permissions isn't going to your user, so permissions isn't going to your user, so permissions isn't going to be a problem. We don't need to mess with be a problem. We don't need to mess with be a problem. We don't need to mess with bind mounts or anything like that. If bind mounts or anything like that. If bind mounts or anything like that. If you prefer Docker, I'll go ahead and you prefer Docker, I'll go ahead and you prefer Docker, I'll go ahead and just leave a little Docker compose just leave a little Docker compose just leave a little Docker compose tidbit that you could go ahead and grab. tidbit that you could go ahead and grab. tidbit that you could go ahead and grab. Fill out your user ID bind mount where Fill out your user ID bind mount where Fill out your user ID bind mount where you want to actually see the files and you want to actually see the files and you want to actually see the files and you're good to go. For our methodology you're good to go. For our methodology you're good to go. For our methodology today, it's going to be a little bit today, it's going to be a little bit today, it's going to be a little bit more involved. We are going to spend more involved. We are going to spend more involved. We are going to spend some time in the terminal which I got some time in the terminal which I got some time in the terminal which I got open right here. Now, let's go to my open right here. Now, let's go to my open right here. Now, let's go to my home directory and we are going to want home directory and we are going to want home directory and we are going to want to make sure that we have the to make sure that we have the to make sure that we have the prerequisites. I will note that as you prerequisites. I will note that as you prerequisites. I will note that as you can see here, this is Fedora. So, if can see here, this is Fedora. So, if can see here, this is Fedora. So, if there's a command that's slightly there's a command that's slightly there's a command that's slightly different in Debian, I'll try to shout different in Debian, I'll try to shout different in Debian, I'll try to shout that out. Primarily when it comes to that out. Primarily when it comes to that out. Primarily when it comes to firewall or Ubuntu, you know what I'm firewall or Ubuntu, you know what I'm firewall or Ubuntu, you know what I'm talking about. But first, if you're on talking about. But first, if you're on talking about. But first, if you're on Ubuntu, you're going to want to apt get Ubuntu, you're going to want to apt get Ubuntu, you're going to want to apt get install. I'm going to DNF install. Make

  4. install. I'm going to DNF install. Make install. I'm going to DNF install. Make sure I have both Python 3 and curl. I'm sure I have both Python 3 and curl. I'm sure I have both Python 3 and curl. I'm pretty sure I have both of those, but pretty sure I have both of those, but pretty sure I have both of those, but that is the main prerequisite. Ignore that is the main prerequisite. Ignore that is the main prerequisite. Ignore Slack here, making my uh terminal look Slack here, making my uh terminal look Slack here, making my uh terminal look ugly. Slack is really good at ruining ugly. Slack is really good at ruining ugly. Slack is really good at ruining good times. Now, for the port that this good times. Now, for the port that this good times. Now, for the port that this is going to run on, this is going to is going to run on, this is going to is going to run on, this is going to default to 3923. And we just run this default to 3923. And we just run this default to 3923. And we just run this command here. It's a SS command that's command here. It's a SS command that's command here. It's a SS command that's going to grab that or GP that specific going to grab that or GP that specific going to grab that or GP that specific port. You can see nothing came up. So port. You can see nothing came up. So port. You can see nothing came up. So that port is clear on this machine. So that port is clear on this machine. So that port is clear on this machine. So for this case, you could technically for this case, you could technically for this case, you could technically install it wherever you want. I'm going install it wherever you want. I'm going install it wherever you want. I'm going to install it in a local folder that's to install it in a local folder that's to install it in a local folder that's in my home directory on this Linux in my home directory on this Linux in my home directory on this Linux system. And to do that, first we're system. And to do that, first we're system. And to do that, first we're going to want to make the actual going to want to make the actual going to want to make the actual location that we're going to be location that we're going to be location that we're going to be installing this. So make directory the installing this. So make directory the installing this. So make directory the full path for.local opty party. And all full path for.local opty party. And all full path for.local opty party. And all these commands and everything are going these commands and everything are going these commands and everything are going to be linked in the description on a to be linked in the description on a to be linked in the description on a companion article over on techhut.tv. companion article over on techhut.tv. companion article over on techhut.tv. So we have that. And to install this to So we have that. And to install this to So we have that. And to install this to make it real easy, we're going to use a make it real easy, we're going to use a make it real easy, we're going to use a simple curl command. Here you could see simple curl command. Here you could see simple curl command. Here you could see we are using the curl command and we are we are using the curl command and we are we are using the curl command and we are going to create the Python or copy party going to create the Python or copy party going to create the Python or copy party sfx. py and we're going to pull it sfx. py and we're going to pull it sfx. py and we're going to pull it directly from their GitHub repository.

  5. directly from their GitHub repository. directly from their GitHub repository. So if I hit enter again, it's just a So if I hit enter again, it's just a So if I hit enter again, it's just a single Python file. You can see 1.1 single Python file. You can see 1.1 single Python file. You can see 1.1 megabytes. So comically lightweight and megabytes. So comically lightweight and megabytes. So comically lightweight and from there we're going to need to make from there we're going to need to make from there we're going to need to make it ex executable. So that is a simple it ex executable. So that is a simple it ex executable. So that is a simple chod command giving it the uh 755 chod command giving it the uh 755 chod command giving it the uh 755 permission being that seven your actual permission being that seven your actual permission being that seven your actual user is going to be able to read write user is going to be able to read write user is going to be able to read write and execute it. So let's hit enter. and execute it. So let's hit enter. and execute it. So let's hit enter. There we go. And just make sure every There we go. And just make sure every There we go. And just make sure every and just make sure everything and just and just make sure everything and just and just make sure everything and just make sure everything looks good. We make sure everything looks good. We make sure everything looks good. We could run Python 3 pointed at that file could run Python 3 pointed at that file could run Python 3 pointed at that file and get the version. What you can see and get the version. What you can see and get the version. What you can see here we are running copy party version here we are running copy party version here we are running copy party version 1.20. When I say run it, we're not 1.20. When I say run it, we're not 1.20. When I say run it, we're not really running it yet. We just check the really running it yet. We just check the really running it yet. We just check the permission. So now, Copy Party is going permission. So now, Copy Party is going permission. So now, Copy Party is going to take a very simple configuration to take a very simple configuration to take a very simple configuration file. And we're going to put this in our file. And we're going to put this in our file. And we're going to put this in our config folder. So, let's see if I config folder. So, let's see if I config folder. So, let's see if I already have one. I should, which I do. already have one. I should, which I do. already have one. I should, which I do. Oh, I already played with copy party on Oh, I already played with copy party on Oh, I already played with copy party on this machine. Let's nuke it. That was a this machine. Let's nuke it. That was a this machine. Let's nuke it. That was a while ago. There we go. Now, we're while ago. There we go. Now, we're while ago. There we go. Now, we're starting fresh. Let's make a directory starting fresh. Let's make a directory starting fresh. Let's make a directory called copy party. CD in there. And then called copy party. CD in there. And then called copy party. CD in there. And then we're just going to nano to make or or we're just going to nano to make or or we're just going to nano to make or or vim. You can use vim, don't worry. a vim. You can use vim, don't worry. a vim. You can use vim, don't worry. a simple copy party. file. Now, new file.

  6. simple copy party. file. Now, new file. simple copy party. file. Now, new file. What we're going to want to do is drop What we're going to want to do is drop What we're going to want to do is drop in this basic configuration here. It's in this basic configuration here. It's in this basic configuration here. It's doing a couple different things. First, doing a couple different things. First, doing a couple different things. First, up here under global, we have this set up here under global, we have this set up here under global, we have this set as 0 0 0. That is because I want to be as 0 0 0. That is because I want to be as 0 0 0. That is because I want to be able to access it anywhere on my LAN. Do able to access it anywhere on my LAN. Do able to access it anywhere on my LAN. Do note, do not open this port if you're note, do not open this port if you're note, do not open this port if you're doing this. That is very not secure. You doing this. That is very not secure. You doing this. That is very not secure. You should not be port forwarding this. Bad should not be port forwarding this. Bad should not be port forwarding this. Bad idea. Like I mentioned, 3923 is the idea. Like I mentioned, 3923 is the idea. Like I mentioned, 3923 is the port. We have a name here, home file port. We have a name here, home file port. We have a name here, home file server. Uh I'm going to call this Fedora server. Uh I'm going to call this Fedora server. Uh I'm going to call this Fedora desktop files. No robots shouldn't be desktop files. No robots shouldn't be desktop files. No robots shouldn't be necessary because I'm not actually going necessary because I'm not actually going necessary because I'm not actually going to uh have it on the open internet, but to uh have it on the open internet, but to uh have it on the open internet, but we'll leave it there. And then down we'll leave it there. And then down we'll leave it there. And then down here, this first bracket is the volume here, this first bracket is the volume here, this first bracket is the volume selection. So the single little forward selection. So the single little forward selection. So the single little forward slash in the brackets means this is your slash in the brackets means this is your slash in the brackets means this is your root directory within Copy Party. For root directory within Copy Party. For root directory within Copy Party. For the path, I'm going with the entire home the path, I'm going with the entire home the path, I'm going with the entire home directory. And this R with a star means directory. And this R with a star means directory. And this R with a star means everybody, even if you're not signed in, everybody, even if you're not signed in, everybody, even if you're not signed in, gets read permissions. So, I could gets read permissions. So, I could gets read permissions. So, I could quickly grab a file or something without quickly grab a file or something without quickly grab a file or something without having to log in. We don't need that. having to log in. We don't need that. having to log in. We don't need that. The two things you may change here is The two things you may change here is The two things you may change here is the actual like bind IP address as well the actual like bind IP address as well the actual like bind IP address as well as the actual files, but we'll come back as the actual files, but we'll come back as the actual files, but we'll come back to that in just a little bit. Now, to that in just a little bit. Now, to that in just a little bit. Now, before we actually run this as a before we actually run this as a before we actually run this as a service, we're going to run it manually service, we're going to run it manually service, we're going to run it manually one time just to make sure that one time just to make sure that one time just to make sure that everything's looking good. So, you could everything's looking good. So, you could everything's looking good. So, you could do that with this Python 3 command here.

  7. do that with this Python 3 command here. do that with this Python 3 command here. and we're going to point it to our and we're going to point it to our and we're going to point it to our configuration file. So, if I hit enter, configuration file. So, if I hit enter, configuration file. So, if I hit enter, a that's what I get for being cheeky, a that's what I get for being cheeky, a that's what I get for being cheeky, adding that little cache symbol home. adding that little cache symbol home. adding that little cache symbol home. Let's go ahead and jump back into our Let's go ahead and jump back into our Let's go ahead and jump back into our configuration real quick. And we will configuration real quick. And we will configuration real quick. And we will just point this at our home directory just point this at our home directory just point this at our home directory like this. Home. Brandon, obviously like this. Home. Brandon, obviously like this. Home. Brandon, obviously replacing Brandon with whatever yours replacing Brandon with whatever yours replacing Brandon with whatever yours is. So now, if I try to run that again, is. So now, if I try to run that again, is. So now, if I try to run that again, you can see, hey, we're running. We're you can see, hey, we're running. We're you can see, hey, we're running. We're up. We're going. We're moving. And I up. We're going. We're moving. And I up. We're going. We're moving. And I should be able to just run this as a should be able to just run this as a should be able to just run this as a localhost 3923. localhost 3923. localhost 3923. Yep, there it is. And you saw some Yep, there it is. And you saw some Yep, there it is. And you saw some action over there. You could see I can action over there. You could see I can action over there. You could see I can see my whole home directory. So the see my whole home directory. So the see my whole home directory. So the service is good. We only have read only service is good. We only have read only service is good. We only have read only access right now, but we will adjust to access right now, but we will adjust to access right now, but we will adjust to that in just a sec. So let's close that that in just a sec. So let's close that that in just a sec. So let's close that out. Uh let's kill the service. So now out. Uh let's kill the service. So now out. Uh let's kill the service. So now we don't want to have to run that Python we don't want to have to run that Python we don't want to have to run that Python command every single time that we want command every single time that we want command every single time that we want our file server. I mean, unless if you our file server. I mean, unless if you our file server. I mean, unless if you do, then you could skip this chapter. do, then you could skip this chapter. do, then you could skip this chapter. What I'm going to do now is set up a What I'm going to do now is set up a What I'm going to do now is set up a persistent service with systemd. So it persistent service with systemd. So it persistent service with systemd. So it will be running. If my computer reboots, will be running. If my computer reboots, will be running. If my computer reboots, turns on, it's going to turn the file turns on, it's going to turn the file turns on, it's going to turn the file server on for me. So we are going to server on for me. So we are going to server on for me. So we are going to make a new directory in that config. And make a new directory in that config. And make a new directory in that config. And this is going to be systemd user. Hit this is going to be systemd user. Hit this is going to be systemd user. Hit enter. And then what I'm going to do is enter. And then what I'm going to do is enter. And then what I'm going to do is nano and point it to the folder that I nano and point it to the folder that I nano and point it to the folder that I just created. And we're going to call just created. And we're going to call just created. And we're going to call this uh copy party this uh copy party this uh copy party service. Just like that. And do note you service. Just like that. And do note you service. Just like that. And do note you could do this with other things too.

  8. could do this with other things too. could do this with other things too. Actually knowing and learning how to use Actually knowing and learning how to use Actually knowing and learning how to use systemd services is very helpful systemd services is very helpful systemd services is very helpful especially if you're uh kind of getting especially if you're uh kind of getting especially if you're uh kind of getting into the weeds with learning Linux and into the weeds with learning Linux and into the weeds with learning Linux and all that. It's something that is really all that. It's something that is really all that. It's something that is really nice especially when you start um doing nice especially when you start um doing nice especially when you start um doing other things like uh jellyfin as like other things like uh jellyfin as like other things like uh jellyfin as like non-doccker and stuff like that. It's non-doccker and stuff like that. It's non-doccker and stuff like that. It's it's good to know. So now I am going to it's good to know. So now I am going to it's good to know. So now I am going to drop in this configuration right here. drop in this configuration right here. drop in this configuration right here. And do know as you saw when we created And do know as you saw when we created And do know as you saw when we created the folder this lives in your user the folder this lives in your user the folder this lives in your user systemd directory. So there's no root systemd directory. So there's no root systemd directory. So there's no root privileges or anything like that which privileges or anything like that which privileges or anything like that which is secure by design. You could is secure by design. You could is secure by design. You could technically do all this as root. Would technically do all this as root. Would technically do all this as root. Would not recommend that. But you can see here not recommend that. But you can see here not recommend that. But you can see here we have some informative stuff we have some informative stuff we have some informative stuff description documentation. If we go down description documentation. If we go down description documentation. If we go down here to the actual service it's a simple here to the actual service it's a simple here to the actual service it's a simple service. The working directory is our service. The working directory is our service. The working directory is our home directory and we are executing home directory and we are executing home directory and we are executing Python pointing at the actual location Python pointing at the actual location Python pointing at the actual location of the Python bin and we're pointing of the Python bin and we're pointing of the Python bin and we're pointing that to the Python file that is in our that to the Python file that is in our that to the Python file that is in our uh local directory that we installed uh local directory that we installed uh local directory that we installed that in. And that is of course attaching that in. And that is of course attaching that in. And that is of course attaching that config we created. So you can see that config we created. So you can see that config we created. So you can see you can completely edit where the you can completely edit where the you can completely edit where the service is. So if you want this in a service is. So if you want this in a service is. So if you want this in a completely different location, you have completely different location, you have completely different location, you have different kind of methodology or different kind of methodology or different kind of methodology or organization to how you install organization to how you install organization to how you install services. Put it where you want. Restart services. Put it where you want. Restart services. Put it where you want. Restart on failure restart five. Actually let's on failure restart five. Actually let's on failure restart five. Actually let's go in here. Let's not have the same go in here. Let's not have the same go in here. Let's not have the same error we just had. Let's put in our error we just had. Let's put in our error we just had. Let's put in our actual home directory right here. And on actual home directory right here. And on actual home directory right here. And on the one for the config. There we go. And the one for the config. There we go. And the one for the config. There we go. And then our uh working directory here as then our uh working directory here as then our uh working directory here as well. So, home Brandon output that and well. So, home Brandon output that and well. So, home Brandon output that and then we're going to close it. And then then we're going to close it. And then then we're going to close it. And then from there, we are going to reload our from there, we are going to reload our from there, we are going to reload our Damon for systemctl. You may notice that

  9. Damon for systemctl. You may notice that Damon for systemctl. You may notice that we're not using pseudo because we're we're not using pseudo because we're we're not using pseudo because we're running this as a uh actual user running this as a uh actual user running this as a uh actual user service, which is nice. So, reload it. service, which is nice. So, reload it. service, which is nice. So, reload it. And then we're going to want to systemct And then we're going to want to systemct And then we're going to want to systemct user enable right now the copy party user enable right now the copy party user enable right now the copy party service. So, hit enter. There we go. No service. So, hit enter. There we go. No service. So, hit enter. There we go. No errors or anything like that. That's errors or anything like that. That's errors or anything like that. That's nice. And then of course we can actually nice. And then of course we can actually nice. And then of course we can actually check up on our service by typing in check up on our service by typing in check up on our service by typing in status like that. And you can see we are status like that. And you can see we are status like that. And you can see we are running. We're good. And this is a fun running. We're good. And this is a fun running. We're good. And this is a fun little command just to make sure that little command just to make sure that little command just to make sure that it's working exactly how we want it to. it's working exactly how we want it to. it's working exactly how we want it to. If I hit enter, you could see that we're If I hit enter, you could see that we're If I hit enter, you could see that we're currently running copy party service as currently running copy party service as currently running copy party service as my user with the proper permissions. my user with the proper permissions. my user with the proper permissions. Now, one thing that we're going to touch Now, one thing that we're going to touch Now, one thing that we're going to touch on which is kind of cool is technically on which is kind of cool is technically on which is kind of cool is technically this user service is only going to run this user service is only going to run this user service is only going to run while I'm actually logged into the while I'm actually logged into the while I'm actually logged into the machine. So if I'm not actively logged machine. So if I'm not actively logged machine. So if I'm not actively logged in, let's say I'm on the login page, I'm in, let's say I'm on the login page, I'm in, let's say I'm on the login page, I'm somewhere else and I want to access the somewhere else and I want to access the somewhere else and I want to access the files, u I can't. So what we're going to files, u I can't. So what we're going to files, u I can't. So what we're going to do is something called a linger. It do is something called a linger. It do is something called a linger. It tells systemd to run the service even if tells systemd to run the service even if tells systemd to run the service even if you're not logged in. And we can check you're not logged in. And we can check you're not logged in. And we can check this. Make sure that we're going to be this. Make sure that we're going to be this. Make sure that we're going to be good to go. So login cl, do I have good to go. So login cl, do I have good to go. So login cl, do I have linger enabled? I do not have linger linger enabled? I do not have linger linger enabled? I do not have linger enabled. So this is going to require a enabled. So this is going to require a enabled. So this is going to require a pseudo command to login enable pseudo command to login enable pseudo command to login enable enable linger with my ID. So, hit enter.

  10. enable linger with my ID. So, hit enter. enable linger with my ID. So, hit enter. Type in my pseudo password. There we go. Type in my pseudo password. There we go. Type in my pseudo password. There we go. Run it again. And it's set to yes. So, Run it again. And it's set to yes. So, Run it again. And it's set to yes. So, now if my system reboots, I don't now if my system reboots, I don't now if my system reboots, I don't automatically get logged in. I'll still automatically get logged in. I'll still automatically get logged in. I'll still be able to access my files. Now, if be able to access my files. Now, if be able to access my files. Now, if you're running on Ubuntu, I'm pretty you're running on Ubuntu, I'm pretty you're running on Ubuntu, I'm pretty sure that the firewall is open by sure that the firewall is open by sure that the firewall is open by default. But if you do have your default. But if you do have your default. But if you do have your firewall uh strict, you're going to want firewall uh strict, you're going to want firewall uh strict, you're going to want to actually port uh open the port for to actually port uh open the port for to actually port uh open the port for this. For Fedora, we are going to want this. For Fedora, we are going to want this. For Fedora, we are going to want to do a firewall cmd add the port 3923. to do a firewall cmd add the port 3923. to do a firewall cmd add the port 3923. This is TCP. And we're going to set this This is TCP. And we're going to set this This is TCP. And we're going to set this up as permanent. It was success. I I up as permanent. It was success. I I up as permanent. It was success. I I already have it enabled, but that's the already have it enabled, but that's the already have it enabled, but that's the command that you're going to want. I command that you're going to want. I command that you're going to want. I already had it enabled, so it shouldn't already had it enabled, so it shouldn't already had it enabled, so it shouldn't matter. But if you need to reload, it's matter. But if you need to reload, it's matter. But if you need to reload, it's just that command there. You could just that command there. You could just that command there. You could always run a query port just to see if always run a query port just to see if always run a query port just to see if it's actually enabled. And if you're on it's actually enabled. And if you're on it's actually enabled. And if you're on Ubuntu and you have a pro and if you're Ubuntu and you have a pro and if you're Ubuntu and you have a pro and if you're on Ubuntu, you have problem accessing on Ubuntu, you have problem accessing on Ubuntu, you have problem accessing this from a different device on your this from a different device on your this from a different device on your LAN. Uh, in that case, it's going to be LAN. Uh, in that case, it's going to be LAN. Uh, in that case, it's going to be a pseudo UFW a pseudo UFW a pseudo UFW allow 3923 allow 3923 allow 3923 TCP just like that. But it's not going TCP just like that. But it's not going TCP just like that. But it's not going to work for me. So, we could check if to work for me. So, we could check if to work for me. So, we could check if we're listening. You could see we are in we're listening. You could see we are in we're listening. You could see we are in fact listening and it's at 000000. If fact listening and it's at 000000. If fact listening and it's at 000000. If this says something else, you might have this says something else, you might have this says something else, you might have trouble accessing it on other devices in trouble accessing it on other devices in trouble accessing it on other devices in which you'd want to go and edit your which you'd want to go and edit your which you'd want to go and edit your configuration. And real quick, I'm going configuration. And real quick, I'm going configuration. And real quick, I'm going to check and make sure that this is to check and make sure that this is to check and make sure that this is enabled on my LAN. This is my LAN IP, enabled on my LAN. This is my LAN IP, enabled on my LAN. This is my LAN IP, which will you look at that I'm in. Now, which will you look at that I'm in. Now, which will you look at that I'm in. Now, real quick, I want kind of want to talk real quick, I want kind of want to talk real quick, I want kind of want to talk about making it your own. So, what we're about making it your own. So, what we're about making it your own. So, what we're going to do is jump back into the going to do is jump back into the going to do is jump back into the configuration not for systemd. There it configuration not for systemd. There it configuration not for systemd. There it is. Our copy party conf. So there's is. Our copy party conf. So there's is. Our copy party conf. So there's really not a lot going on here right really not a lot going on here right really not a lot going on here right now. One, if you're not um exposing your

  11. now. One, if you're not um exposing your now. One, if you're not um exposing your entire home directory or you kind of entire home directory or you kind of entire home directory or you kind of want to customize this a little bit, want to customize this a little bit, want to customize this a little bit, something you could do, for example, is something you could do, for example, is something you could do, for example, is point it to other directories. So if you point it to other directories. So if you point it to other directories. So if you had, let's say, uh amount data or had, let's say, uh amount data or had, let's say, uh amount data or something like that that you have access something like that that you have access something like that that you have access to, you could point it there. And it's to, you could point it there. And it's to, you could point it there. And it's kind of like Docker in the way that like kind of like Docker in the way that like kind of like Docker in the way that like if I did data like that and then if it if I did data like that and then if it if I did data like that and then if it were actually in my mount data, that's were actually in my mount data, that's were actually in my mount data, that's kind of how you would point things to kind of how you would point things to kind of how you would point things to it. Of course, after giving it access. it. Of course, after giving it access. it. Of course, after giving it access. Uh for this instance, my home directory Uh for this instance, my home directory Uh for this instance, my home directory is going to be all I need, but you could is going to be all I need, but you could is going to be all I need, but you could really customize the folder schemes and really customize the folder schemes and really customize the folder schemes and how everything actually looks through how everything actually looks through how everything actually looks through the uh copy party instance. Now, what we the uh copy party instance. Now, what we the uh copy party instance. Now, what we are going to go do is actually add a are going to go do is actually add a are going to go do is actually add a user account and make it so we can user account and make it so we can user account and make it so we can upload files and all the things that upload files and all the things that upload files and all the things that you're going to actually want to do with you're going to actually want to do with you're going to actually want to do with the file server because as you can see the file server because as you can see the file server because as you can see right here, it's only read only. So, right here, it's only read only. So, right here, it's only read only. So, what we're going to want to do is what we're going to want to do is what we're going to want to do is actually make a new thing here and we're actually make a new thing here and we're actually make a new thing here and we're going to call this accounts. So, for going to call this accounts. So, for going to call this accounts. So, for this, I would want to make an account this, I would want to make an account this, I would want to make an account for myself. And then you're going to for myself. And then you're going to for myself. And then you're going to want to give it a pretty decent want to give it a pretty decent want to give it a pretty decent password. I'm going to make it super password. I'm going to make it super password. I'm going to make it super secure. We're going to go with password secure. We're going to go with password secure. We're going to go with password one. You might want to make it a little one. You might want to make it a little one. You might want to make it a little bit more complicated than that for your bit more complicated than that for your bit more complicated than that for your specific setup. And then for this one, specific setup. And then for this one, specific setup. And then for this one, we're going to want to give that account we're going to want to give that account we're going to want to give that account some access. So, this is going to be uh some access. So, this is going to be uh some access. So, this is going to be uh not the account first. We're going to do not the account first. We're going to do not the account first. We're going to do read, write, move, and delete. So, those read, write, move, and delete. So, those read, write, move, and delete. So, those are the kind of flags for file are the kind of flags for file are the kind of flags for file permissions that are available. And then permissions that are available. And then permissions that are available. And then I'm gonna give that permission to the I'm gonna give that permission to the I'm gonna give that permission to the account Brandon. And you could create account Brandon. And you could create account Brandon. And you could create multiple accounts, give them different multiple accounts, give them different multiple accounts, give them different permissions, all that kind of stuff. So permissions, all that kind of stuff. So permissions, all that kind of stuff. So like for example, if I wanted to get like for example, if I wanted to get like for example, if I wanted to get real specific here, I can like make a real specific here, I can like make a real specific here, I can like make a new account called uh uploader, give it

  12. new account called uh uploader, give it new account called uh uploader, give it its own strong password. And then I its own strong password. And then I its own strong password. And then I could add it over here as only read could add it over here as only read could add it over here as only read write and then that would be the uh write and then that would be the uh write and then that would be the uh uploader. Or if I wanted to get real uploader. Or if I wanted to get real uploader. Or if I wanted to get real isolated, I could point this to a isolated, I could point this to a isolated, I could point this to a uploads directory. Actually point that uploads directory. Actually point that uploads directory. Actually point that to something like my um home Brandon to something like my um home Brandon to something like my um home Brandon uploads. It doesn't exist, but we would uploads. It doesn't exist, but we would uploads. It doesn't exist, but we would obviously make it. And then acc obviously make it. And then acc obviously make it. And then acc you. So now this one user would only you. So now this one user would only you. So now this one user would only have access to read and write this have access to read and write this have access to read and write this uploads folder here. Or everybody has uploads folder here. Or everybody has uploads folder here. Or everybody has access for this. But if this one user, access for this. But if this one user, access for this. But if this one user, you get the point. you you have some you get the point. you you have some you get the point. you you have some control over what's going on, but I control over what's going on, but I control over what's going on, but I don't want to do that. All of this looks don't want to do that. All of this looks don't want to do that. All of this looks good. Let's go ahead and output that. good. Let's go ahead and output that. good. Let's go ahead and output that. Close it out. Then we could do a Close it out. Then we could do a Close it out. Then we could do a systemctl systemctl systemctl user restart copy party service. There user restart copy party service. There user restart copy party service. There we go. So here we bring this in since we we go. So here we bring this in since we we go. So here we bring this in since we have that default user. You can see we have that default user. You can see we have that default user. You can see we have read access only. But if I go ahead have read access only. But if I go ahead have read access only. But if I go ahead and click on login, type in our and click on login, type in our and click on login, type in our password. Password one. You may notice password. Password one. You may notice password. Password one. You may notice it doesn't ask for the user. I'm pretty it doesn't ask for the user. I'm pretty it doesn't ask for the user. I'm pretty sure it just bases that off the sure it just bases that off the sure it just bases that off the password. So, it says would it recognize password. So, it says would it recognize password. So, it says would it recognize that that's my password and we're in.

  13. that that's my password and we're in. that that's my password and we're in. Now, we could do things. We could do fun Now, we could do things. We could do fun Now, we could do things. We could do fun stuff. I'm on the machine this is hosted stuff. I'm on the machine this is hosted stuff. I'm on the machine this is hosted on. So, it doesn't really make sense for on. So, it doesn't really make sense for on. So, it doesn't really make sense for me to upload anything. But then from me to upload anything. But then from me to upload anything. But then from there, it's really easy to go and there, it's really easy to go and there, it's really easy to go and actually play media. You can see that actually play media. You can see that actually play media. You can see that video player. Nice. Good to go. If I video player. Nice. Good to go. If I video player. Nice. Good to go. If I close that out, right click on close that out, right click on close that out, right click on something, bunch of options, but that's something, bunch of options, but that's something, bunch of options, but that's more of the kind of feature set. And if more of the kind of feature set. And if more of the kind of feature set. And if you right click, actually, you see over you right click, actually, you see over you right click, actually, you see over here we have a whole another toolbar here we have a whole another toolbar here we have a whole another toolbar where you can zip things. It can do a where you can zip things. It can do a where you can zip things. It can do a lot. But essentially for users, if I lot. But essentially for users, if I lot. But essentially for users, if I wasn't clear enough, the star is wasn't clear enough, the star is wasn't clear enough, the star is everybody and then more access is everybody and then more access is everybody and then more access is whatever users you want to give that whatever users you want to give that whatever users you want to give that access to. So what I'm going to do from access to. So what I'm going to do from access to. So what I'm going to do from here is I'm going to leave a link to a here is I'm going to leave a link to a here is I'm going to leave a link to a video down below going over some of the video down below going over some of the video down below going over some of the actual UI features and everything like actual UI features and everything like actual UI features and everything like that when it comes to Copy Party. Do that when it comes to Copy Party. Do that when it comes to Copy Party. Do spend some time kind of exploring and spend some time kind of exploring and spend some time kind of exploring and figuring out some of its capabilities figuring out some of its capabilities figuring out some of its capabilities cuz it really can do a lot. I'm just cuz it really can do a lot. I'm just cuz it really can do a lot. I'm just really impressed with how small of a really impressed with how small of a really impressed with how small of a package it is with the functionality package it is with the functionality package it is with the functionality that it has. Comically lightweight. I that it has. Comically lightweight. I that it has. Comically lightweight. I absolutely love it and it's not trying absolutely love it and it's not trying absolutely love it and it's not trying to replace like NexCloud uh synth thing to replace like NexCloud uh synth thing to replace like NexCloud uh synth thing or anything like that. It's not a cloud. or anything like that. It's not a cloud. or anything like that. It's not a cloud. It's not a sync platform. It's one of It's not a sync platform. It's one of It's not a sync platform. It's one of the fastest ways possible to actually the fastest ways possible to actually the fastest ways possible to actually access files on servers, other access files on servers, other access files on servers, other computers, and just have a really nice computers, and just have a really nice computers, and just have a really nice interface to go ahead and do it. Running interface to go ahead and do it. Running interface to go ahead and do it. Running it like this as a systemd service just it like this as a systemd service just it like this as a systemd service just keeps it as simple as it needs to be.

  14. keeps it as simple as it needs to be. keeps it as simple as it needs to be. You have your files, your permissions, You have your files, your permissions, You have your files, your permissions, one config, one Python file, one one config, one Python file, one one config, one Python file, one service, and that's it. Now, I'm really service, and that's it. Now, I'm really service, and that's it. Now, I'm really curious. Are you using this? Are you curious. Are you using this? Are you curious. Are you using this? Are you using something like this? Are you going using something like this? Are you going using something like this? Are you going to ditch what you're currently using to to ditch what you're currently using to to ditch what you're currently using to use something like this? What are you use something like this? What are you use something like this? What are you running to access your files? Is some running to access your files? Is some running to access your files? Is some good old uh NFS or SMB just good enough good old uh NFS or SMB just good enough good old uh NFS or SMB just good enough for you? Or do you want something like for you? Or do you want something like for you? Or do you want something like this like how I like it? Overall, this this like how I like it? Overall, this this like how I like it? Overall, this has definitely earned a spot in my home has definitely earned a spot in my home has definitely earned a spot in my home lab and I'm probably going to start lab and I'm probably going to start lab and I'm probably going to start utilizing in basically every headless utilizing in basically every headless utilizing in basically every headless device that I have. But yeah, it's device that I have. But yeah, it's device that I have. But yeah, it's awesome. The very last thing that I want awesome. The very last thing that I want awesome. The very last thing that I want to do is give myself remote access. Now, to do is give myself remote access. Now, to do is give myself remote access. Now, there is a number of ways to do this. I there is a number of ways to do this. I there is a number of ways to do this. I don't recommend port forwarding. you're don't recommend port forwarding. you're don't recommend port forwarding. you're going to want to use a VPN with an going to want to use a VPN with an going to want to use a VPN with an encrypted tunnel. There are options. encrypted tunnel. There are options. encrypted tunnel. There are options. There is Tail Scale, which is very There is Tail Scale, which is very There is Tail Scale, which is very popular. There's Twate and there's Net popular. There's Twate and there's Net popular. There's Twate and there's Net Bird. If you can't tell, I have a uh a Bird. If you can't tell, I have a uh a Bird. If you can't tell, I have a uh a slight bias towards Netbird. Completely slight bias towards Netbird. Completely slight bias towards Netbird. Completely open source, self-hostable. Uh I could open source, self-hostable. Uh I could open source, self-hostable. Uh I could sell it all day, but we're just going to sell it all day, but we're just going to sell it all day, but we're just going to go ahead and set it up. I already have go ahead and set it up. I already have go ahead and set it up. I already have Netbird installed. Let's go. Netbird up.

  15. Netbird installed. Let's go. Netbird up. Netbird installed. Let's go. Netbird up. We are connected. Netbird status. There We are connected. Netbird status. There We are connected. Netbird status. There we go. We are connected to my we go. We are connected to my we go. We are connected to my self-hosted instance. So there there's a self-hosted instance. So there there's a self-hosted instance. So there there's a number of ways to use NetBird. Uh I number of ways to use NetBird. Uh I number of ways to use NetBird. Uh I already have this machine on here. Um if already have this machine on here. Um if already have this machine on here. Um if I go over to my access control policies, I go over to my access control policies, I go over to my access control policies, I could go ahead and make like a I could go ahead and make like a I could go ahead and make like a specific policy for this if I want to. specific policy for this if I want to. specific policy for this if I want to. So for example, admins give myself So for example, admins give myself So for example, admins give myself access to a specific Fedora machine, access to a specific Fedora machine, access to a specific Fedora machine, which is the machine this is running on. which is the machine this is running on. which is the machine this is running on. Maybe want TCP only with the proper port Maybe want TCP only with the proper port Maybe want TCP only with the proper port of 3923. of 3923. of 3923. Hit enter. There we go. Continue. You Hit enter. There we go. Continue. You Hit enter. There we go. Continue. You could add posture checks if you want to, could add posture checks if you want to, could add posture checks if you want to, which really do a lot, but I don't need which really do a lot, but I don't need which really do a lot, but I don't need it in this case. Continue. This is my it in this case. Continue. This is my it in this case. Continue. This is my admin to Fedora desktop files. So, we admin to Fedora desktop files. So, we admin to Fedora desktop files. So, we can add that policy. So, now what I can add that policy. So, now what I can add that policy. So, now what I could do since I'm connected, if I go could do since I'm connected, if I go could do since I'm connected, if I go over to my peers, this is my Fedora box. over to my peers, this is my Fedora box. over to my peers, this is my Fedora box. So, if I just copy this Netbird IP So, if I just copy this Netbird IP So, if I just copy this Netbird IP address, I can go directly to it this address, I can go directly to it this address, I can go directly to it this way. 3923. way. 3923. way. 3923. So, see, I have access. It's encrypted So, see, I have access. It's encrypted So, see, I have access. It's encrypted peer-to-peer. So, if I was offsite, that peer-to-peer. So, if I was offsite, that peer-to-peer. So, if I was offsite, that would work fine. And I'm pretty sure I would work fine. And I'm pretty sure I would work fine. And I'm pretty sure I have the Fedora name right here. Didn't have the Fedora name right here. Didn't have the Fedora name right here. Didn't need to copy that. I could just type it.

  16. need to copy that. I could just type it. need to copy that. I could just type it. Fedora. There you go. I have access all Fedora. There you go. I have access all Fedora. There you go. I have access all through Netbird. It's beautiful. It through Netbird. It's beautiful. It through Netbird. It's beautiful. It works really nice. But let's say I want works really nice. But let's say I want works really nice. But let's say I want some HTTPS. I'm going to use the reverse some HTTPS. I'm going to use the reverse some HTTPS. I'm going to use the reverse proxy. Now, while I'm using the reverse proxy. Now, while I'm using the reverse proxy. Now, while I'm using the reverse proxy, I don't actually want to proxy proxy, I don't actually want to proxy proxy, I don't actually want to proxy this service out to the public internet. this service out to the public internet. this service out to the public internet. And that's where private services comes And that's where private services comes And that's where private services comes in. So, reverse proxy services. I can go in. So, reverse proxy services. I can go in. So, reverse proxy services. I can go ahead and add a new service. This one ahead and add a new service. This one ahead and add a new service. This one I'm going to call uh cp- I'm going to call uh cp- I'm going to call uh cp- uh let's do something creative. Blue uh let's do something creative. Blue uh let's do something creative. Blue box. This is my blue box. Fedora box box. This is my blue box. Fedora box box. This is my blue box. Fedora box because I'm accessing the files. This because I'm accessing the files. This because I'm accessing the files. This can be an HTTPS service cuz we want a can be an HTTPS service cuz we want a can be an HTTPS service cuz we want a certificate. This is going to be with certificate. This is going to be with certificate. This is going to be with our uh Fedora pier which is right here. our uh Fedora pier which is right here. our uh Fedora pier which is right here. I could select a network resource and I could select a network resource and I could select a network resource and then this would work. If I didn't even then this would work. If I didn't even then this would work. If I didn't even have Netbird installed on here, I would have Netbird installed on here, I would have Netbird installed on here, I would just need Netbird somewhere on my LAN, just need Netbird somewhere on my LAN, just need Netbird somewhere on my LAN, but I'm just going to select the pier but I'm just going to select the pier but I'm just going to select the pier directly. And this is 3923. directly. And this is 3923. directly. And this is 3923. That add the target. Continue. And now That add the target. Continue. And now That add the target. Continue. And now for authentication, there's a lot of for authentication, there's a lot of for authentication, there's a lot of different options. So just to kind of different options. So just to kind of different options. So just to kind of demo this real quick. Um let's say we demo this real quick. Um let's say we demo this real quick. Um let's say we wanted a PIN code. Uh 1111. Super wanted a PIN code. Uh 1111. Super wanted a PIN code. Uh 1111. Super secure. Add PIN. Continue. You got some secure. Add PIN. Continue. You got some secure. Add PIN. Continue. You got some crowdsecers.

  17. crowdsecers. crowdsecers. Add the service. So now if I'm anywhere Add the service. So now if I'm anywhere Add the service. So now if I'm anywhere in the world, technically I could go uh in the world, technically I could go uh in the world, technically I could go uh after the certificate's issued. There we after the certificate's issued. There we after the certificate's issued. There we go. Open it up. It's going to ask for a go. Open it up. It's going to ask for a go. Open it up. It's going to ask for a password. and we can access it this way. password. and we can access it this way. password. and we can access it this way. Um, I'm still not completely comfortable Um, I'm still not completely comfortable Um, I'm still not completely comfortable with that. So, what I'm going to do is with that. So, what I'm going to do is with that. So, what I'm going to do is make it private services only. So, if I make it private services only. So, if I make it private services only. So, if I actually go and edit this under access actually go and edit this under access actually go and edit this under access control or authentication, uh, I am control or authentication, uh, I am control or authentication, uh, I am going to remove the password and we're going to remove the password and we're going to remove the password and we're going to add netbird only access. So, going to add netbird only access. So, going to add netbird only access. So, what this will do is it will ensure that what this will do is it will ensure that what this will do is it will ensure that I'm actually authenticated with my I'm actually authenticated with my I'm actually authenticated with my client before it gives me access, client before it gives me access, client before it gives me access, meaning it's netbird only. Basically, meaning it's netbird only. Basically, meaning it's netbird only. Basically, making it no longer public. So if we making it no longer public. So if we making it no longer public. So if we save that, there we go. Now I will still save that, there we go. Now I will still save that, there we go. Now I will still be able to access it right here all uh be able to access it right here all uh be able to access it right here all uh with all with the uh proper TLS and all with all with the uh proper TLS and all with all with the uh proper TLS and all that. But do note if I run a NetBird that. But do note if I run a NetBird that. But do note if I run a NetBird down, I'm disconnected from my NetBird down, I'm disconnected from my NetBird down, I'm disconnected from my NetBird mesh. So if I try to access this again, mesh. So if I try to access this again, mesh. So if I try to access this again, it's just going to stall out and fail. it's just going to stall out and fail. it's just going to stall out and fail. So just a little tidbit on remote access So just a little tidbit on remote access So just a little tidbit on remote access if that's something you're interested if that's something you're interested if that's something you're interested in. I have a separate video on NetBird in. I have a separate video on NetBird in. I have a separate video on NetBird if you're interested in checking that if you're interested in checking that if you're interested in checking that out and getting it up and running. And out and getting it up and running. And out and getting it up and running. And of course, I'll link down below to um of course, I'll link down below to um of course, I'll link down below to um and of course I'll link down below to my and of course I'll link down below to my and of course I'll link down below to my website where there'll be documentation.

  18. website where there'll be documentation. website where there'll be documentation. You can copy and paste commands, kind of You can copy and paste commands, kind of You can copy and paste commands, kind of explains what the commands are and all explains what the commands are and all explains what the commands are and all that. So with all that, I do hope you that. So with all that, I do hope you that. So with all that, I do hope you have an absolutely beautiful day. Check have an absolutely beautiful day. Check have an absolutely beautiful day. Check out Code Rabbit and goodbye.

Summary

This tech analysis highlights Copy Party, a single Python file file server offering drag-and-drop uploads, a built-in markdown viewer and editor, and powerful resuming uploads, all without Docker or big tech accounts. The practical takeaway is that this approach provides a simpler, more efficient, and private way to manage files locally, even for large files, with a UI that some find reminiscent of torrent clients.

View original episode ↗