How to set up your own home server with Ubuntu Server and reach it from anywhere with Tailscale

A step-by-step guide, no prior knowledge needed, to turn a computer you no longer use into a home server with Ubuntu Server 26.04 LTS and connect to it securely from home, work or your phone with Tailscale.

PublishedSeptember 24, 2026
FreeDownload as PDF

Free resources

Create a free account to download

PDF guides and the other free resources are available with an account. It's free, and all you need is your email.

A home server is a computer that stays on at home and works for you around the clock: it keeps backups, serves your files, runs artificial intelligence models or hosts applications you'd rather not leave in someone else's hands.

In this guide you'll turn a computer you no longer use into a server running Ubuntu Server, the most widely used Linux system for the job. Then you'll install Tailscale, a service that creates a private network between your devices so you can reach your server from anywhere, without opening ports on your router or touching complicated network settings.

You don't need to know Linux. Each step explains what to press and what you should see.

What you'll end up with

  • A server running Ubuntu Server 26.04 LTS, the long-term support release published in 2026.
  • Access to its terminal from your Mac, Windows or Linux computer, first at home and then from anywhere.
  • A private network with Tailscale that links the server, your computer and your phone, encrypted end to end.

What you need

The computer that will be the server

Almost any computer from the last ten years will do: an old laptop, a desktop PC or a mini PC. At minimum:

  • A dual-core 64-bit processor (Intel or AMD).
  • 4 GB of RAM (it works with 2 GB, but that soon falls short).
  • A 25 GB disk or larger. An SSD is better.
  • A wired connection to the router. Wi-Fi works, but a cable is more stable for a server.

Also

  • A USB stick of 8 GB or more (it will be erased too).
  • Another computer (Mac, Windows or Linux) to prepare the USB stick and, later, connect to the server.
  • During installation, a monitor and keyboard connected to the server. You won't need them afterwards.

Step 1. Download Ubuntu Server

  1. On your everyday computer, go to ubuntu.com/download/server.
  2. Click Download Ubuntu Server 26.04 LTS. If you see a 26.04.x version (for example 26.04.1), it's the same release with fixes: download it.
  3. A file ending in .iso, about 3 GB, downloads. It's the installer "image".

Step 2. Prepare the installation USB stick

You're going to copy the image to the USB stick so the computer can start from it. Dragging the file isn't enough: you need a program.

Mac, Windows and Linux: balenaEtcher

  1. Download balenaEtcher from etcher.balena.io and install it.
  2. Plug in the USB stick.
  3. Open Etcher and click Flash from file. Choose the .iso file you downloaded.
  4. Click Select target and tick your USB stick. Make sure it's the USB stick and not another disk.
  5. Click Flash!. On a Mac it will ask for your password. Wait until it finishes and verifies the copy.
Screenshot: balenaEtcher with the Ubuntu Server image and the USB stick selected

Step 3. Start the server from the USB stick

  1. Connect the USB stick, monitor, keyboard and network cable to the server.
  2. Turn it on and, right away, press the boot menu key repeatedly. It depends on the manufacturer: usually F12, F11, F10, F8 or Esc. The key sometimes appears on screen for a second.
  3. In the menu, choose the USB stick (it often shows its brand, for example "USB: SanDisk").
  4. A black menu appears with the option Try or Install Ubuntu Server. Press Enter or wait a few seconds.

If the computer starts its usual system, you weren't quick enough: turn it off and try again. If you can't find the key, search online for "boot menu key" followed by the brand and model.

Step 4. Install Ubuntu Server

The installer works with the keyboard only:

  • Arrow keys to move.
  • Enter to choose or press a button.
  • Space to tick or untick boxes.
  • Tab to jump between fields.

Go through the screens in this order:

  1. Language. Choose English (or your preferred language).
  2. Installer update. If it offers a newer version of the installer, choose Update to the new installer. Otherwise, continue.
  3. Keyboard. Choose your keyboard layout. Select Done.
  4. Type of installation. Leave Ubuntu Server selected (not the "minimized" version, which removes useful tools).
  5. Network. The installer detects the cable and shows an address such as 192.168.1.45. Write that number down: you'll use it in step 6. Select Done.
  6. Proxy. Leave it empty.
  7. Mirror. Keep the one shown and wait for the test to pass.
  8. Storage. Choose Use an entire disk, check that the right disk is selected and leave Set up this disk as an LVM group ticked. On the summary screen select Done and confirm with Continue. This is where the disk is erased.
  9. Profile. Fill in the fields:
  • Your name: yours.
  • Your server's name: one lowercase word, with no spaces or accents, for example homeserver. That's what it will be called on your network.
  • Username: one lowercase word, for example anna.
  • Password: a long password you don't use anywhere else. Type it twice.
  1. Ubuntu Pro. Choose the option to skip it for now (Skip). It's an optional service you can turn on later.
  2. SSH. Press Space to tick Install OpenSSH server. This is essential: it's what lets you manage the server from another computer. Leave password login allowed.
  3. Featured snaps. Don't tick any. Select Done.
Screenshot: installer SSH screen with Install OpenSSH server ticked

The installation takes 5 to 20 minutes. When it's done, Reboot Now appears. Select it, remove the USB stick when asked and press Enter.

Step 5. First start and updates

After restarting, the screen shows a few messages and ends with a line like this:

text
homeserver login:
  1. Type your username and press Enter.
  2. Type your password (you won't see the characters, that's normal) and press Enter.

You're in. Now install the pending updates:

bash
sudo apt update && sudo apt full-upgrade -y

sudo runs the command as administrator, so it will ask for your password. When it's done, restart:

bash
sudo reboot

Check that the whole disk is used

With the LVM option, the installer sometimes sets aside only part of the disk for the system. Check it:

bash
df -h /

Look at the Size column. If it's much smaller than your disk (for example, 100 GB on a 500 GB disk), expand it with this command:

bash
sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

Run df -h / again and you'll see the full size.

Step 6. Connect to the server from your computer (at home)

From here on you no longer need the server's monitor and keyboard: you'll manage it from your everyday computer with SSH, a secure connection to another machine's terminal. Your computer and the server must be connected to the same router.

If you didn't write down the address in step 4, type this on the server:

bash
hostname -I

The first number shown (such as 192.168.1.45) is its address on your network.

Open the terminal on your computer

  • Mac: press ⌘ + Space, type "Terminal" and press Enter.
  • Windows 10 or 11: open PowerShell from the Start menu. SSH is already included.
  • Linux: press Ctrl + Alt + T.

Connect

Type this command, replacing anna with your username and the number with your server's address:

bash
ssh [email protected]
  1. The first time, it asks whether you trust the machine (Are you sure you want to continue connecting). Type yes and press Enter.
  2. Type your server user's password.

You'll see Ubuntu's welcome message and a line starting with anna@homeserver. Everything you type now runs on the server. To leave, type exit.

Screenshot: terminal connected over SSH to the server with Ubuntu's welcome message

Step 7. Create your Tailscale account

So far you can only reach the server from home. Tailscale fixes that: it creates a private network (Tailscale calls it a tailnet) that your devices join wherever they are. Each one gets a fixed address starting with 100. and a name, and they talk to each other encrypted, without open ports on your router.

The free plan (Personal) is enough for home use.

  1. Go to tailscale.com and click Get started.
  2. Sign in with a Google, Microsoft, Apple or GitHub account. That account will be the key to your network: use one with two-step verification turned on.
  3. If it asks about your use, choose personal use.

Step 8. Install Tailscale on the server

Connect to the server over SSH as in step 6 and type:

bash
curl -fsSL https://tailscale.com/install.sh | sh

The script detects Ubuntu, adds Tailscale's official repository and installs the program. It will ask for your password.

Then join the server to your network:

bash
sudo tailscale up

A link such as https://login.tailscale.com/a/… appears. Since you're connected over SSH from your computer, you can copy it, open it in your browser and sign in with the account from step 7. Once you approve it, the terminal shows Success.

Check the address the server received:

bash
tailscale ip -4

It returns an address such as 100.101.102.103.

Step 9. Install Tailscale on your other devices

Install Tailscale on every device you want to connect from and sign in with the same account:

  • Mac: download it from the App Store or from tailscale.com/download. An icon appears in the menu bar; open it and sign in.
  • Windows: download the installer from tailscale.com/download, install it and click the icon next to the clock to sign in.
  • Linux: use the same commands as on the server (curl -fsSL https://tailscale.com/install.sh | sh and sudo tailscale up).
  • iPhone and Android: install Tailscale from the App Store or Google Play, sign in and accept the VPN configuration it suggests.
Screenshot: Tailscale app on the Mac with the server in the device list

Step 10. Adjust the network in the Tailscale console

Go to login.tailscale.com/admin/machines. You'll see the list of your devices. Make two changes on the server:

  1. Disable key expiry. For security, Tailscale asks you to sign in again on each device every so often (180 days by default). On a server with nobody in front of it, that would leave it disconnected. Click the three dots next to the server and choose Disable key expiry.
  2. Check the name. It should appear as homeserver. If not, choose Edit machine name in the same menu.

Also check that MagicDNS is turned on in the DNS tab. It's on by default for new networks, and it's what lets you use the server's name instead of its numeric address.

Screenshot: Tailscale console with the server's Disable key expiry menu

Step 11. Reach your server from anywhere

From any device with Tailscale running, whether at home, at the office or on mobile data, open the terminal and type:

bash
ssh anna@homeserver

If the name doesn't work, use the address starting with 100.:

bash
ssh [email protected]

To check that it really works away from home, disconnect your computer from Wi-Fi and use your phone's hotspot. The command should work the same.

Step 12. Get the server ready to run on its own

A few settings so the server keeps going without you watching over it.

Power on after an outage

In the server's BIOS or UEFI (you enter it by pressing Del, F2 or F10 at startup), look for an option called Restore on AC Power Loss or After Power Failure and set it to Power On. That way it turns itself on when the power comes back.

Laptop with the lid closed

If you use a laptop, by default it goes to sleep when you close the lid. To prevent that, run these commands one by one:

bash
sudo mkdir -p /etc/systemd/logind.conf.d
printf "[Login]\nHandleLidSwitch=ignore\n" | sudo tee /etc/systemd/logind.conf.d/lid.conf
sudo reboot

Fixed address at home (optional)

With Tailscale you don't need one, because the name homeserver always works. If you also want to connect using the local address, you can "reserve" the server's address in your router's settings. It's usually called a DHCP reservation.

Keeping it secure

  • Don't open ports on your router. Tailscale makes exposing the server to the Internet unnecessary.
  • Update regularly with sudo apt update && sudo apt full-upgrade -y.
  • Protect your Tailscale account with two-step verification: anyone who gets into it can add devices to your network.
  • Remove devices you no longer use from the network, in the Tailscale console.
  • Use a long password for your server user. Later on you can replace it with SSH keys, an even more secure method.

Common problems

  • The computer won't start from the USB stick. Try another boot menu key or another USB port. On some machines you need to turn off Secure Boot in the BIOS; Ubuntu doesn't usually need this, but some older boards cause trouble.
  • The installer doesn't detect the network. Check the cable and the port light. If you use Wi-Fi, the installer asks for the network and password on the network screen.
  • ssh says "Connection refused". You didn't install OpenSSH in step 4. Connect a monitor and keyboard and run sudo apt install openssh-server.
  • ssh says "Connection timed out" away from home. Tailscale isn't running on the device you're connecting from, or the server is off. Check the device list in the Tailscale app: the server should show as connected.
  • The name homeserver isn't found. MagicDNS is off or the name is different. Use the 100.x address or go back to step 10.
  • The server disappeared from Tailscale after a few months. Its key expired. Connect at home using the local address, run sudo tailscale up and disable key expiry as in step 10.

Next steps

You now have your own server that you can reach from anywhere. It's the foundation for everything else: backups, file storage or your own artificial intelligence services. The Linux instructions in this series' guides, such as the Ollama one, work the same on this server. Just remember that to use a service from another device, it must be set up to accept connections from the network, not only from the machine itself.

First guide in the series: How to install and set up LM Studio on Mac, Windows and Linux