# Step 1 — What You Need Before You Start **Track:** With AI (Beginner) **Time for this step:** 1–2 hours Welcome. You are about to build a real, working homelab that serves websites to the actual internet. It sounds complicated, but with an AI assistant helping you every step of the way, you can absolutely do this even if you have never used Linux before. --- ## How to Use This Guide Throughout this build, whenever you see a command like this: ```bash docker ps ``` That is something you type into a terminal (a black window where you type commands). Before you type any command, **ask your AI assistant what it does**. Say: > "What does this command do: `docker ps`" The AI will explain it in plain language. Never run a command you do not understand. That is the rule throughout this entire build. --- ## What You Need ### 1. A Computer to Run Everything On You need a PC or laptop that will be your home server. This will be called **monk** throughout this guide (that is just a nickname — you can call it whatever you want). Minimum specs: - **RAM:** 8 GB (16 GB recommended — you will run about 15 programs at once) - **Storage:** 100 GB free space - **Operating system:** Linux (Ubuntu 22.04 or 24.04 recommended) If your computer currently runs Windows, you have two options: - Install Ubuntu alongside Windows (dual boot) - Replace Windows with Ubuntu entirely (easier, recommended) **Ask your AI:** "How do I install Ubuntu 24.04 on my computer?" --- ### 2. A Domain Name A domain name is your address on the internet — for example, `kitestacks.com`. You need to buy one. It costs about $10–15 per year. **Where to buy:** Cloudflare Registrar (registrar.cloudflare.com) is recommended because you will use Cloudflare for everything else and it keeps things in one place. **Tips for picking a domain:** - Keep it short and memorable - `.com` is most professional - Avoid hyphens and numbers **Ask your AI:** "How do I buy a domain name on Cloudflare Registrar?" --- ### 3. A Cloudflare Account Cloudflare is the service that sits between the internet and your home computer. It hides your home IP address, handles all the security, and routes traffic to your services. Best part: everything you need is on their free plan. Go to cloudflare.com and create a free account. If you bought your domain from Cloudflare Registrar, your account is already set up. If you bought it elsewhere, you will need to move it to Cloudflare — ask your AI how. --- ### 4. A Cloud VPS (Virtual Private Server) A VPS is a small computer that rents space in a data center. It runs 24 hours a day even when your home computer is off. This is what keeps your websites online when you are travelling or when your home internet goes down. **Recommended provider:** Hetzner (hetzner.com) — excellent value, based in Germany. **Plan to choose:** CX22 — 2 vCPU, 4 GB RAM, 40 GB disk — approximately €4/month. Create a Hetzner account, then ask your AI: "How do I create a new CX22 VPS on Hetzner with Ubuntu 24.04?" This second computer will be called **kscloud1** throughout this guide. --- ### 5. A Tailscale Account Tailscale is a free service that creates a private, encrypted connection between your home computer and your cloud VPS. Think of it as a private tunnel that only your devices can use. Go to tailscale.com and create a free account. --- ### 6. An OpenRouter Account (for AI services) OpenRouter gives you access to dozens of AI models for free (with rate limits) or for very low cost. Your KiteStacks AI service will use this. Go to openrouter.ai and create a free account. --- ## Setting Up Your Home Computer (monk) Once Ubuntu is installed on your home computer, open a terminal. On Ubuntu, press `Ctrl + Alt + T` to open one. You will see something like: ``` kenpatmonk@monk:~$ ``` That `$` means you are ready to type commands. **First, update your system. Ask your AI what this does, then run it:** ```bash sudo apt update && sudo apt upgrade -y ``` **Then install some tools you will need:** ```bash sudo apt install -y curl git nano wget ``` **Ask your AI:** "What does `sudo apt install` do and why do I need curl, git, nano, and wget?" --- ## Setting Up Your Cloud VPS (kscloud1) After creating your VPS on Hetzner, you will get an IP address (something like `5.78.233.28`). You connect to it using a tool called SSH. **Ask your AI:** "What is SSH and how do I connect to my VPS from Ubuntu?" The basic command looks like this: ```bash ssh root@YOUR_VPS_IP ``` Replace `YOUR_VPS_IP` with the actual IP Hetzner gave you. Once connected, update the VPS just like you did on your home computer: ```bash apt update && apt upgrade -y ``` --- ## Checkpoint Before moving to Step 2, make sure you have: - [ ] Ubuntu installed and running on your home computer - [ ] A domain name purchased and pointing to Cloudflare - [ ] A Cloudflare account (free) - [ ] A Hetzner VPS created with Ubuntu (noted your VPS IP address) - [ ] A Tailscale account (free) - [ ] An OpenRouter account (free) - [ ] You can open a terminal on your home computer - [ ] You can SSH into your VPS If any of these are not done, stop here and ask your AI for help completing them before moving on. Every future step assumes all of these are in place. --- **Next:** [Step 2 — DNS and Cloudflare Setup](02-dns-and-cloudflare.md)