User Tools

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
1.selfhost:approach [2025/03/13 09:29] – [1 The Approach] willy1.selfhost:approach [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== A) 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 (see [[selfhost:home_server|here]]) 
-  * An //automation server// which takes care of the home automation itself (see [[:homeautomation|here]]) 
-  * A //network gateway// which connects your home network to the outside world (see [[selfhost:gateway|here]]) 
-  * One or more //WiFi access points// to provide reliable WiFi coverage to your home (see [[networking:wifiplanning|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>                                                                           
-               ┌───────────────┐                                                       
-               │               │                                                       
-               │  External     │                                                       
-               │   Server      │                                                       
-               │               │       Internet                                        
-               └───────────────┘                                                       
-                  │                       ▲                                            
-                  │                       │                                            
-        ┌─────────┼───────────────────────┼─────────────────────────────────┐          
-        │         │                       │                                 │          
-        │         │                  ┌────┼────────┐                        │          
-        │         │                  │             │                        │          
-        │         │                  │  Gateway   ◄┼──────┐                 │          
-        │         │                  │             │      │                 │          
-        │ ┌───────▼───────────┐      └──▲──────────┘      │                 │          
-        │ │                   │         │                 │                 │          
-        │ │   home server     │         │                 │                 │          
-        │ │                   │         │                 │                 │          
-        │ └───────────────────┘   ┌─────┼─────────────────┼────────────────┐│          
-        │                         │     │            ┌────┼─────────────┐  ││          
-        │                         │     │            │                  │  ││          
-        │                         │     │            │    Automation    │  ││          
-        │         Home            │     │            │      Server      │  ││          
-        │                         │     │            │                  │  ││          
-        │                         │     │            └──────────────────┘  ││          
-        │                         │ ┌───┼───────────────┐                  ││          
-        │                         │ │                   │                  ││          
-        │                         │ │    WiFi Access    │                  ││          
-        │                         │ │     Point(s)      │                  ││          
-        │                         │ │                   │                  ││          
-        │                         │ └───────────────────┘                  ││          
-        │                         └────────────────────────────────────────┘│          
-        └───────────────────────────────────────────────────────────────────┘                                                                                         
-</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