The $0 Home Server

Kalos Likes Computers
25 Sept 202316:52

Summary

TLDRIn this informative guide, Chris Kalos demonstrates how to repurpose an old laptop into a multi-functional home server without any cost. The video covers the installation of Ubuntu Server LTS, setting up network storage with Samba, creating a media server with Jellyfin, establishing a VPN with Wireguard, and enabling remote access via wake-on-LAN. By following these steps, viewers can transform their outdated hardware into a valuable resource for network storage, media streaming, and secure remote connectivity.

Takeaways

  • 🌐 Transforming an old laptop into a home server can give it a new lease on life without any additional cost.
  • 💡 The minimum requirement for a home server is a 64-bit processor, with recommended 2 GB of RAM or more.
  • 🔄 Ubuntu Server LTS is recommended as the operating system for this home server setup due to its support and compatibility.
  • 🔒 Security is enhanced by reserving the local IP address of the home server in the router's DHCP settings.
  • 📂 Samba can be installed to create network storage, allowing other devices to access the server's files easily.
  • 🎥 Jellyfin can turn the server into a personal media server, organizing and streaming movies and shows within the home network.
  • 🔐 Wireguard sets up a VPN connection, enabling secure access to the home network from anywhere in the world.
  • 🔄 Dynamic DNS, like DuckDNS, is used to maintain a consistent web address for the home server despite a changing public IP address.
  • 🌐 Port forwarding in the router is necessary to allow external access to services like the VPN.
  • 🖥️ Wake-on-LAN allows the home server to remotely wake up a PC on the network from a powered-down state.
  • 📱 Siri Shortcuts or Android apps like Tasker can be used to trigger Wake-on-LAN from a mobile device.

Q & A

  • What is the main purpose of the video?

    -The main purpose of the video is to show viewers how to repurpose an old laptop into a home server that can perform various tasks such as hosting a personal media server, providing network storage, and setting up a VPN.

  • What are the minimum system requirements for setting up a home server as described in the video?

    -The minimum requirement is a 64-bit processor. It is recommended to have more than 2 GB of RAM, but it's not a strict requirement.

  • Which operating system is recommended for setting up a home server in the video?

    -Ubuntu Server LTS is the recommended operating system for setting up a home server according to the video.

  • Why is it important to reserve the local IP address of the home server in the router's DHCP settings?

    -Reserving the local IP address ensures that the home server always has the same IP address, making it easier to access and set up various utilities and services on it.

  • What is Samba and how does it function in the context of the home server?

    -Samba is a free and open-source implementation of the Windows SMB protocol that allows network devices to connect seamlessly to any Windows machine, as well as macOS and Linux machines. It enables the use of the home server's storage as a network drive.

  • What is Jellyfin and how does it benefit the home server setup?

    -Jellyfin is a free and open-source media manager with a user-friendly interface similar to Netflix. It can detect metadata for movies, shows, and music, categorizing them for easy access and allowing users to create a personal media library that can be accessed from any device on the network.

  • What is Wireguard and how does it relate to the home server?

    -Wireguard is a free and open-source virtual private network software that allows the creation of a VPN to the home network. This enables users to route all their traffic through it, accessing the home server and its services from anywhere in the world.

  • How does one set up Wake-on-LAN for the home server?

    -Wake-on-LAN is set up by enabling the feature in the computer's UEFI or BIOS settings, allowing the Ethernet port to stay powered on and wake the computer from sleep or a powered-off state when a 'magic packet' is detected. This requires the computer's MAC address and the installation of the 'etherwake' package on the server.

  • What is the role of ISL Light in the video and how does it benefit users?

    -ISL Light is an affordable and feature-rich remote desktop suite that allows users to control remote machines with ease for their business. It supports connections from various platforms with end-to-end encryption and offers wake-on-LAN functionality, file transfer capabilities, and RDP support for Windows hosts.

  • What is the significance of Dynamic DNS in setting up the home server?

    -Dynamic DNS is used to create a domain or web address that always points to the public IP of the home network. This is important because home IP addresses often change periodically, and Dynamic DNS ensures that the network can always be addressable from the URL, facilitating the setup of a VPN.

  • How can users access their home server remotely when they are away from their local network?

    -Users can access their home server remotely by setting up Wireguard as a VPN and using the reserved local IP address or the Dynamic DNS domain. This allows them to connect to the server and its services, such as the media library, from anywhere in the world.

  • What is the final outcome of setting up the $0 Home Server as described in the video?

    -The final outcome is an old laptop transformed into a functional home server capable of serving as a VPN, a media server, and providing network storage for the entire house. This setup allows any computer on the network to mount network storage, access a hosted media library, and wake up other computers remotely using Wake-on-LAN.

Outlines

00:00

🌐 Introduction to the $0 Home Server

The video begins with the presenter, Chris Kalos, introducing the concept of repurposing an old laptop as a home server. He emphasizes the potential of using the device for various tasks such as hosting a personal media server, providing network storage, and setting up a VPN for the home network. The video is sponsored by ISL Online, which offers a remote desktop suite called ISL Light, highlighted for its affordability, security, and compatibility across multiple platforms. Chris then shares his personal experience with a 2009 IBM ThinkPad that he turned into a useful home server. He outlines the basic requirements for converting a computer into a home server, recommending Ubuntu Server LTS for its support and efficiency. The video guide includes instructions on how to install the server, configure it for constant use, and set up essential utilities like Samba for network storage, Jellyfin for media server functionality, Wireguard for VPN access, and wake-on-LAN for remote access. The importance of reserving a local IP address for the server in the router's DHCP settings is also discussed to ensure consistent access to the server.

05:01

📂 Setting Up Network Storage with Samba

In this paragraph, Chris Kalos explains how to utilize the extra storage space on the home server as network storage accessible by other devices on the local network. He guides the viewers through the installation of Samba, a free and open-source implementation of the Windows SMB protocol, which allows seamless connection between network devices and Windows machines, but also works with macOS and Linux. Chris provides instructions on creating a directory for the network drive, changing folder permissions, and editing the Samba configuration file. He also explains how to set up a Samba password and how to connect to the newly created network storage from a Windows PC and a Mac. The paragraph concludes with the idea of populating the network storage with media to create a personal database of legally acquired content.

10:01

🔐 Establishing a VPN with Wireguard

The paragraph focuses on setting up a VPN for the home network using Wireguard, a free and open-source virtual private network software. Chris Kalos clarifies that a VPN allows routing traffic from one network to another, making it appear as if the traffic originates from a different network. He guides the viewers through the process of setting up Dynamic DNS to ensure the network is always accessible through a domain, even if the public IP address changes. The video then covers port forwarding in the router settings, using PiVPN to install Wireguard on the home server, and configuring the VPN client. Chris also explains how to create a second VPN configuration that routes only local network traffic through the VPN, optimizing the connection speed for other internet activities. The paragraph concludes with a brief mention of how to test the VPN connection and access the Jellyfin media server from anywhere.

15:02

💡 Enabling Remote Access with Wake-on-LAN

The final paragraph of the video script is dedicated to the setup of wake-on-LAN, a feature that allows a computer to be remotely awakened from sleep or a powered-off state. Chris Kalos explains the process of enabling Wake-on-LAN in the computer's UEFI or BIOS settings and in the Device Manager on a Windows machine. He also guides the viewers on how to find the computer's MAC address and install the etherwake package on the home server. The paragraph concludes with instructions on creating Siri Shortcuts to remotely wake up the computer, adding a layer of convenience for users with iOS devices. The video ends with a recap of the setup, highlighting how the old laptop has been transformed into a multifunctional home server capable of serving as a VPN, media server, and network storage, and Chris invites viewers to explore more possibilities and stay updated with future content.

Mindmap

Keywords

💡Home Server

A home server is a computer that provides services, functions, or data to other devices over a local network. In the context of the video, the home server is an old laptop repurposed to serve as a central hub for various tasks such as hosting a media server, providing network storage, and facilitating VPN access. The server is set up with Ubuntu Server LTS and various utilities to enable these services.

💡Ubuntu Server LTS

Ubuntu Server LTS (Long Term Support) is a version of the Ubuntu operating system tailored for server environments. It is designed to be stable, secure, and well-supported, making it a popular choice for running home servers. The video highlights its use as the primary operating system for the home server setup, emphasizing its efficiency and the ease of installing necessary packages for the server's intended functions.

💡Samba

Samba is a free and open-source software suite that allows computers running Windows, macOS, and Linux to share files, printers, and other resources over a network. In the video, Samba is installed on the home server to create a network drive that can be accessed by other devices on the same network, enabling file sharing and backup capabilities.

💡Jellyfin

Jellyfin is a free and open-source media server software that organizes and streams media files like movies, TV shows, and music. It provides a user-friendly interface similar to Netflix, allowing users to access their media library from various devices. In the video, Jellyfin is set up on the home server to host a personal media server, making the media accessible throughout the home network and remotely via VPN.

💡Wireguard

Wireguard is a modern, open-source VPN (Virtual Private Network) software that enables secure access to a home network from remote locations. It is known for its simplicity, speed, and strong encryption. In the video, Wireguard is used to create a VPN connection, allowing the user to access their home server and its services from anywhere in the world.

💡Dynamic DNS

Dynamic DNS (Domain Name System) is a service that maps a dynamic, changing IP address to a constant domain name. This is particularly useful when setting up VPNs or remote access services, as it allows users to connect to their home network using a simple web address, even if the underlying IP address changes frequently. In the video, Dynamic DNS is set up with DuckDNS to ensure that the home server can be reached via a consistent domain name regardless of the public IP address changes.

💡Port Forwarding

Port forwarding is a network security measure that allows external access to a specific service on an internal network by directing incoming traffic to a different IP address and port number than those the external user initially accessed. In the context of the video, port forwarding is used to allow external devices to connect to the home server's VPN software, Wireguard, over the internet.

💡PiVPN

PiVPN is a utility designed to simplify the installation and management of VPN services, originally intended for Raspberry Pi devices but also compatible with other systems running Debian or Ubuntu. In the video, PiVPN is used to set up Wireguard on the home server, allowing for easy VPN client generation and management.

💡Wake-on-LAN

Wake-on-LAN is a protocol that allows a computer to be turned on or awakened from sleep mode by sending a 'magic packet' over the network. This feature is useful for remotely accessing and managing computers without needing to be physically present. In the video, Wake-on-LAN is set up to enable the user to wake their main computer from anywhere using an Ethernet connection and a Siri Shortcut.

💡Remote Desktop

Remote desktop is a feature that allows a user to access and control a computer from another device over a network. It is commonly used for remote work, system administration, and providing technical support. The video briefly mentions remote desktop software as a way to control machines from anywhere, suggesting it as an additional tool for managing the home server and other devices.

💡ISL Online

ISL Online is a remote desktop suite that offers features such as connecting to unlimited machines, end-to-end encryption, wake-on-LAN, and secure file transfer. It is highlighted in the video as a sponsor and is recommended for businesses looking to control remote machines with ease.

Highlights

Transforming an old laptop into a multifunctional home server without any cost.

Utilizing a 2009 IBM ThinkPad with Core 2 Duo as a home server example.

Minimum requirement for a home server is a 64-bit processor.

Recommendation to use Ubuntu Server LTS for its support and efficiency.

Setting up a home server with essential utilities for the average user.

Creating a personal media server with Jellyfin for hosting movies and shows.

Establishing network storage for the entire house using Samba.

Securing a home network with Wireguard as a VPN.

Reserving the local IP address of the home server for consistent network access.

Installing Ubuntu Server without a desktop environment to save resources.

Using wake-on-LAN to remotely access and wake up machines from anywhere.

Setting up Dynamic DNS with DuckDNS for a permanent and free domain name.

Configuring port forwarding in the router for Wireguard VPN setup.

Utilizing ISL Light for remote machine control with ease and security.

Creating a local-only VPN configuration for accessing the home server without impacting internet speed.

The potential for endless possibilities and customization with a home server setup.

Transcripts

play00:00

You know that old laptop you have lying around that you don’t know what to do with, but

play00:03

nobody would buy it if you tried to sell it, but you don’t wanna throw it away at the

play00:06

same time?

play00:08

What if I told you that you could not only find a new use for it, but that you’ll be

play00:12

using it for all sorts of tasks, no matter how weak it is.

play00:14

Want a personal media server to host movies and shows?

play00:17

You got it.

play00:18

Want network storage for your whole house?

play00:20

That too.

play00:21

Want a VPN to your home network?

play00:23

You’re not gonna believe this…

play00:25

I’m Chris Kalos, I like computers, and today I’ll be showing you how to set up The $0

play00:29

Home Server, a home server with the ESSENTIALS for the average user.

play00:33

Huge thanks to ISL Online for sponsoring this video!

play00:38

Control remote machines with ease for your business with ISL Light.

play00:41

ISL Light is an affordable and feature-rich remote desktop suite, and it is super competitive

play00:45

within the space, especially for enterprise.

play00:48

Connect to unlimited machines securely with end-to-end encryption, from Windows, Mac,

play00:52

Linux, Android, and iOS.

play00:55

Wake your remote machines with wake-on-LAN, and transfer files to and from them securely

play00:59

with a user-friendly interface.

play01:01

On top of all that, ISL Light has RDP support for Windows hosts, for a native-like experience.

play01:06

All that, without breaking the bank.

play01:08

We’ve tested ISL Light ourselves, and we’ve found it to live up to its marketing.

play01:12

It’s the kind of program you set up and stop worrying about.

play01:15

No matter how your business is set up, ISL Light can fit your needs.

play01:19

Start your free trial now and get 15 days free!

play01:21

All features included, no credit card required.

play01:24

“Home server this, home server that, why do I even need a home server?

play01:28

I’m not a developer who needs external computing power or virtual machines, I don’t want

play01:32

to bother trying to install one of those fancy web UIs, and most of all, I don’t want to

play01:37

spend money on a new computer just to have it do nothing most of the time!”

play01:41

You’re right.

play01:42

Home server videos have gotten so complicated on YouTube these days.

play01:46

I love watching videos about extravagant setups, or the quest for the most efficient machine

play01:50

for the task, but the creators that make those videos do things on their machines that I

play01:54

can’t even dream of doing.

play01:56

At the same time, paradoxically, I do have a home server.

play01:59

It’s this!

play02:00

A 2009 IBM ThinkPad with a Core 2 Duo, that my dad saved from the e-waste bin at his workplace.

play02:07

And yet it’s actually useful, and it’s dead simple to use.

play02:11

First of all, let’s begin with the very basics to turn a computer into a home server.

play02:16

The minimum requirement is that it needs to have a 64-bit processor.

play02:19

That's it.

play02:20

We recommend more than 2 GB of RAM, but it's not really a requirement.

play02:24

Back up any data that you may have on it, because we’re going to wipe its drive clean,

play02:27

and install Ubuntu Server LTS on it without a desktop environment, so that we are not

play02:31

wasting precious resources trying to render a UI that will rarely ever be used.

play02:35

Also, it’s highly recommended that you keep this computer connected via ethernet 24/7,

play02:40

and that you disable the function that puts it to sleep when the laptop lid is closed.

play02:44

Check the description for pointers on how to do that once you’ve installed the OS.

play02:47

Ubuntu Server LTS is arguably the most well-supported distro for this use case.

play02:51

We also tried Fedora Server and Debian for this video, but we found that Fedora Server

play02:56

wasn’t as well-supported by the packages we wanted to install, and that Debian’s

play03:00

defaults were completely insane.

play03:01

There is only one little quirk of Ubuntu Server we need to watch out for during installation,

play03:05

which is to uncheck “Set up this drive as an LVM group” when asked about partitioning

play03:10

your drive.

play03:11

If you were to leave that checked, it would split your drive into multiple volumes and

play03:14

not use all of it, and you would have to manually resize it manually, and it just complicates

play03:18

the process.

play03:19

You cold also set up Ubuntu Pro if you’d like, because it’s free for personal use

play03:22

and it has extra features, but it doesn’t change how this guide is carried out whatsoever.

play03:26

Now that we’ve installed Ubuntu Server, let’s get down to business.

play03:29

There’s a guide in the description for you to follow along with the instructions if you

play03:32

want.

play03:33

We’re going to be covering a few utilities in this video: Samba for network storage,

play03:37

Jellyfin for a media server, Wireguard as a VPN to your network so that you can access

play03:41

those two from anywhere, and lastly, as a little bonus, wake-on-LAN so that you can

play03:45

remotely access your machines from anywhere.

play03:47

Perhaps using ISL Light, the sponsor of this video.

play03:50

However, before you do any of that, there’s a really important thing you need to do, and

play03:54

that’s to reserve the **local** IP address of your home server in your router’s DHCP

play03:59

settings.

play04:00

That way, the IP is always going to stay the same and you’re going to know what it is,

play04:04

so that we can set up some utilities with it later.

play04:06

There isn’t one guide that encompasses many routers, so you’ll unfortunately have to

play04:10

do some Googling for this one, I’m sorry.

play04:12

The result we want is that your home server always has the same local IP address.

play04:17

Now that you’ve reserved that address, note it down cuz we’re gonna be needing it.

play04:20

From now on, we will be accessing your soon-to-be home server via SSH.

play04:25

Open a Terminal on your main computer and type in `ssh` followed by the username you

play04:28

set on your server, an @ sign, and the IP of your server that you just reserved.

play04:33

You’ll then be asked for the password you set during installation.

play04:36

You won’t see the password, so just input it, press Enter, and you’re in.

play04:41

This will be the main way you’ll be interacting with your machine from now on.

play04:44

Now let’s get to the good part, and set up some stuff, starting with network storage!

play04:48

Samba is a free and open-source implementation of the Windows SMB protocol, which allows

play04:53

network devices to be seamlessly connected to any Windows machine.

play04:56

It’s not limited to Windows, however, as macOS and Linux machines can also connect

play05:00

to Samba servers, and macOS can even use one for Time Machine backups.

play05:04

This means you can use the extra storage space on your home server as an extra storage space

play05:08

on your desktop!

play05:10

Depending on your local network speed, it could even be fast enough to run a light game

play05:13

or program from it.

play05:15

To install this, run `sudo apt install samba` on your server.

play05:18

Once that’s done, we’ll create a directory that will serve as the network drive, and

play05:22

also where we’ll place our files for the next tool as well.

play05:25

For this video, I’ll create this directory in `/media` and call it `myfiles`.

play05:29

Then, we’re going to have to change the permissions on this folder, so that we don’t

play05:33

run into any issues using Samba or Jellyfin later on.

play05:36

We’re going to run `sudo chown $USER: /media/myfiles` to make your user own this directory, so that

play05:40

all the programs you’re running can access it.

play05:43

Next up, we need to edit the Samba configuration file.

play05:46

Run `sudo nano /etc/samba/smb.conf` to start editing the file.

play05:48

Use the arrow keys to find the line that says “map to guest = bad user” and change it

play05:53

to say “map to guest = never”.

play05:55

This will avoid connection issues in the case that you accidentally enter in the wrong credentials

play05:59

on your client.

play06:01

At the end of the file, add the following lines which you can find in the guide in the

play06:04

description.

play06:05

You can change the path and the title according to your setup.

play06:08

Then, press Ctrl-X to tell Nano to exit, press Y for yes when asked if you want to save the

play06:14

file, and press Enter for the file name to keep it the same.

play06:17

Lastly, run `sudo smbpasswd -a and set a password for Samba.

play06:20

This will be the password you’ll use on client machines to connect to the network

play06:23

storage.

play06:24

Now, run `sudo systemctl restart smbd` to restart Samba and make sure your changes go

play06:28

through.

play06:29

Now, on your Windows PC, you can right-click This PC in the Explorer, and select Map network

play06:34

drive.

play06:36

Input two backslashes followed by the IP of your server, make sure it’s valid by clicking

play06:40

“Browse” and seeing if your files are in there as they should be, and voila!

play06:44

You now have network storage!

play06:46

You can see how much space is left on your server, you can manage the files on it, and

play06:50

you can access it from any device, even a Mac!

play06:53

On the Mac, you can connect to it by opening Finder, selecting Go from the drop-downs,

play06:57

and clicking Connect to Server, where you input smb:// followed by the IP of your server

play07:03

and click Connect.

play07:04

Now how about we populate that network storage with some media, and create a personal movies

play07:08

and shows database of [wink] legally acquired content with Jellyfin!

play07:13

Jellyfin is a free and open-source media manager, with a Netflix-like user interface that can

play07:17

be accessed either from the web or through dedicated apps on Windows, Mac, iOS, Android,

play07:23

Chromecast, and even some other smart TVs.

play07:26

It detects metadata for movies, shows, and even music, and categorizes them in a nice

play07:31

UI that anyone can easily use.

play07:33

I’ve taught my mom how to use this, so it’s officially mom-proof!

play07:37

Setting it up is as easy as running a single command, which is this: `curl https://repo.jellyfin.org/install-debuntu.sh

play07:41

| sudo bash`.

play07:42

After you run this, open a browser and go to your server’s address with :8096 next

play07:46

to it, as Jellyfin runs on port 8096 by default, and set it up to your liking.

play07:51

Since we made the folder /media/myfiles, we’re going to make a “movies” folder and a

play07:56

“shows” folder within that, so that we can use them for Jellyfin, while still being

play08:00

able to add our movies and shows through our SMB shared storage.

play08:03

Let’s point Jellyfin’s Movies directory to /media/myfiles/movies, and the Shows directory

play08:12

to /media/myfiles/shows.

play08:13

Now you can throw some videos in there and enjoy your local media library from anywhere

play08:16

in your network.

play08:18

And if you keep watching, you’ll be able to access it from anywhere in the world, so

play08:22

hit that like button if you’re starting to feel like Mr Worldwide up in here.

play08:25

Dale.

play08:26

Have you ever wanted a guard?

play08:30

For your wires, perhaps?

play08:32

Me neither.

play08:33

I don’t even know what that’s supposed to mean.

play08:35

But thankfully, Wireguard is just the name.

play08:37

Wireguard is a free and open-source virtual private network software that allows you to

play08:41

create a VPN to your home network so you can route all your traffic through it no matter

play08:45

where you’re connecting from.

play08:47

The term VPN has been diluted by marketing so much that many people don’t know what

play08:50

it actually means anymore.

play08:52

It doesn’t have anything to do with inherent privacy or paid services.

play08:55

It’s just a way to route traffic from one network to another, making it seem as if the

play09:00

traffic is coming from Network A instead of Network B. In our case, Network A is your

play09:05

newly set up home server, and Network B can be anything.

play09:08

We’re setting this up so that you can tell your phone, computer, or even Android TV,

play09:12

where your server is located, so that you can access it from anywhere.

play09:16

Now that we’re past introductions, let’s set it up.

play09:19

This process is a bit more involved than the other two, but you got this, I believe in

play09:23

you.

play09:24

Firstly, we’re going to set up Dynamic DNS.

play09:26

This will be a domain, or a web address, that will always point to the public IP of your

play09:31

home network.

play09:32

Chances are, you don’t have a Static IP address from your internet service provider,

play09:35

so it’s going to change periodically.

play09:38

Dynamic DNS will ensure your network will always be addressable from this URL, so that

play09:42

we can set up a VPN with it.

play09:44

We recommend DuckDNS for this purpose.

play09:46

It’s free, permanent, and quite user friendly.

play09:48

Shoot them a donation if you’d like, they’re doing great work!

play09:52

Sign into DuckDNS.org, I signed up with Google, and create a domain.

play09:56

Next, head to the “install” section and follow the instructions for Linux cron, as

play10:00

Ubuntu Server supports crontab.

play10:03

There are other ways to do this, but this is the most popular, and it works.

play10:07

Select the domain you just created and simply copy the commands one by one and follow their

play10:10

instructions.

play10:11

You’ll have it set up in no-time, and we can move on to port forwarding, so that we

play10:15

can set up Wireguard.

play10:16

Go into your router settings and forward port 51820 with the UDP protocol.

play10:23

There are links in the description to help you with port forwarding, I can’t help you

play10:26

with it once again because I don’t know what kind of router you have, and it’s different

play10:29

for every one of them.

play10:30

Now that we’ve forwarded the appropriate port, we’re going to be using PiVPN on our

play10:34

home server to install Wireguard and set it up to our liking.

play10:38

The PiVPN utility is meant to be used on Raspberry Pis, but since those run Debian, and we’re

play10:42

running Ubuntu, we can run it no problem.

play10:45

Run the command `curl -L https://install.pivpn.io | bash` and follow the prompts for Wireguard

play10:48

as shown on the screen.

play10:49

Don’t worry about the DHCP stuff in the installation, you’ve reserved your IP address

play10:53

in your router settings earlier.

play10:55

Leave the port as the default value, port 51820, which is the one we forwarded before.

play11:01

You can select any DNS provider you want, we’re going to scroll down to select CloudFlare.

play11:06

After this step is the important part - make sure to select “DNS Entry” instead of

play11:11

the IP address that shows up.

play11:13

Here, we’re going to input the DuckDNS address we made earlier.

play11:17

We also recommend enabling unattended upgrades, for extra security.

play11:20

Once you’ve rebooted your machine after installation, we’re going to run `pivpn

play11:24

add` and give a name to our client.

play11:26

It can be anything you want, really.

play11:28

Next, run `pivpn -qr`, and a large QR code will appear on your screen.

play11:33

Now go on your phone or whatever other device you want, and open up the Wireguard app.

play11:38

Add your configuration by scanning in the QR code on your screen, and Bob’s your uncle.

play11:43

You should call him…

play11:44

It’s been a while.

play11:45

From this point on, you can turn on the toggle switch that connects to your home network,

play11:48

and route all your traffic through there.

play11:50

If you can see that both “Data Sent” and “Data Received” are going up, the connection

play11:54

works.

play11:55

This means you can use something like Swiftfin to access your Jellyfin media from anywhere.

play12:00

As an added bonus, we can create a second configuration that will only route calls to

play12:05

your local network’s IP addresses through your VPN.

play12:08

This way, you can enjoy the benefits of your home server without slowing down your connection

play12:13

every time you want to do something on it, as any calls to the internet will go through

play12:16

your normal connection instead of the VPN.

play12:19

Scan the same QR code as before, but give it a different name.

play12:22

I prefer something like “Local Only”.

play12:24

Then, edit this configuration in this way:

play12:27

In the “Allowed Addresses” section, replace whatever is in there with your local network

play12:32

address range, and add /24 at the end.

play12:35

For example, my local network addresses start with 192.168.68.X, so I’m going to input

play12:42

`192.168.68.0/24`.

play12:45

Then, if you’re on an iPhone, scroll down to “On-demand activation”, enable both

play12:51

Cellular and Wi-Fi, and under the Wi-Fi section, exclude your home network’s SSID (that’s

play12:57

its name) so that this configuration doesn’t activate when you’re at home.

play13:01

Now, you can keep this configuration open all the time, and access your home server

play13:06

as if it’s a part of the internet!

play13:08

If you have an Android device, you can also add a quick toggle to enable it whenever you

play13:11

want.

play13:12

The hardest part is now behind us, soldiers.

play13:15

Now it’s time to awaken your trusty steed from its eternal slumber.

play13:20

Remotely!

play13:21

With wake-on-LAN.

play13:22

The way this works is: your computer’s Ethernet port stays powered on, even when your PC is

play13:27

off.

play13:28

If it detects a so-called “magic packet” being sent to it, it wakes your computer from

play13:33

its current state, whether it’s powered off or sleeping.

play13:35

At least, that’s what’s gonna happen if you’re lucky and your motherboard supports

play13:39

it.

play13:40

Most desktops do, and some enterprise-grade laptops as well, but you never know.

play13:43

Sometimes, it might only wake your computer up from sleep, not a complete shutdown.

play13:47

Also, Ethernet on your home server and your main computer is pretty much required for

play13:51

this step, unless you have a device with Connected Standby and your luck is casino-worthy.

play13:56

To set this up, you need to enable the Wake-on-LAN feature on the computer you want to remotely

play14:00

wake up.

play14:01

Go into your UEFI or BIOS settings, and look for something called “network wake,” “PCIe

play14:06

wake,” honestly manufacturers name things anything they want these days.

play14:10

Just look around, I trust you.

play14:13

If you can’t find anything, it’s either enabled by default, or not supported.

play14:17

Assuming you’ve now enabled the feature in your UEFI settings, open Device Manager

play14:22

on Windows and go to Network Adapters.

play14:25

Find your Ethernet adapter, typically Realtek or Intel.

play14:28

Double click it, go into the “Power Management” tab, and enable “Allow this device to wake

play14:32

the computer” and “Only allow a magic packet to wake the computer”.

play14:36

Now’s the time to find your Mac Address.

play14:39

No, not the YouTube channel.

play14:41

Your computer’s MAC address.

play14:43

To do that, right click the network icon in your taskbar tray, and click the doohickey

play14:47

that comes up that says “Network and Internet Access”.

play14:51

Go to your Ethernet connection’s properties, and take note of “Physical address (MAC)”.

play14:55

We’re done on the Windows machine front.

play14:57

Connect back to your server, and run `sudo apt install etherwake`.

play15:02

Once it’s installed, run `ip a` and take note which network interface your server is

play15:06

using.

play15:07

Whichever one says “UP” and has the IP address attached, that’s the one.

play15:11

Don’t get confused by `wg0`, that’s Wireguard, so ignore that one.

play15:15

Now, we’re going to set up some Siri Shortcuts to remotely wake your computer from anywhere.

play15:19

You can also do this on Android with something like Tasker, but I’m truly truly sorry for

play15:24

you.

play15:25

Make a new shortcut, and add a “Run script over SSH” action.

play15:29

Input this command `etherwake -i -b ` and fill in the gaps

play15:31

with the data you have from before.

play15:33

Where it says “host” you input your server’s IP, and input your server username and password

play15:37

so that SSH can connect to it.

play15:39

Your shortcut is now complete, and you can add it to your home screen if you’d like.

play15:43

The power of awakening is now bestowed upon you.

play15:46

Use it wisely, child, for it is no mere mortal ability.

play15:51

And hey, if you want to control your machine from anywhere, click the “i” in the corner

play15:54

to watch our video on remote desktop software!

play15:57

We have now successfully set up The $0 Home Server, so let’s recap.

play16:02

This humble old laptop, which used to be e-waste due to how weak it was, now serves as a VPN,

play16:07

a media server, *and* network storage for an entire house.

play16:12

Any computer on the network can mount network storage with ease, using SMB.

play16:16

Jellyfin allows this server to host movies and shows that can be played from anywhere,

play16:20

and that’s thanks to Wireguard acting as a VPN to the home network.

play16:24

Lastly, if you’re away and you want to wake up your old pal the Windows PC, you can do

play16:28

it quite literally at the click of a button, through Siri shortcuts and etherwake.

play16:33

And that’s not even scratching the surface of what you can do with a setup like this!

play16:36

There’s endless possibilities, so if you’re curious to know more, subscribe to Kalos Likes

play16:40

Computers so you don’t miss any future videos.

play16:43

We hope you’ve found this video useful, or at the very least, enjoyable.

play16:47

Thank you for watching!

play16:48

I’m Chris Kalos, I like computers, and I’ll see you next time.

Rate This

5.0 / 5 (0 votes)

Related Tags
HomeServerZeroCostNetworkStorageMediaHostingVPNSetupTechUpcyclingUbuntuServerSambaSharingJellyfinMediaWireguardVPN