Skip to main content
Work in Progress: The self-hosted installation is currently a work in progress and may or may not function correctly. For a stable, production-ready experience, we recommend using the hosted service instead.

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.
Advanced Users Only: Self-hosting requires technical troubleshooting skills with command line, Docker, and networking. If you’re not comfortable with these, we recommend using the hosted service instead.

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

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
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
Learn about hosted service →

Ready to Get Started?


Need Help?