Free course

Build a Home Server Course

Plan, install, secure, and operate an Ubuntu home server with private remote access, durable storage, containers, HTTPS, backups, and recovery notes.

5 modules · 25 lessons · No signup

Prerequisites: Shell Commands, Linux Basics, Networking Foundations, SSH and Docker

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build a private home server that survives routine updates and power loss and can be restored from documented backups.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Plan and install

    Choose hardware and workloads, install Ubuntu Server, assign a stable address, and record the machine.

    1. Choose a home server job
    2. Prepare installation and recovery
    3. Install a minimal server
    4. Give the server a stable address
    5. Check your understanding: plan and install
  2. Access and security

    Update the host, use personal SSH keys, restrict network exposure, and add private remote access.

    1. Patch and reboot the base
    2. Use personal SSH keys
    3. Allow only needed firewall traffic
    4. Add private remote access
    5. Check your understanding: access and security
  3. Storage and data

    Attach storage, mount by stable identity, set service ownership, inspect health, and separate live data from backups.

    1. Inventory storage devices
    2. Mount a data filesystem
    3. Assign service ownership
    4. Monitor capacity and disk health
    5. Check your understanding: storage and data
  4. Run services

    Deploy one containerized service, expose it privately, add local naming, and put HTTPS at the edge.

    1. Deploy with Docker Compose
    2. Persist container data
    3. Add a local service name
    4. Add a private HTTPS proxy
    5. Check your understanding: run services
  5. Operate and recover

    Back up data, observe services, update deliberately, handle power loss, and maintain a recovery runbook.

    1. Back up home server data
    2. Observe services and host
    3. Update with a rollback plan
    4. Write and rehearse the runbook
    5. Check your understanding: operate and recover