User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
selfhost:approach [2025/02/18 11:18] willyselfhost:approach [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== The Approach ====== 
- 
-**Self-hosting** and **Home-Automation** are something that grow over time, getting more complex and elaborated. You start small, with some recycled hardware and makeshift cables to host some experimental services, then you start self-hosting important stuff.  You add sensors, devices, IP cameras, and so on as yo udiscover new toys and interesting stuff to try out. 
- 
-But then... 
-  * One day your home internet connection is down and so you find out about **reliability**...   
-  * One day power goes out at home, and you find out that an unexpected server reboot might cause side issues...  
-  * One day, maybe during a hot summer day, your USB network card fails on you, when you are on vacation... 
-  * One day that critical CalDAV service stop working due to a Python update and you miss an appointment... 
-  * One day maybe you get hacked.... 
- 
-So you start studying and investing in UPS, reodundant ISPs with failover capability, advanced routing for your services, containers, backup techniques... 
- 
-I went trough the process (except i never got hacked, maybe my security measures where good from the beginning, or i was lucky, o maybe i just never noticed?), and you will as well go trough it. 
- 
-At the beginning i started out with a very simple approach, spent one year and half more or less expanding to the point where something a little bit more advanced was actually required. I will describe my final implementation (which, actually, is in constant evolution) and, along the way, also describe simpler ways to achieve similar results. 
- 
- 
-===== Basic Requirements ===== 
- 
-The following are the **very basics** that i assume you will take into consideration, on which you should not even think to skip: 
-  * Have a **proper backup plan** in place (see [[selfhost:backup|here]]), and **verify your backups** regularly. 
-  * Have **two** ISPs to provide a failsafe internet connection (see [[router:multiisp|here]]) 
-  * Stored your data on some redoundant **RAID array** (see [[selfhost:storage|here]]) 
-  * Have an **UPS** solution to protect your server / disk RAIDS from blackouts 
- 
- 
-===== Architecture ===== 
- 
-Focusing on your technological home architecture, here is composed of: 
-  * A //home server// which hosts all the private services you need ([[selfhost:home_server|here]]) 
-  * An //automation server// which takes care of the home automation itself ([[selfhost:homeautomation|here]]) 
-  * A //network gateway// which connects your home network to the outside world ([[selfhost:gateway|here]]) 
-  * One or more //WiFi access points// to provide reliable WiFi coverage to your home ([[selfhost:wifi_ap|here]]) 
-  * An //external server// which hosts your public services, if any, and ensure external accessibility to your private services ([[selfhost:external_server|here]]) 
- 
-This approach separates the main pillars of the setup in a way that makes the overal environment more resillient and each pillar less critical if (when) it goes down for any reason like an hardware failure, software bug or just **un**planned maintenance. 
- 
-<code> 
-                                                                                                       
-                                                                                                       
-                                                                                                       
-                    ┌───────────────┐                                                                  
-                    │               │              Internet                                            
-                    │  External     │                                                                  
-                    │   Server      │                                                                  
-                    │               │                                                                  
-                    └──┬────────────┘                                                                  
-                       │                       ▲                                                       
-                       │                       │                                                       
-                       │                       │                                                       
-                       │                       │                                                       
-                       │                       │                                                       
-                       │                       │                                                       
-        ┌──────────────┼───────────────────────┼───────────────────────────────────────────────────┐   
-        │              │                       │                                                   │   
-        │              │                  ┌────┼────────┐                                          │   
-        │              │                  │             │                                          │   
-        │              │                  │  Gateway   ◄┼──────┐                                   │   
-        │              │                  │             │      │                                   │   
-        │              │                  └──▲──────────┘      │                                   │   
-        │              │                     │                 │                                   │   
-        │              │                     │                 │                                   │   
-        │              │                     │                 │                                   │   
-        │              │               ┌─────┼─────────────────┼────────────────────────────┐      │   
-        │              │               │     │                 │                            │      │   
-        │      ┌───────▼───────────┐   │     │                 │                            │      │   
-        │      │                   │   │     │                 │                            │      │   
-        │      │   home server     │   │     │            ┌────┼─────────────┐              │      │   
-        │      │                   │   │     │            │                  │              │      │   
-        │      └───────────────────┘   │     │            │    Automation    │              │      │   
-        │                              │     │            │      Server      │              │      │   
-        │                              │     │            │                  │              │      │   
-        │                              │     │            └──────────────────┘              │      │   
-        │                              │     │                                              │      │   
-        │                              │     │                                              │      │   
-        │                              │ ┌───┴───────────────┐                              │      │   
-        │                              │ │                   │                              │      │   
-        │                              │ │    WiFi Access    │                              │      │   
-        │                              │ │     Point(s)      │                              │      │   
-        │                              │ │                   │                              │      │   
-        │                              │ └───────────────────┘                              │      │   
-        │                              │                                                    │      │   
-        │                              │                                                    │      │   
-        │                              └────────────────────────────────────────────────────┘      │   
-        │       Home                                                                               │   
-        │                                                                                          │   
-        └──────────────────────────────────────────────────────────────────────────────────────────┘   
-</code>                                                                                 
- 
- 
- 
- 
- 
  

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information