SlideShare a Scribd company logo
1 of 57
REVIVING AN
OLD COMPUTER
FOR HOME
AUTOMATION:
With Home Assistant, CasaOS,
and AdGuard
Ricardo Fearing
@rfearing
1.Software Engineer | GitHub 🏻💻
2.Foster & expecting dad 👨👩👧👦
3.I practice Jiu Jitsu
4.First conference talk 😬😱😳
5.Not an “IT guy” 💾
6.Love DIY & home “hacks” ♻
- Home Assistant to unify your home
- Adguard Home to block ads
- CasaOS to manage apps
- Tailscale to connect remotely
- An old computer to run your setup
What & why?
What & why?
Home Hub, phase one:
a modern OS
3
Linux CasaOS Home Assistant AdGuard Tailscale
1 2 4 5
3
Install Linux...
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
1. Restart the computer
2. Look for prompted key
3. Quickly press prompted key
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
1. Select “Boot Menu” or “Boot Order”
2. Select and move the USB to the top of the list
3. Save and exit
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
Install Linux...
1. Install balenaEtcher
(etcher.balena.io)
2. Install the OS .iso file
3. Flash the USB
4. Insert USB &
Restart computer in “Boot Menu”
5. Select new bootable drive (the USB)
6. Run through the on-screen menu
Bonus tips...
- Disable sleep
- Disable (undesired) startup applications
- Set up times to update
- Adjust power management
DHCP Reservation / Static IP:
DHCP Reservation / Static IP:
1.Login to router’s admin e.g. 192.168.2.1
2.Find “LAN Setup” or “DHCP” settings
3.Find computer in “connected devices”
4.Select and the save IP for your device
DHCP Reservation / Static IP:
1.Open your terminal
2.Note the info about your current network
3.Edit your network configuration.
4.Restart your network to apply changes.
Home Hub, phase two:
a simple foundation
Linux CasaOS Home Assistant AdGuard Tailscale
1 2 4 5
3
https://casaos.io/
Installing with CasaOS...
Install via CasaOS...
Home Assistant
Home Hub, phase three:
an IOT powerhouse
Linux CasaOS Home Assistant AdGuard Tailscale
1 2 4 5
3
💡 👇
Home Assistant
Home Assistant
Source: https://github.com/pqpxo/SWAKES_hassio
Home Assistant
Source: https://community.home-assistant.io/
Home Assistant
Integrations
Home Assistant
other install options:
CasaOS / Docker
Home Assistant
Ricardo’s
suggestions
Home Assistant
- Zones
- Enable Advanced mode
- Enable 2FA
- HACS
Home Assistant
- Zones
- Enable Advanced mode
- Enable 2FA
- HACS
Home Assistant
- Zones
- Enable Advanced mode
- Enable 2FA
- HACS
(Home Assistant Community Store)
Home Hub, phase four: Kill ads
Linux CasaOS Home Assistant AdGuard Tailscale
1 2 4 5
3
Ad blockers
DNS Sinkholes:
(HOME)
Source: https://www.getthecoast.com/water-main-break-in-destin-causes-large-sink-hole-near-winn-dixie/
140.82.113.3
github.com
140.82.113.3
github.com
0.0.0.0
ads.web.com
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add per-device settings
- Add more block lists
- Custom DNS entries
tcp 0.0.0.0:53: bind: address already in us
⚠️
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add per-device settings
- Add more block lists
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your CasaOS instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add per-device settings
- Add more block lists
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add per-device settings
- Add more block lists
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add per-device settings
- Add more block lists
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add more block lists
- Add per-device settings
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add more block lists
- Add per-device settings
- Custom DNS entries
Setup AdGuard Home...
1. Install AdGuard via CasaOS
2. Create a login
3. Point your router to your AdGuard instance
4. Tweak some settings:
- Add parental control
- Safe search
- Add more upstream servers
- Add more block lists
- Add per-device settings
- Custom DNS entries
Home Hub, phase five:
access anywhere
Linux CasaOS Home Assistant AdGuard Tailscale
1 2 4 5
3
100.100.100.50 100.100.100.51 100.100.100.52
https://tailscale.com/
100.100.100.51:85
Conclusion:
- Home Assistant to unify your home
- Adguard to block ads
- CasaOS to manage apps
- Tailscale to connect remotely
- An old computer to run your setup
Any Questions?
Companion blog post / slides:
github.com/rfearing/ato-2023

More Related Content

Similar to Reviving an Old Computer for Home Automation with Home Assistant, CasaOS, and AdGuard

Jenkins Setup Document
Jenkins Setup DocumentJenkins Setup Document
Jenkins Setup Documentmobi fly
 
Taishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun Owens
 
Serving Moodle Presentation
Serving Moodle PresentationServing Moodle Presentation
Serving Moodle Presentationwebhostingguy
 
Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2IMC Institute
 
OpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXOpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXAnne Gentle
 
Dev ops & laas fundamental
Dev ops & laas fundamentalDev ops & laas fundamental
Dev ops & laas fundamentalKanin Kearpimy
 
A.I. Exercise.
A.I. Exercise.A.I. Exercise.
A.I. Exercise.Mario Cho
 
How to export import a mysql database via ssh in aws lightsail wordpress rizw...
How to export import a mysql database via ssh in aws lightsail wordpress rizw...How to export import a mysql database via ssh in aws lightsail wordpress rizw...
How to export import a mysql database via ssh in aws lightsail wordpress rizw...AlexRobert25
 
Install and configure linux
Install and configure linuxInstall and configure linux
Install and configure linuxVicent Selfa
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesLarry Cai
 
Vagrant - Team Development made easy
Vagrant - Team Development made easyVagrant - Team Development made easy
Vagrant - Team Development made easyMarco Silva
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11julien.ponge
 
How to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackHow to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackcercer
 
WordPress End-User Security
WordPress End-User SecurityWordPress End-User Security
WordPress End-User SecurityDre Armeda
 
Odoo 13 installation on ubuntu 19.04
Odoo 13 installation on ubuntu 19.04Odoo 13 installation on ubuntu 19.04
Odoo 13 installation on ubuntu 19.04PlanetOdoo
 

Similar to Reviving an Old Computer for Home Automation with Home Assistant, CasaOS, and AdGuard (20)

Jenkins Setup Document
Jenkins Setup DocumentJenkins Setup Document
Jenkins Setup Document
 
Taishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_Lab
 
Serving Moodle Presentation
Serving Moodle PresentationServing Moodle Presentation
Serving Moodle Presentation
 
Snort-IPS-Tutorial
Snort-IPS-TutorialSnort-IPS-Tutorial
Snort-IPS-Tutorial
 
My Teacher Got IT v2.0 - Software Installation Track
My Teacher Got IT v2.0 - Software Installation TrackMy Teacher Got IT v2.0 - Software Installation Track
My Teacher Got IT v2.0 - Software Installation Track
 
Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2
 
OpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXOpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATX
 
Dev ops & laas fundamental
Dev ops & laas fundamentalDev ops & laas fundamental
Dev ops & laas fundamental
 
A.I. Exercise.
A.I. Exercise.A.I. Exercise.
A.I. Exercise.
 
anonguide July 17 2015
anonguide July 17 2015anonguide July 17 2015
anonguide July 17 2015
 
How to export import a mysql database via ssh in aws lightsail wordpress rizw...
How to export import a mysql database via ssh in aws lightsail wordpress rizw...How to export import a mysql database via ssh in aws lightsail wordpress rizw...
How to export import a mysql database via ssh in aws lightsail wordpress rizw...
 
Install and configure linux
Install and configure linuxInstall and configure linux
Install and configure linux
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
 
Vagrant - Team Development made easy
Vagrant - Team Development made easyVagrant - Team Development made easy
Vagrant - Team Development made easy
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
 
Kickstart server
Kickstart serverKickstart server
Kickstart server
 
Anonguide
AnonguideAnonguide
Anonguide
 
How to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackHow to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stack
 
WordPress End-User Security
WordPress End-User SecurityWordPress End-User Security
WordPress End-User Security
 
Odoo 13 installation on ubuntu 19.04
Odoo 13 installation on ubuntu 19.04Odoo 13 installation on ubuntu 19.04
Odoo 13 installation on ubuntu 19.04
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Reviving an Old Computer for Home Automation with Home Assistant, CasaOS, and AdGuard

Editor's Notes

  1. Hello, I'm Ricardo Fearing, and today, I'm excited to share some findings from a DIY project that I use every day in my home. Many of us, especially those working in IT, tend to accumulate old but functional tech that has become outdated. These devices sit in our closets or junk drawers, collecting dust and waiting for us to figure out how to make them useful again. If that sounds familiar, you're in for a treat because I'm about to show you how to transform that forgotten companion into the ultimate central hub for your smart devices, home automation, and security needs. (Maybe: This talk clocks in about 30 minutes so we have some room for questions throughout the talk and some space at the end). Join me as we breathe new life into these dusty relics and turn them into invaluable assets for your home."
  2. First, a few things about me: (animated) Software Engineer | GitHub 🧑🏻‍💻 (I work on our marketing platform) Foster & expecting dad 👨‍👩‍👧‍👦 (we’re expecting a little lady in December) ⚠️ Fair warning. There may be some dad jokes scattered in this talk I practice Jiu Jitsu 🥋 Fun way to get out of the office and stay in shape This is my first conference talk 😬😱😳 So excuse any nerves that show from here While I am a software engineer, I’m Not an “IT guy” 💾 (or networking expert by any means, and I think if you’re like me: “IT adjacent” this talk may be for you as well.) I really enjoy creating DIY home hacks that reuse things from around the house
  3. My goal is to share with you simple-to-use tech stack and how each can improve your home automation setup. Allowing you to: Unify you smart devices into one central hub, using Home Assistant Provide added security and speed to your network by keeping away ads and blocking unsafe content for you and your family, using AdGuard Home Simplify app installation and maintenance by using CasaOS Easily create a tunnel to your system so you can access it from anywhere using Tailscale Do it all without buying additional hardware
  4. I’ve already touched on some of these reasons, but ultimately, “why should you care?” Why not just buy into an ecosystem? You’ll avoid contributing to the waste created by thrown out / out-of-date devices and you’ll free up space in the closet or junk drawer. The software we’ll be using today often is more powerful and has more potential than the off-the-shelf / proprietary counterparts (like “Google Home” for instance) You’ll be saving money by not needing to buy another device for your hub and not being by “locked in” to an ecosystem freeing you to buy less expensive brands when there is something you need new.
  5. My first step assumes your computer is not “fresh out of the box” so it’s best to install a modern OS for added: Stability & Reliability Compatibility Performance Continued support. CasaOS requires us to use a Linux distribution and I’d argue it’s the best way to get a modern OS on the most devices. Gas Mileage Image Animation: IMPORTANT: THIS IS A VERY BROAD STROKES OVERVIEW / YOUR MILEAGE MAY VERY This is really just one option of many. I kind of think of this as a choose your own adventure book 📖 and I’m just sharing with you the adventure I chose.
  6. What you’ll need: An old computer or a raspberry pi A USB drive, ideally with at least 8GB And a newer computer (this can make installing things a bit easier but isn’t necessarily needed)
  7. I suggest doing the first three steps on a modern computer if you have one. The first thing we’ll want to do is download and install a utility tool to flash an operating system onto our USB drive. I suggest BelenaEtcher as it’s cross-platform and reliable.
  8. Next we’ll want to get an exact copy of an entire modern operating system, archived into a single file called an .iso file Two of the most popular Linux distributions are Ubuntu & Debian. Ubuntu, is a bit more popular and provides a great UI while Debian provides multiple UI options and provides 32 bit support. ⚠️ At this point, you’ll want to ensure compatibility with your system by verifying whether your computer runs a 32-bit or 64-bit CPU. If you have a 32-bit system my suggestion would be to consider choosing Debian. (Ubuntu no longer releases 32 bit versions). There is a link in my corresponding blog post with how you can determine which your CPU your system has.
  9. Once we have our flashing utility and our .iso file we can flash our usb-drive, which is essentially copying the contents within the ISO file onto the thumb drive in a way in which our old machine can boot up from it. Inside BalenaEtcher: We select "Flash from file" option within balenaEtcher. Select the OS .iso file you downloaded in the previous step. Select the USB drive as our destination. My first time around I did run into an issue with my flash-drive but just had to run these steps again.
  10. Now that we have a bootable USB drive, I want to guide you through the process of accessing 'Boot Mode' on your target device. Accessing Boot Mode may vary slightly depending on your computer's manufacturer and firmware type, however, the two most common boot systems are BIOS (Basic Input/Output System) or UEFI (Unified Extensible Firmware Interface). For both, you’ll want to: Restart your computer. Look for Key Prompt, something like "Press [Key] to enter setup." Quickly press the specified key (common keys include F2, F12 or Delete) (If you don’t get it in time, you’ll know what to press and be able to be pressing it on your next restart.)
  11. To select the usb as the new bootable drive: Navigate to the “Boot Menu”, "Boot" or "Boot Order" section using the keyboard arrow keys. Select and move the USB to the top of the list Save and exit. Your computer will then reboot using the selected boot device.
  12. When setting up either Ubuntu or Debian, you will encounter slightly different installation steps, but both distributions will guide you through configuring essential settings like: Language Time Zone Internet Connection Once you've completed the setup steps…
  13. congratulations! You did it! You've successfully installed a modern operating system on your old machine.
  14. Disable sleep Disable (undesired) startup applications Set up times to update: I like to set up times to update so I know when the computer will be offline I also can change my router settings temporarily (which we’ll go over when we get to AdGuard Home) Power Management: Adjust power management settings to optimize the laptop's power usage, especially if it's running 24/7 as a server.
  15. Before proceeding with the remaining steps today, it's essential to ensure that your computer consistently maintains the same IP address on your home network. Typically, routers use DHCP (Dynamic Host Configuration Protocol) to assign IP addresses, which can change over time. To maintain a consistent IP address, you have two options: Set up a static IP address on your computer Configure a DHCP reservation in your router. In my accompanying blog post, I include instructions for both methods in more detail, however it’d be impossible to show you a step-by-step process that will work for every machine, so what I’ll show you is very broad strokes / high level summary. DHCP Reservation steps on next slide.
  16. Access your router's configuration by opening a web browser and entering your router's IP address. Navigate to the DHCP settings section. Locate the list of connected devices Select the newly set up machine from the list. Find the “Reserve IP” option and save the changes.
  17. Open your terminal Note the info about your current network Particularly the connection type ethernet or wifi Your IP address Edit your network configuration. Restart your network to apply changes. Now this is a gross oversimplification, but trying to go into detail I think would be both boring to sit through and I don’t think particularly useful.
  18. Now that we have our machine up-to-date with Linux, let’s begin installing software with CasaOS To avoid confusion, I want to clarify that, despite its name, CasaOS is not an operating system. At a high level, CasaOS is a open-source, user-friendly interface to manage docker applications. Its focus is to make managing and deploying applications and services for a home network environment super easy.
  19. CasaOS is built on the Docker ecosystem, which uses lightweight, isolated environments that package applications and their dependencies called “containers”, making it easy to run software consistently across different systems. CasaOS requires an underlying Linux Operating System, tho Docker does not. CasaOS has a number of pre-configured apps that can be installed with one click including Home Assistant, AdGuard, PiHole, Plex. It provides an intuitive and easy to use UI via your web browser and installing it couldn’t be simpler.
  20. The CasaOS website provides a script to copy and paste into your terminal and that’s it. CasaOS will install and do it’s thing. When the installation is done, it will show you the URL as IP where you can access the main homepage to create a local account to see it’s interface. This account is local to your instance.
  21. CasaOS provides tools for monitoring and managing installed applications. Allowing you to easily: install a number preconfigured apps with only a few clicks install any dockerized app easily start, stop, or restart containers, explore the files of your installed apps see your computer’s health and storage Additionally, CasaOS may offer automated update mechanisms to keep applications and the system itself up to date.
  22. Let’s install the popular video hosting platform “Plex” on or system. All we need to do is: Go to the app store Search for plex Hit Install CasaOS Runs the install (and can do this in the background) When it’s done we have a working version of “Plex” on our machine We can log in or create an account and on our hosted plex instance
  23. Now, if you need to use a custom installation, CasaOS makes that process just as straightforward. (Click here) They offer a 'Custom Install' option that provides all the flexibility and configuration choices you would typically find when working with Docker images. This means you can tailor your CasaOS setup precisely to your needs, selecting the specific applications, services, and settings that suit your home automation and data management requirements. Now I want to talk about the app that got this project started for me.
  24. Home Assistant is an open-source home automation platform that allows you to control and automate various smart devices and services in your home. I want to remind you that I’m showing things in broad strokes. What I’m going to show you truly only scratches the surface. If you find this interesting this just the beginning of what you can do with Home Assistant.
  25. My introduction to Home Assistant began when, like many in 2020, I needed to convert a guest room into an office space. I placed an old light above my desk, but the location made it difficult to access the light switch easily, so I used a super cheap smart outlet (show outlet) to integrate with Google Home. However, I later discovered a downside: when I misplaced my phone, I couldn't control the light. I tried to add the outlet to Apple Home so that I could use my computer but it wasn’t compatible. (up next:... I had begun to add smart devices to my home… )
  26. I had begun to add smart devices to my home (including smart outlets, bulbs, security cameras, a smart thermostat, and a robot vacuum) but it wasn’t until this moment I realized how inconvenient it was that these ecosystems don’t play nice together. I had expected that all my devices…
  27. Work together, easily. I wanted to be the ruler of my smart house. I was hoping my robots would work like a family but sadly…
  28. They were working like a “clique.” Apple was the biggest culprit but I also didn’t want to be forced into having multiple apps for each device. This is where Home Assistant really shines.
  29. Home Assistant offers a user-friendly and unified interface that effectively bridges the gap between all your smart devices, eliminating the need to be concerned about compatibility issues with different ecosystems. It provides the flexibility to create beautiful interfaces for web Mac, Windows, Android and iOS.
  30. It’s particularly popular to turn old tablets into wall panels.
  31. Home assistant has truly countless integrations, but some include Apple home kit Roomba vacuums Google nest thermostats Phillip hue bulbs Google Home assistant (meaning you can use your smart speakers to call your home assistant devices) Alexa The national weather service Samsung smartthings Husqvarna robot mowers Sonos speakers The list really could go on
  32. With CASA OS installed, we can install Home assistant with just a few clicks I want to take a short detour and share another install option for Home Assistant.
  33. There are other HA install options, the primary being “Home Assistant O.S.”, which unlike CasaOS, is an operating system. Home Assistant OS is a great option if: At the end of this talk, you only want to use Home Assistant You don’t want to install Linux You have an extra device (Maybe: I ran into one integration I was thinking about that required Home Assistant OS but…) The key benefits of using CasaOS and docker are: Can restart just one portion of your home system The user UI provides quick insights and an easy way to manage your installations. Remember, CasaOS uses Docker Containers, so you may want to use the Docker CLI: You prefer managing Docker in the terminal and don’t need a UI
  34. Now no matter how you install Home assistant there are some configurations that I suggest you set up.
  35. Set up zones: Zones allow automations based on location such as turning off your lights when you leave home You can select a location (latitude & longitude) and change the radius of the zone depending on your need and add as many zones as you want in the maps menu. One thing I do is simple but was not possible with Google Home at the time. I turn on the lights when my wife or I get close to the house but only after it’s dark out. But HA allows you to chain as many conditionals as you want I’ve heard that Google Home finally has advanced scripts, but I can’t speak into how complex they can get.
  36. Enable the "Advanced Mode.” It grants you access to a comprehensive array of advanced settings, unlocking customization options and fine-tuning capabilities that allow you to tailor your home automation experience precisely to your liking. Enable 2FA It’s always good to secure yourself and you can use any 2 factor app like Google Authenticator to add additional security for new login devices.
  37. Install HACS (Home Assistant Community Store), you gain access to a a huge selection of open-source add-ons that might not be officially supported by default HACS serves as a gateway to the ecosystem of user-contributed extensions.
  38. Animation To find a new integration we can look at the official home assistant integrations and if there is none HACS allows us to search for additional integrations Provided by open-source contributors Now I want to show you our next step for our home hub, …
  39. Everyone hates ads, and there’s a plethora of tools to block ads and improve your browsing experience.
  40. These blockers are perfectly good if you want to block ads on a specific browser or device. But they have to be added on every browser or device and don’t give you a central way to control them. I prefer blocking everything on my home network and only using these addons when I’m on the go. This is why I want to help you set up a DNS sinkhole
  41. AdGuard Home and Pi-hole are both widely recognized DNS sinkhole solutions. Both are great options, and you really can’t go wrong. In this demonstration, I've opted for AdGuard due to a few advantages it offers, including: parental controls HTTPS filtering capabilities, and a lower resource footprint when compared to Pi-hole Now who’s familiar with what a DNS sinkhole is? Unknowns: Well I can tell you it’s… All hands raised: Well I don’t have to tell you then,... Now you may be asking “What’s a DNS sinkhole” and if you thought this..
  42. It’s not this sinkhole. Tho I suppose they both can cause ✌️“traffic jams” ✌️ Unknowns: What it actually is… All hands raised: You already know...
  43. A DNS Sinkhole is actually a downstream DNS server. Essentially, a DNS server is like a phonebook for the internet. It turns URLs into IP addresses for our computers. A DNS Sinkhole that passes along DNS requests that we actually want back like github.com but returns and empty response for anything that matches urls we tell it to ignore like all-the-ads.com
  44. We can install AdGuard Home in the same way we installed Home assistant, with CasaOS. ANIMATION: It’s important to note here we may need to Free Up Port 53 on our machine. I’m going to include a link to instructions for this in the companion post.
  45. Next: We need to create a login account. *Note: this is not an account to a service but the adguard local instance.
  46. In order to start blocking ads, we’ll need to tell our router to use the local IP address we set up before. This will look differently depending on your router, but you’ll want to change the DNS settings from the default (your ISP’s DNS) to your local machine.
  47. Next, I suggest you Tweak some settings based on your preferences. I chose to add: Add parental control Safe search to aid in protecting our foster kiddos from seeing things they shouldn’t
  48. While the default AdGuard DNS upstream server is excellent, you have the option to add additional servers for enhanced redundancy so your internet connection stays reliable even if one of the DNS servers go down.
  49. Adguard comes with a block list of known ads out the gate, but we can make it even more effective by adding additional open-source block lists to block even more unwanted content! I mean, why wouldn’t we want to block more ads, right? Note: If you ever find a certain legitimate site is having issues, AdGuard home gives you the ability to temporarily disable your filters. I had this happen with Hulu, for instance. You can then search
  50. You can set up clients to block differently based on IP address, MAC address, or ClientID (so you can control what individual devices have access to on your network. You can add custom DNS entries, so for example you can reach your casaOS instance from something like casaOS.local
  51. Animations Now that we’re set up, Your downstream dns responds to known ads with nothingness. It’s a hole where ads go to to die It forwards on the requests we still want valid responses for And that’s good news: (gif) Not having to deal with ads, means smaller payloads and quicker internet Due to our blocklists eliminating known malware, it also means a safer internet.
  52. Finally, I want to share how you can access your home hub from anywhere with Tailscale, which is a Crazy easy secure network and truly a “zero configuration vpn”.
  53. Tailscale simplifies connectivity – all you need to do is download the app on any device that you want to be “connectable”. It then forms a private virtual network, assigning each device an IP address, enabling seamless connections between all the devices that have the app installed.
  54. On your machine Tailscale gives you an install script and a link to create an account. You can then repeat this with any device you’d like to use to connect to your machine and you’ll be given a fixed IP to visit for each device in the VPN
  55. That means you can check in on your stats, automations and cameras while your away on vacation, without worrying.
  56. Conclusion: Use home assistant to unify your home’s smart devices Use AdGuard to block ads and create safer browsing for you and your family Use CasaOS to easily add or remove new apps to your home hub Use Tailscale to connect remotely And save money by using an old computer, that you can breath life back into using a linux OS