The final part. You'll fortify the whole thing — your home network, security, and backups — and learn to run the complete sovereign stack day to day. Finish this and you answer to no one's cloud.
If you've never typed a command in your life, you're in the right place. The whole skill is copy → paste → press Enter.
Nothing here can harm your computer. If a step errors or confuses you, close the window and start it over. Relax and go slow.
Copy the whole dark box, click inside the terminal, paste (Windows = right-click, Mac = Cmd+V), press Enter, and wait until the blinking cursor returns. A line starting with # is a note to you — you don't type those.
Welcome to Part IV. By now you have real services running (Part II) and a way to reach them from your phone (Part III). But everything you've built so far lives on top of something you probably haven't looked at directly yet: your home network. This is the invisible plumbing that connects every device in your house, and understanding it is the difference between a hobbyist who hopes things work and a sovereign builder who knows they do. Don't worry — there is no math here, and by the end of this module the words "IP," "port," "subnet," and "VLAN" will feel as ordinary as "kitchen" and "front door."
Let's start with the box that everything runs through.
You have a box in your house — maybe from your internet provider, maybe one you bought — that your internet connection plugs into. That box is your router. Think of it as the front desk of a big office building. Every piece of mail (data) that comes in from the outside world, and every piece of mail your devices send out, passes through that front desk. The router's job is to make sure the right mail gets to the right room.
Inside your house, your laptop, your phone, your server, your smart TV, and your printer are all "rooms" in the building. The router knows where each one is and directs traffic between them and out to the internet. When your phone loads a website, that request goes to the router, out to the internet, comes back, and the router hands it to your phone — not your printer, not your neighbor's house. The router keeps everyone's mail straight.
Your router does one more crucial thing: it stands as a wall between your cozy home and the wild open internet. The outside world cannot see directly into your house. It can only see the router's public face. This is a natural first layer of protection, and we'll build more layers on top of it.
Every "room" in the building needs an address so the front desk knows where to send its mail. That address is called an IP address (IP stands for "Internet Protocol," but you never need to remember that). It looks like four numbers separated by dots, for example 192.168.1.42.
Here is the single most important idea in this whole module: there are two kinds of IP addresses, and confusing them is where beginners get lost.
A private IP address is the address a device has inside your house. It's like an apartment number — "Apartment 42." It only means something inside your building. Every home network uses private addresses, and they almost always start with 192.168. or 10.. Your laptop might be 192.168.1.42 and your server might be 192.168.1.50. These are the addresses your devices use to talk to each other.
A public IP address is the single address your whole house shows to the internet — the street address of the whole building. Your internet provider gives this to your router. When any device in your house talks to the internet, the outside world sees only this one public address, not the individual apartment numbers. This is why, in Part III, you needed a tunnel to reach your server from outside — the outside world can't dial "Apartment 50" directly; it only knows the building's street address.
When you see an address starting with 192.168. or 10., relax — that's a private, in-your-house address. It can never be reached directly from the internet. That's a safety feature, not a limitation.
A subnet (short for "sub-network") is just the group of addresses that belong to one network — one building. In most homes, the subnet is written as 192.168.1.0/24. Don't panic at the /24. In plain English it means: "every address from 192.168.1.1 to 192.168.1.254 is in this building, and they can all talk to each other freely."
The first three numbers being the same (192.168.1.___) is what tells devices they're neighbors on the same subnet. If your laptop is 192.168.1.42 and your server is 192.168.1.50, they share the first three numbers, so they're on the same subnet and can chat directly. This is why, when you set up a service in Part II, you could reach it from another computer in your house by typing its private IP — they were neighbors.
A well-run home lab keeps everything on one subnet — say 192.168.1.0/24 — so every machine (the rig, the hub, the NASes) lives inside it. Keeping everything on one known subnet is exactly the kind of discipline that makes a network easy to reason about.
An IP address gets mail to the right building and the right apartment. But inside one apartment, there might be many different people expecting different mail — a web service, a file service, a chat service, all on the same server. A port is like the specific mail slot or department within that apartment. It's a number, and it tells the server "this mail is for the web service" versus "this mail is for the file service."
You've already been using ports without thinking about it. When your app runs on :8080 or :3000, that number after the colon is the port. So 192.168.1.42:8080 means "the machine at apartment .42, please deliver this to the service listening on mail slot 8080." Websites use port 443 for secure connections and 80 for plain ones by default, which is why you rarely type them — your browser assumes them.
The takeaway: a device has one IP address but many ports, one for each service it runs. Later, when we build a firewall, we'll be deciding which mail slots are allowed to receive mail from where. Ports are the vocabulary of that decision, so it's worth being comfortable with them.
When a new device joins your network — say a guest's phone — it needs an apartment number. It would be a nightmare if you had to assign these by hand. So the router does it automatically through something called DHCP (you can forget the acronym; just think "the automatic address-giver"). A device connects, says "I'm new here," and the router hands it a free address from the pool. Wonderful for phones and laptops that come and go.
But there's a catch for your servers. Because DHCP hands out whatever address is free, your server might be 192.168.1.50 today and 192.168.1.63 next week after a reboot. That would break every tunnel, bookmark, and link you set up in Parts II and III, because they all point at a specific address.
The fix is a DHCP reservation (sometimes called a "static lease" or "address reservation"). You tell the router: "This particular device — I'll identify it by its unique hardware ID — always gets this exact address, forever." Now your server is guaranteed to be 192.168.1.42 every single time, and nothing breaks.
To set one up, you log into your router (usually by typing its address, often 192.168.1.1, into a browser), find a section called something like "LAN," "DHCP," or "Address Reservation," and add a reservation. You'll pick your server from a list of connected devices and assign it a fixed address. Every device has a permanent hardware fingerprint called a MAC address (a string like a4:b1:c2:d3:e4:f5) — the router uses that to recognize your server no matter what. A serious home stack uses reservations for exactly this reason: every important machine pinned to a known address so the fortress never shifts underfoot.
You'll constantly want to know "what's the address of that machine?" Here are the friendly ways.
On the Linux machine you're sitting at, open a terminal and run:
What you'll see: a wall of text describing each network connection. Look for a line that says inet followed by an address like 192.168.1.42/24. That's this machine's private address. Ignore anything that says 127.0.0.1 (that's the machine talking to itself, nicknamed "localhost" — it's always there and always the same). If the wall of text is overwhelming, this shorter command prints just the useful line:
To find every device on your network — the real map of your kingdom — the cleanest source of truth is your router's admin page, which lists every connected device with its name and address. Alternatively, a tool called nmap can scan the whole subnet and report who's home:
What you'll see: a list of every address currently responding, one block per device. (If nmap isn't installed, your package manager can add it, or just use the router page — it's friendlier anyway.) Spend five minutes with this list. Knowing exactly what lives on your network is the foundation of securing it — you can't protect what you don't know is there.
Here's the idea that turns a network from "everything can talk to everything" into a real fortress. Right now, if everything is on one subnet, your smart doorbell, your cheap smart plug, your TV, and your bank-login laptop are all neighbors in the same building — and neighbors can knock on each other's doors. That cheap smart plug was made by a company that may never patch its security holes. If a hacker gets into it, they're now inside your building, and they can try the handles on every other door, including your computer with your Bitcoin wallet on it.
A VLAN (Virtual Local Area Network — think "a separate building inside the same box") solves this. It lets your one router pretend to be several completely separate networks that cannot talk to each other unless you explicitly allow it. You put your trusted computers on one VLAN, and all the cheap, chatty, can't-be-trusted "Internet of Things" gadgets — smart plugs, doorbells, cameras, TVs — on a separate isolated VLAN.
Now if that doorbell is compromised, the attacker is trapped in the IoT wing with nothing valuable — they can't cross the hallway to your real computers. This is called network segmentation, and it's one of the highest-value moves you can make. Cameras especially belong here (we'll return to them in Module 04): a camera should watch your house, not have a road to your data.
Setting up VLANs requires a router that supports them (many provider-supplied routers don't; enthusiast routers and the one this builder uses do). The general shape is: create a new VLAN and a new Wi-Fi network attached to it, then set a firewall rule that blocks traffic from the IoT VLAN to the trusted VLAN. This is more advanced, and it's fine to circle back to it later — but plant the flag now. A sovereign home eventually separates its trusted machines from its disposable gadgets. For today, simply understanding why is the win. You now understand your network better than most IT professionals did on their first day. Onward to locking it down.
You understand your network now. This module is where you fortify it. We're going to build walls (a firewall), reinforce the doors (SSH), set up automatic repairs (security updates), and post a guard who kicks out anyone who keeps rattling the locks (fail2ban). None of this is hard. Each piece is a handful of commands, and I'll tell you exactly what you'll see after each one. Take it one step at a time.
A firewall is a bouncer standing at every door of your machine. Remember ports from Module 01 — those numbered mail slots where services listen? By default, a fresh server might have several of those doors unlocked and unguarded. A firewall lets you make a simple, powerful rule: "All doors are locked and no one gets in, UNLESS I've specifically said this exact door is open."
That mindset — deny everything, then allow only what you truly need — is the heart of good security. It's called default-deny, and it flips the odds in your favor. Instead of trying to think of every bad thing to block (impossible, there are infinite bad things), you list the few good things to allow (easy, you know your own services). Everything else is automatically refused.
On Linux, the friendliest firewall is called ufw, which literally stands for "Uncomplicated Firewall." It's a plain-English front end for the powerful-but-scary firewall built into Linux. Let's set it up. First, make sure it's installed (on Debian/Ubuntu-style systems):
What you'll see: either a short install progress, or a message that it's already installed. Either is fine. (The word sudo at the front means "do this as the administrator" — it may ask for your password, and you won't see the password characters as you type, which is normal and intentional.)
Now — and this order matters — we set the two default rules before turning anything on. Deny all incoming, allow all outgoing:
What you'll see: after each, a line like Default incoming policy changed to 'deny'. This says: nothing from the outside may come in, but your machine is free to reach out (so it can still download updates, talk to the internet, etc.). Perfect.
STOP and read this before the next command, because it can lock you out. If you connect to this machine remotely over SSH (the terminal-over-the-network tool from Part II), you MUST open the SSH door before you enable the firewall — otherwise you'll slam the door on your own hand and lose your connection. If you're sitting physically at the machine with a keyboard, you're safe either way, but do it anyway out of habit.
What you'll see: Rules updated. Port 22 is the standard SSH door (tcp is just the type of traffic — the common one). Now open the doors for the specific app services you want reachable. Say you run a service on port 8080:
A friendlier touch: you can label a rule so future-you remembers why it's there. And you can restrict a door so only devices inside your house may use it — a great idea for admin services that should never face the internet:
What this means: "Only devices on my home subnet may knock on port 8080." Anyone from the wider internet is refused at that door entirely. Since your remote access already goes through a secure tunnel (Part III), most of your app ports never need to be open to the raw internet at all — the tunnel is the one guarded entrance. This is least privilege in action: give each door the narrowest permission that still lets your life work.
With SSH and your needed apps allowed, flip the switch:
What you'll see: a warning — Command may disrupt existing ssh connections. Proceed with operation (y|n)? — type y and press Enter. Then Firewall is active and enabled on system startup. That last part is lovely: it means the firewall comes back automatically every time the machine reboots. You never have to remember to turn it on again.
Now review exactly what you've allowed:
What you'll see: the default policies (deny incoming, allow outgoing) and a neat list of every door you opened, with its port and any restrictions. Read it like a guest list. If a line is there that you don't recognize or no longer need, remove it — every open door is a door someone could try. To delete a rule, run sudo ufw delete allow 8080/tcp and it's gone. Keeping this list short and intentional is ongoing hygiene, not a one-time chore.
SSH is how you administer your machines remotely, which makes it the single most important door to reinforce. Three moves make it dramatically stronger.
First: use keys, not passwords. A password can be guessed; a cryptographic key cannot be, in any realistic timeframe. An SSH key is a matched pair of files — a public "lock" you put on the server and a private "key" you keep on your own computer. On your personal computer (not the server), generate a pair:
What you'll see: it asks where to save (press Enter for the default) and for an optional passphrase (add one — it encrypts the key on disk). Then it prints a little ASCII-art "randomart" image, which just confirms the key was made. Now copy the public lock to your server:
It'll ask for your password this one last time, then install the key. From now on you log in with the key automatically. Test it: ssh [email protected] should let you straight in.
Second: turn off password login and root login. Once keys work, close the weaker path entirely. Open the SSH config file with a text editor:
Find (or add) these two lines, setting them exactly like this:
What these do: PermitRootLogin no forbids logging in directly as the all-powerful "root" administrator — attackers always try "root" first, so this removes their favorite target. PasswordAuthentication no means only your key works; guessing passwords becomes pointless because passwords are no longer accepted. Save the file (in the nano editor: Ctrl+O, Enter, then Ctrl+X) and restart SSH so the changes take effect:
Important safety net: keep your current terminal window open and, in a new window, test that you can still log in with your key before you close anything. If the new login works, you're golden. If it doesn't, your still-open window lets you fix the config. Never burn your only bridge.
Third (optional): change the port. Moving SSH off the default port 22 to something like 2222 doesn't add real security by itself, but it does hush the constant automated background noise of bots probing port 22. If you do it, change the Port line in that same config file, then open the new port in ufw (sudo ufw allow 2222/tcp) before restarting SSH, and connect with ssh -p 2222 .... Skip this if it feels like too much — keys and disabled passwords are 95% of the benefit.
Software has flaws; flaws get discovered; vendors publish fixes. A machine running last year's software is a machine full of known, published holes. The cure is to keep everything updated, and the easiest way is to make it automatic. On Debian/Ubuntu systems:
What you'll see: a simple blue text screen asking "Automatically download and install stable updates?" Choose Yes. From now on, security patches install themselves quietly in the background. (On this builder's CachyOS/Arch-style system, updates come via pacman instead, and there's already a self-healing routine that repairs libraries after updates — the principle is identical: stay current.)
Finally, post a guard against brute-force attacks. A brute-force attack is when someone tries thousands of login guesses in a row. Even with keys-only SSH, it's satisfying and wise to simply ban anyone who tries. That's fail2ban: it watches your logs and, when it sees an address making repeated failed attempts, it tells the firewall to block that address for a while.
What you'll see: a short install, then the service starts. Out of the box it already protects SSH. To watch it work:
What you'll see: counts of failed attempts and a list of currently banned addresses. It is oddly delightful to check this after a week and see a dozen would-be intruders sitting in the penalty box. Your apps from Part II can benefit from the same idea — this builder's whole stack already has brute-force lockout on every backend, which is exactly this principle applied one layer up.
Security without focus becomes paranoia, and paranoia is exhausting and eventually abandoned. So spend ten honest minutes on a threat model: a plain answer to "what am I actually protecting, and from whom?" You are almost certainly not the target of a nation-state hacking team. You are a target of automated bots that scan the whole internet looking for any unlocked door, and you want to guard against the everyday risks: a hacked cheap gadget, a stolen laptop, a failed hard drive, a leaked password.
For most sovereign homes the honest threat model is: "Protect my money, my private data, and my ability to keep running — against automated attacks, dumb mistakes, and hardware failure." Notice that hardware failure and your own mistakes are on that list right beside hackers. That's why the next module is backups — because the thing most likely to ruin your day isn't a villain in a hoodie, it's a dying disk. Everything you did in this module — default-deny firewall, keys-only SSH, auto-updates, fail2ban — cleanly answers the "automated attacks" part. You've already built a fortress that shrugs off the overwhelming majority of real-world threats. Now let's make sure that even if the worst happens, you lose nothing.
Everything you've built — your services, your creative work, your money's records, your notes — lives on hard drives. And here is a truth every veteran learns, usually the hard way: hard drives don't fail if, they fail when. A drive is a spinning platter or a chip with a finite lifespan. One ordinary morning it will simply not turn on. If your only copy of something lives there, it's gone forever. Backups are how you make that morning a minor annoyance instead of a catastrophe. This is the least glamorous module and possibly the most important. Let's make you unbreakable.
You may have met the 3-2-1 rule before. It's the gold standard, and it's beautifully simple. It says: keep 3 copies of anything you care about, on 2 different kinds of storage, with 1 copy kept somewhere else physically (offsite).
Why three copies? Because the whole point of a backup is redundancy, and if you have only one backup, then during the scary window when you're restoring it, you momentarily have zero spares. Three copies means two separate disasters must strike at the same moment before you lose data — vanishingly unlikely.
Why two kinds of media? Because failures often hit a whole batch. If both copies are on identical drives bought the same day, they may wear out together, or the same power surge may kill both. Different media (an internal disk plus a NAS plus a cloud copy, say) don't share the same fate.
Why one offsite? Because "3 copies on 2 media" still all burn in the same house fire. A copy at a relative's house, in a bank box, or encrypted in the cloud survives events that erase your whole home. This builder's Empire-Backup does exactly this — nightly encrypted copies to three separate NAS boxes — and it's restore-proven, which is the part everyone forgets. We'll get to proving it.
A NAS — Network Attached Storage — is simply an always-on little box full of hard drives that sits on your network and offers storage to everything in your house. Think of it as your home's private, always-available filing cabinet. Instead of scattering files across laptops, you keep them on the NAS, and every device can reach them. It's the natural home for backups because it's always on and has lots of room. This builder runs several (Eden98 and others), and they hold both the media library and the encrypted backups.
Now, the myth I must break for you. Many NAS boxes offer RAID, which lets multiple drives work together. The most common friendly form is mirroring (RAID 1): two drives hold identical copies, so if one dies, the other carries on with zero data loss and you just swap in a fresh drive. Wonderful for uptime.
But hear this clearly: RAID is NOT a backup. RAID protects against one thing only — a single drive physically dying. It does nothing against the things that actually destroy most data: you accidentally deleting a folder (RAID faithfully deletes it from both mirrored drives instantly), a virus or ransomware encrypting your files (RAID mirrors the encryption), a corrupted file, a fire, or a theft. RAID copies mistakes and disasters just as eagerly as it copies good data. It's a resilience feature, not a time machine.
So: love RAID for keeping your NAS running, but never let it lull you into skipping real backups. The rest of this module is about real backups.
A backup should be encrypted — scrambled so that only you, with your passphrase, can read it. Why? Because a backup is, by design, a complete copy of your most sensitive data, and it travels to other drives and offsite locations where you don't control physical access. If someone steals the offsite drive, encryption makes it a useless brick to them.
The friendliest serious tool for this is restic. It handles encryption, deduplication (it's smart enough not to store the same file twice, saving huge space), and easy restores, all in one. Let's set up a real backup. Install it:
A backup lives in a "repository" — restic's word for the encrypted vault where copies are kept. Create one on your NAS or backup drive (here, a mounted drive path — adjust to yours):
What you'll see: it asks you to enter a password twice. This is your encryption passphrase — the key to the whole vault. Write it down somewhere physical and safe, because if you lose it, your backups are permanently unreadable — even to you. Then it prints created restic repository .... Your vault exists. Now make your first backup — say, of your home folder:
What you'll see: a live progress readout of files being scanned and saved, then a summary: how many files were new, how much data was added, and a snapshot ID. A "snapshot" is one point-in-time copy. Run it again tomorrow and restic only stores what changed — fast and space-efficient. To see all your snapshots later:
(If you prefer, borg works almost identically and is equally respected. Or, for the simplest possible approach, rsync copies files to another drive and you can wrap it with gpg for encryption — this builder's Empire-Backup uses gpg with AES-256, a rock-solid choice. Any of these is fine. The tool matters far less than the habit.)
A backup you have to remember to run is a backup that won't happen. The fix is cron, Linux's built-in scheduler — a little robot that runs a command for you on a timetable, forever, without being asked. Let's have it back up every night at 2 AM.
First, put your backup command in a small script so cron has something tidy to run. Create a file /home/me/nightly-backup.sh containing your backup command (and set the repository password via an environment variable so it runs unattended). Then make it executable:
Now open your personal cron schedule:
What you'll see: a text editor (it may ask which editor the first time — pick nano if unsure). Add this single line at the bottom:
What this cryptic line means, read left to right: minute 0, hour 2 (so 2:00 AM), every day, every month, every weekday (the three stars mean "always"), run that script. Save and exit. That's it — your machine will now back itself up every night while you sleep, forever. This builder's Empire-Backup runs on exactly this kind of nightly schedule. Set it once, and quietly gain peace of mind for years.
Now the rule that separates people who think they're safe from people who are safe. Say it with me: a backup you have never restored is not a backup — it's a hope. Backups fail silently all the time — a misconfigured path, a wrong password, a full disk, a corrupted repository. You will discover the failure at the worst possible moment (right when you desperately need the backup) unless you test it in calm times.
Testing is easy and you should do it today, then every few months. Restore your backup into a scratch folder — not over your real files — and look at it with your own eyes:
What you'll see: restic asks for the repository password, then reports files being restored, ending in a success line. Now go look inside /tmp/restore-test — open a few files, confirm they're really your files and they really open. That is the moment you can trust your backup. When you're satisfied, delete the test folder (rm -rf /tmp/restore-test). Do this on a recurring reminder. A tested restore is the single most reassuring thing in your whole sovereign setup — this builder's backups are described as "restore-proven" for precisely this reason. Proof beats hope every time.
The final "1" in 3-2-1. Everything so far protects you against drive failure and mistakes, but it's all under one roof. A fire, flood, or burglary could take the server AND the NAS together. So one copy must live somewhere else entirely.
You have two easy paths. The low-tech path: keep an encrypted external hard drive with a copy of your backup, and physically store it elsewhere — a relative's house, your office, a bank safe-deposit box. Rotate it every month or two: bring it home, update it, take it back. Because it's encrypted (restic and borg encrypt by default), it's safe even if it's lost or stolen in transit. The networked path: since your data is already encrypted before it leaves your machine, you can safely send a copy to a cheap cloud storage bucket or a friend's NAS. restic and borg both speak to remote storage directly — you just point the repository at a remote location instead of a local folder. The provider only ever sees encrypted gibberish; your passphrase never leaves your hands.
Pick whichever fits your life — even the humble external drive at your parents' house is a complete, legitimate offsite backup. What matters is that after this module you have: multiple copies, on different media, one of them off-premises, encrypted, running automatically, and tested. That is a genuinely bulletproof data foundation. Nothing short of a very bad and very unlucky day can take your data now — and you've made even that day survivable. Sleep well.
You've secured your network, your machines, and your data. Now let's extend sovereignty to your home's physical security — cameras — without handing your private life to a corporation. This module is more of a guided map than a keystroke-by-keystroke walkthrough, because local cameras are genuinely advanced. But you'll finish understanding exactly what to buy, how to arrange it, and why it's worth doing. The prize is real: eyes on your home that answer only to you.
Ring, Nest, and most consumer smart cameras share one design: the video your camera captures is uploaded to the manufacturer's servers, and you view it through their app by pulling it back down from their cloud. That convenience carries a heavy hidden cost. A continuous video feed of the inside and outside of your home lives on computers you do not own or control.
Consider what that means. Employees at those companies have, in documented cases, been able to view customer footage. The footage can be handed to third parties or law enforcement — sometimes without a warrant and without telling you. A breach of the company exposes your home to strangers. The company can change its privacy policy, get acquired, or go bankrupt, and your footage goes along for the ride. And every camera depends on that company's servers staying online and the company staying in business — if their cloud goes down, your camera is a paperweight. You bought a security device and received a surveillance device pointed back at you, with a monthly subscription to boot.
This runs against everything you've built in this academy. You've spent four parts refusing to let your money, your computing, your creativity, and your data live on someone else's servers. Your cameras should follow the same principle: the footage of your home should never leave your home.
Here's the sovereign architecture, and it's wonderfully self-contained. You use PoE cameras wired to a local NVR that does all the recording and smart detection on a machine in your house, connected to nothing outside.
PoE stands for "Power over Ethernet." It means the camera is connected by a single Ethernet cable that carries both its power and its data — no separate power adapter, no batteries, no Wi-Fi. One cable does everything, which makes these cameras reliable, tamper-resistant, and — crucially — easy to keep off the internet, because a wired camera has no reason to reach out to any cloud. Brands like Reolink, Amcrest, and Dahua make solid PoE cameras, and this builder's plan already names Reolink for exactly this role.
NVR stands for "Network Video Recorder" — the brain that receives the camera feeds, records them, and lets you watch. You could buy a dedicated NVR appliance, but the sovereign move is software: run a free, local NVR program on a computer you own. The best-loved one is Frigate.
Frigate is open-source NVR software that runs as a Docker container (exactly the kind of service you learned to run in Part II — it'll feel familiar). What makes it special is that it does AI object detection locally: it watches each camera feed and can tell the difference between a person, a car, a dog, and a windblown tree — and it does all of that thinking on your own hardware, with nothing sent to any cloud.
This solves the classic camera annoyance (endless false alerts every time a shadow moves) and keeps it private. You get a notification that says "person detected at the front door" because a neural network running in your own house made that judgment. It's the same spirit as the local AI you already run — intelligence you own, not intelligence you rent. To keep the AI snappy, many people add an inexpensive USB "AI accelerator" (a Google Coral) so detection barely touches the main CPU, though a decent machine — certainly a rig with a capable GPU — can do it unaided.
Frigate stores recordings on your local disk or NAS (tie this into your Module 03 backups if the footage matters to you), and you view everything through its own web interface on your home network. Nothing subscribes, nothing phones home, nothing leaves the building.
Now Module 01's VLAN lesson pays off enormously. Cameras belong on the isolated IoT VLAN, and they should be blocked from reaching the internet entirely.
Think about why this is so powerful. Cheap cameras are notorious for security holes and for quietly "calling home" to servers in other countries. By placing every camera on the sealed IoT VLAN and setting a firewall rule that denies that VLAN any path to the internet, you accomplish two things at once. First, even if a camera's firmware is malicious or compromised, it cannot send your footage anywhere — it has no road out of the building. Second, that camera also can't reach your trusted computers, so a hacked camera becomes a trapped, harmless thing. The only device allowed to talk to the cameras is your NVR (Frigate), and you allow just that one specific path.
This is the whole philosophy of Part IV crystallized in one setup: capability where you want it, isolation everywhere else. Your cameras watch your home; they are themselves watched and caged; and every frame stays under your roof.
Because this is advanced, here's the honest shape of the project rather than a false promise that it's five commands. Take it as a map to follow at your own pace.
The hardware: a few PoE cameras; a "PoE switch" or "PoE injector" (the little box that pushes power down the Ethernet cables); Ethernet cabling to each camera location; and a machine to run Frigate (your existing server or a dedicated small PC — video is demanding, so a bit of muscle helps). The network: create the isolated camera VLAN on your router and block its internet access, as in Module 01, allowing only your NVR to reach the cameras. The software: run Frigate as a Docker container, and write its configuration file listing each camera's address and login and which detection settings you want. The tuning: spend an evening adjusting detection "zones" (draw a box around your driveway so you're only alerted for that area) and sensitivity until alerts are meaningful. The access: view it on your home network, and if you want it on your phone while away, route it through your existing secure tunnel from Part III — never by opening the cameras to the internet.
Give yourself a full weekend and permission to do it in stages — one camera first, get it working, then add the rest. Every step reuses skills you already have: Docker, config files, VLANs, tunnels. You're not learning a new world; you're combining rooms you've already built.
The final flourish is bringing everything into one calm local dashboard, and the tool for that is Home Assistant — a free, open-source, entirely local home-automation hub, also run as a Docker container on your own machine. It's the sovereign answer to the tangle of separate cloud apps that most smart homes become.
Home Assistant speaks to Frigate directly, so it can show your camera feeds and, more importantly, act on Frigate's local AI detections. "When Frigate detects a person at the front door after dark, turn on the porch light and send a notification to my phone" — a rule like that runs entirely inside your house, no cloud in the loop, deciding and acting in real time. It can pull in your other local-control smart devices too (the kind this builder's smart-home plan is waiting to buy), so one private dashboard, on hardware you own, becomes the nervous system of your home.
That completes the picture of a locally-watched home: wired cameras that can't betray you, AI that thinks on your own silicon, isolation that cages every device, and a private dashboard that ties it together — the entire loop closed inside your four walls, answering to no one's cloud. Now let's step back and run the whole thing as one calm, coherent system.
You've done something remarkable. Across four parts you've built a genuine sovereign home — money, computing, creativity, and now security and infrastructure, all under your own roof. This final module ties every piece into one clear mental map, gives you a light routine to keep it healthy, and a calm plan for when something breaks (because occasionally it will, and that's completely fine). Then we close the whole journey. Let's zoom out and see the fortress entire.
Here is the whole architecture on one page. Read it top to bottom and notice how every part you've learned has a place. This isn't abstract — it's essentially the map of the stack you now run.
Study that shape until it feels obvious. The router guards the front and splits the house into trusted and untrusted halves. Your server runs the Docker services that are your sovereign life. The NAS stores everything and holds the tested backups. The tunnel is the one guarded door to the outside so you can reach home from your phone without exposing anything. The cameras and gadgets are sealed in their own wing. Every arrow is something you built and understand. This is your kingdom, and you can hold its entire structure in your head — which is exactly why you can run it confidently.
A sovereign home is not a machine that runs untended forever, but neither is it a demanding job. Fifteen calm minutes a week keeps everything healthy. Here's the whole routine, and every command in it is a friend you've already met.
Check your disk space — the most common cause of mysterious breakage is a disk quietly filling up. Run:
What you'll see: a table of your drives, and for each one a Use% column and how much is Avail. The -h means "human-readable" (shows GB and TB instead of gigantic raw numbers). Glance at Use%. Anything under 80% is happy; if a drive creeps past 85–90%, it's time to clean up old files or old Docker images before it fills completely and starts breaking services. Catching this early turns a crisis into a two-minute tidy.
Check your services are running. If your apps run in Docker:
What you'll see: one line per running container, with its name and a STATUS like Up 3 days. Skim the list — is everything you expect to be running actually there and "Up"? If a container you rely on is missing or shows as restarting, that's your flag to look closer (Step 3 covers exactly what to do). This is a five-second sanity check that catches problems before you notice them as an app "acting weird."
Run your updates — weekly is a good rhythm on top of the automatic security updates from Module 02. On a Debian/Ubuntu system: sudo apt update && sudo apt upgrade. On this builder's Arch/CachyOS system it's sudo pacman -Syu. What you'll see: a list of what will be updated and a prompt to confirm — glance it over, confirm, and let it run. And finally, glance at your backups: confirm last night's backup actually ran (restic -r /mnt/nas/backups snapshots should show a snapshot from today), and once every few months do a real restore test as Module 03 taught. That's the entire routine. Disk, services, updates, backups. Fifteen minutes, a cup of coffee, done.
Something will eventually misbehave — an app won't load, a service acts strange. This is normal, it is not an emergency, and you have a calm, reliable playbook. The order is always the same: look, then restart, then restore.
First, look at the logs. A "log" is simply the diary a program writes about what it's doing, and it almost always says what went wrong in plain-ish language. For a Docker service:
What you'll see: the last 50 lines the program wrote. Read from the bottom up — the error is usually near the end, and words like error, failed, permission denied, or no space left point straight at the cause. (That last one loops right back to "check your disk space"!) You'll be surprised how often the log just tells you the answer.
Second, restart the thing. An enormous fraction of glitches — a service that got into a confused state, a temporary hiccup — vanish with a clean restart. It is not a cop-out; it's a legitimate and often correct fix.
What you'll see: the container name printed back, and a few seconds later it's running fresh. Try the app again — very often, it's simply back. If a restart fixes it and it stays fixed, you're done; no need to hunt further.
Third, if it's truly broken, restore. This is the moment all of Module 03 was building toward. If a service's data got corrupted or you made a change that broke everything, you don't panic and you don't lose your work — you restore from last night's tested backup and you're back to a known-good state in minutes. This is the deep calm that backups buy you: nothing you can do, and nothing that can fail, is unrecoverable. The worst realistic outcome is "roll back to yesterday," which is almost never a real loss. A safety net that thorough changes how it feels to run your own systems — you experiment freely, because you cannot truly lose.
One gentle reminder from this builder's own hard-won lessons: before restarting anything that touches your live desktop session or displays, pause and consider whether it'll knock you out of your session — some system services are load-bearing for the screen you're looking at. When in doubt with a core system service, prefer a gentle reload over a hard restart, and know what a given action affects before you take it. For your Docker apps, though, restart away — they're isolated and safe to bounce.
Let's set the right expectation for the years ahead, because your relationship with this system matters as much as the system itself. A sovereign home is a garden, not a machine. It doesn't demand constant labor, but it does reward gentle, regular attention. Fifteen minutes a week. An occasional afternoon adding a new service or camera because you want to. A restore test every few months. That's the true weight of it.
Some weeks you'll happily tinker for hours because it's genuinely fun to extend something you own. Other weeks you'll do the fifteen-minute check and walk away. Both are correct. The goal was never to make running infrastructure your second job — it was to own your infrastructure so that no company can rug-pull you, spy on you, jack up your subscription, or switch off a service you depend on. That ownership is worth the modest tending, the way a paid-off house is worth mowing the lawn. And every hour you put in makes the next problem easier, because you built it, so you understand it, so you can fix it. That compounding confidence is the real reward — you become someone who is not helpless in the face of their own tools.
Step back and look at what you've actually accomplished across this entire academy. It's extraordinary, and you should feel it.
In Part I, you took ownership of your money — self-custodied Bitcoin, your own keys, no bank standing between you and your wealth, no one able to freeze or seize what is yours.
In Part II, you took ownership of your computing — your own services running on your own hardware, your own local AI thinking on your own silicon, no cloud subscription, no company reading your data or deciding what you're allowed to run.
In Part III, you took ownership of your creativity and reach — making, generating, and publishing on your own terms, reachable from anywhere through a door only you hold the key to.
And in Part IV, right here, you took ownership of your home's security and data — a network you understand and control, a firewall and hardened doors, backups that make you unbreakable, and eyes on your home whose footage never leaves your walls.
That is a complete sovereign life — money, computing, creativity, and home, all held in your own two hands. When the next headline breaks about a data leak, a frozen account, a shuttered service, a price hike, or a company quietly reading its users' private files, you will read it as an outside observer. None of it can touch you, because you opted out of depending on any of them. You built the alternative yourself, and you understand every brick of it.
You didn't do this by being a genius or by having special credentials. You did it by learning one plain-English concept at a time, running one command at a time, and refusing to accept that the only way to live a modern digital life is as a tenant on someone else's land. You are not a tenant anymore. You own the land, the house, the walls, and the keys.
Welcome to the fortress. It's yours, and it answers to no one but you. Now go live sovereign.
Answer these to check your understanding. Nothing is graded or stored — it's just for you.