Skip to main content

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

1

Set Up Your NLE Server

Pull and run the pre-built Docker image (ghcr.io/codykociemba/nolongerevil-selfhosted:latest) on any always-on machine — or install the Home Assistant add-on if you’re on HAOS.
2

Flash Your Thermostat

Run the GUI installer on macOS or Linux to flash custom firmware to your Nest Gen 1 or Gen 2 thermostat via USB. The firmware redirects all thermostat traffic from Google’s servers to your server.
3

Select Self-Hosted in the Wizard

When the installer wizard asks for a hosting mode, choose Self-Hosted and enter your server address. The wizard handles SSH configuration and device registration automatically.
4

Thermostat Connects to Your Server

Once configured, your thermostat connects to your self-hosted NLE server instead of Google’s servers. All communication stays within your infrastructure.
Key Difference from Hosted: You’re responsible for running the NLE server. The hosted service runs this 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, and basic networking

Computer for Flashing

Linux or macOS (Windows not supported)

Components You’ll Run

When self-hosting, you’re responsible for running and maintaining:

API Server (Port 8000)

Handles thermostat device communicationPre-built Docker image: ghcr.io/codykociemba/nolongerevil-selfhosted:latest

Control API / Dashboard (Port 8082)

Web interface for device management

MQTT (Optional)

Publishes climate entities to Home Assistant via MQTT discovery
Not sure if self-hosting is right for you? See Choose Your Path →

Ready to Get Started?

Prerequisites

Review requirements before starting installation

Installation Guide

Step-by-step instructions to set up your self-hosted infrastructure

Need Help?

Join Discord

Ask the self-hosting community

GitHub Issues

Report bugs or request features