You don’t need a Raspberry Pi. You don’t need to buy anything.

That old laptop, desktop, or Mac Mini collecting dust? It’s your next home server.

This is the exact setup I used to build my passive income machine. Follow along.


What You’ll Need

  • Any old computer — Minimum 2 GB RAM, 64-bit processor
  • USB flash drive — At least 4 GB (for the installer)
  • Internet connection — Ethernet cable recommended
  • Another computer — To download the installer and manage via SSH later
  • 30-60 minutes of time

Step 1: Download Linux Mint XFCE

Go to linuxmint.com/download and download the XFCE edition.

Why XFCE?

DesktopRAM Usage (Idle)Best For
Cinnamon~750 MBDaily driver desktop
MATE~500 MBModerate use
XFCE~350 MBServers and old hardware

XFCE leaves the most resources for your applications. On a server, every MB of RAM matters.


Step 2: Create a Bootable USB

Download Balena Etcher (free) from etcher.balena.io.

  1. Insert your USB flash drive
  2. Open Etcher
  3. Select the Linux Mint ISO
  4. Select your USB drive
  5. Click Flash

Step 3: Install Linux Mint

  1. Plug the USB into your server computer
  2. Boot from USB (usually F12 or Option key on Mac)
  3. Select “Install Linux Mint”
  4. Choose your language and keyboard
  5. Check “Install multimedia codecs”
  6. Select “Erase disk and install”
  7. Set your username and password
  8. Wait for installation to complete
  9. Reboot and remove the USB

You now have a working Linux Mint desktop.


Step 4: Initial Configuration

Open a terminal (Ctrl+Alt+T) and run:

1
sudo apt update && sudo apt upgrade -y

Set the Hostname

Give your server a name:

1
sudo hostnamectl set-hostname my-server

Disable Screen Lock and Sleep

A server should never sleep:

  1. Open SettingsPower Manager
  2. Set display sleep to Never
  3. Set system sleep to Never
  4. Disable screen lock

Or via terminal:

1
2
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/dpms-enabled -s false
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/blank-on-ac -s 0

Step 5: Install SSH

SSH lets you manage the server from another computer — no monitor needed.

1
2
3
sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

Change the default port from 22 to something less common:

1
sudo nano /etc/ssh/sshd_config

Find the line #Port 22 and change it to:

Port2255

Restart SSH:

1
sudo systemctl restart ssh

Connect from Another Computer

Find your server’s IP:

1
hostname -I

From your laptop:

1
ssh -p 2255 [email protected]

If it connects, you can unplug the monitor from the server.


Step 6: Install Docker

Docker lets you run applications in isolated containers. No messy installations, easy updates, easy removal.

1
2
3
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker

Add your user to the Docker group (so you don’t need sudo every time):

1
sudo usermod -aG docker $USER

Log out and back in for this to take effect.

Verify Docker Works

1
docker run hello-world

You should see “Hello from Docker!” — you’re ready to run containers.


Step 7: Install Watchtower (Auto-Updates)

Watchtower automatically updates your Docker containers when new versions are released:

1
2
3
4
5
6
docker run -d \
  --restart=unless-stopped \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --cleanup --interval 86400

This checks for updates every 24 hours and cleans up old images.


Step 8: Set a Static IP

Prevent your server’s IP from changing:

  1. Log into your router (usually 192.168.0.1 or 192.168.1.1)
  2. Find DHCP Reservation or Address Reservation
  3. Add your server’s MAC address with a fixed IP

This ensures SSH always works at the same address.


Step 9: Enable Automatic Security Updates

1
2
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

Select “Yes” to enable automatic security updates. Your server stays patched without manual intervention.


Step 10: Set Up Remote Access (Tailscale)

If you want to reach your server from outside your home network:

1
2
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh

Follow the authentication link, and you can SSH from anywhere in the world.


What to Run on Your Server

Now that your server is ready, here’s what I run on mine:

ApplicationPurposeGuide
GrassBandwidth sharingSetup guide
HoneygainBandwidth sharingSetup guide
EarnFMBandwidth sharingSetup guide
TraffmonetizerBandwidth sharingSetup guide
Pawns.appBandwidth sharingSetup guide
StorjDecentralized storageSetup guide

Check out all the apps I’m running with signup links.


Power Consumption

A common concern: “Won’t this cost a fortune in electricity?”

No.

HardwareWattsMonthly Cost (~$0.15/kWh)
Old laptop15-25W$1.60-2.70
Mac Mini10-20W$1.10-2.20
Desktop PC30-80W$3.25-8.60
Raspberry Pi3-5W$0.30-0.55

My Mac Mini costs roughly $3-5/month in electricity. The passive income apps earn more than that.


Troubleshooting

Can’t SSH after reboot

Check if SSH is running: sudo systemctl status ssh

Docker command not found after install

Log out and back in, or run: newgrp docker

Server gets a new IP after reboot

Set a static IP via your router’s DHCP reservation (Step 8).

External drive not mounting on boot

Add it to /etc/fstab with the nofail option. See my Storj guide for details.


Conclusion

You now have a fully functional Linux home server running Docker, accessible via SSH from anywhere.

Total cost: $0 (assuming you have old hardware).

The hard part is done. From here, you just add Docker containers for whatever you want to run — passive income apps, media servers, home automation, or anything else.


Got your server running? Check out my app guides to start earning passive income.