Take back control of your digital life by learning how to deploy and manage your own private cloud using Linux, Docker, and Tailscale. This hands-on course teaches you how to replace popular SaaS tools with secure, self-hosted alternatives. You’ll gain full control over your data, improve your privacy, and reduce costs. After you complete this course, you’ll be able to build and run real-world services all from your own secure infrastructure. Perfect for beginners and tech-savvy pros alike.
Introduction, Course Overview, and Course Downloads
Lesson 2 of 2 within section Introduction, Course Overview, and Course Downloads.
You must enroll in this course to access course content.
Self-Hosting Fundamentals
Lesson 2 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Virtual Private Servers (VPS)
Lesson 3 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Gain Valuable Skills Through Self-Hosting
Lesson 4 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Challenges of Self-Hosting
Lesson 5 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Lesson 6 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Quiz: What Self-Hosting Is and Why It Matters
Lesson 7 of 7 within section Self-Hosting Fundamentals.
You must enroll in this course to access course content.
Has Quiz
Linux Fundamentals for Self-Hosting
What is Linux and What Are Linux Distributions?
Lesson 1 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Why Linux is Ideal for Self-Hosting
Lesson 2 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Choosing a Linux Distribution for Self-Hosting
Lesson 3 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Bare Metal vs. Virtual Machines: Which Linux Deployment Option Is Right for You?
Lesson 4 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Summary of Using Linux for Self-Hosting
Lesson 5 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Lesson 6 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Quiz Using Linux for Self-Hosting
Lesson 7 of 7 within section Linux Fundamentals for Self-Hosting.
You must enroll in this course to access course content.
Has Quiz
Ubuntu Installation and Setup
Installing Ubuntu on macOS
Lesson 2 of 4 within section Ubuntu Installation and Setup.
You must enroll in this course to access course content.
How to SSH into the Linux Docker Host from macOS for Seamless Copying and Pasting
Lesson 3 of 4 within section Ubuntu Installation and Setup.
You must enroll in this course to access course content.
Installing Ubuntu on Hardware (Linux Bare Metal Installation)
Lesson 4 of 4 within section Ubuntu Installation and Setup.
You must enroll in this course to access course content.
Secure Networking with Tailscale
Using Tailscale for Secure Networking
Lesson 1 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Installing Tailscale on Your Ubuntu Linux Docker Host
Lesson 2 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Installing the Tailscale Client on Windows
Lesson 3 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Installing the Tailscale Client on macOS
Lesson 4 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Installing the Tailscale Client on iOS
Lesson 5 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Installing the Tailscale Client on Android
Lesson 6 of 6 within section Secure Networking with Tailscale.
You must enroll in this course to access course content.
Docker and Portainer Setup
Installing Docker on the Ubuntu Linux Docker Host
Lesson 1 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Introduction to Portainer
Lesson 2 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Preparing the Directory Structure for Docker Applications
Lesson 3 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Docker Compose vs. Docker Run and YAML Configuration Files
Lesson 4 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Creating and Understanding the Portainer compose.yaml File
Lesson 5 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Deploying Portainer and the Initial Portainer Setup
Lesson 6 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Portainer UI Walkthrough (Dashboard and Key Features)
Lesson 7 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Lesson 8 of 8 within section Docker and Portainer Setup.
You must enroll in this course to access course content.
Secure Web Service Access with TSDProxy and Tailscale
Deploying File Browser for File Management
Lesson 1 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Introduction to Configuring TSDProxy for Tailnet-Based HTTPS Access
Lesson 2 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Tailscale Account Configuration (Renaming your Tailnet and Enabling HTTPS)
Lesson 3 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Lesson 4 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Configuring File Browser for use with TSDProxy
Lesson 5 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Configuring Portainer for use with TSDProxy and TSDProxy Summary
Lesson 6 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Finding Open Ports on your Docker Host
Lesson 7 of 7 within section Secure Web Service Access with TSDProxy and Tailscale.
You must enroll in this course to access course content.
Building a Centralized Dashboard
Introduction to Setting Up Homepage as a Self-Hosted Dashboard
Lesson 1 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Deploying Homepage Using Portainer
Lesson 2 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Homepage Overview and Features
Lesson 3 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Lesson 4 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Lesson 5 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Installing IT-Tools (Convert “docker run” to compose.yaml)
Lesson 6 of 6 within section Building a Centralized Dashboard.
You must enroll in this course to access course content.
Publishing Services on Your Own Domain
Introduction to Accessing Self-Hosted Services Using Your Own Domain with Caddy
Lesson 1 of 4 within section Publishing Services on Your Own Domain.
You must enroll in this course to access course content.
Setting Up a Domain and DNS for Self-Hosted Services with Cloudflare
Lesson 2 of 4 within section Publishing Services on Your Own Domain.
You must enroll in this course to access course content.
Configuring Cloudflare DNS and Deploying Caddy as a Reverse Proxy
Lesson 3 of 4 within section Publishing Services on Your Own Domain.
You must enroll in this course to access course content.
Making Your Self-Hosted Services Public with Cloudflare Tunnels
Lesson 4 of 4 within section Publishing Services on Your Own Domain.
You must enroll in this course to access course content.
Discovering & Deploying Additional Self-Hosted Services and Applications
Intro to Finding, Evaluating, and Deploying Self-Hosted Services and Solutions
Lesson 1 of 5 within section Discovering & Deploying Additional Self-Hosted Services and Applications.
You must enroll in this course to access course content.
Finding Self-Hosted Solutions (Directories, Search Engines, and Communities)
Lesson 2 of 5 within section Discovering & Deploying Additional Self-Hosted Services and Applications.
You must enroll in this course to access course content.
How to Evaluate Self-Hosted Applications (Self-Hosted Application Criteria)
Lesson 3 of 5 within section Discovering & Deploying Additional Self-Hosted Services and Applications.
You must enroll in this course to access course content.
Deploying Self-Hosted Applications using Docker, Docker Compose, or Portainer
Lesson 4 of 5 within section Discovering & Deploying Additional Self-Hosted Services and Applications.
You must enroll in this course to access course content.
Summary of How to Find, Evaluate, and Deploy Self-Hosted Services and Solutions
Lesson 5 of 5 within section Discovering & Deploying Additional Self-Hosted Services and Applications.
You must enroll in this course to access course content.
Your Next Step
Your Next Step: From Self-Hosting to Docker Mastery
Lesson 1 of 1 within section Your Next Step.
You must enroll in this course to access course content.