What is Self-Hosting?
Self-hosting means running your own No Longer Evil infrastructure on your own server. Your thermostat connects to your server, not the hosted service at nolongerevil.com.How It Works
Self-hosting No Longer Evil involves running your own infrastructure stack instead of relying on the hosted service:1
Run the Installer
Clone the repository and run
install.sh, which sets up firmware flashing tools and guides you through server configuration.2
Flash Your Thermostat
Use the firmware flashing tools to flash custom firmware to your Nest Gen 1 or Gen 2 thermostat via USB. The firmware redirects all traffic from Google servers to your server.
3
Start your Docker container
Using the
open-soure-prototype branch, copy the docker-compose.yml.example to docker-compose.yml and modify for your environment. Then start the server container.4
Thermostat Connects to Your Server
Once flashed, your thermostat connects to your self-hosted API server instead of Google’s servers. All communication stays within your infrastructure.
5
Control Your Thermostat
Access your thermostat through your Home Assistant (via MQTT), or directly through the API.
Key Difference from Hosted: You’re responsible for running the API server. The hosted service runs this and a frontend for you.
What You’ll Need
Server Hardware
Raspberry Pi, NAS, VPS, home server, or cloud VM that can run 24/7
Nest Gen 1 or Gen 2
Compatible thermostatCheck compatibility →
Technical Skills
Command line, Docker, networking, and troubleshooting
Computer for Flashing
Linux or macOS (Windows/WSL not supported)
Time Commitment
2-4 hours for initial setup + ongoing maintenance
Networking Knowledge
Port forwarding, DNS, SSL/TLS certificates (for remote access)
Components You’ll Run
When self-hosting, you’re responsible for running and maintaining:API Server
Handles thermostat communicationReplicates Google’s Nest API
Control API
Provides control interfaceFor dashboards and automation
MQTT
Stores device stateConfiguration and logs
Self-Hosted vs Hosted Service
When to Choose Self-Hosted
When to Choose Self-Hosted
Choose self-hosting if you:
- Want complete data ownership and privacy
- Need the system to run independently of any external service
- Want to customize or extend the functionality
- Are comfortable with server administration and troubleshooting
- Want to learn how the system works internally
- Need local-only network operation
When to Choose Hosted Service
When to Choose Hosted Service
Choose the hosted service if you:
- Want a plug-and-play solution with no server setup
- Don’t want to manage infrastructure and updates
- Need something that “just works” with minimal maintenance
- Don’t have 24/7 server hardware available
- Are not comfortable with command line and networking
- Want automatic updates and improvements
Ready to Get Started?
Prerequisites
Review requirements before starting installation
Installation Guide
Step-by-step instructions to set up your self-hosted infrastructure