> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nolongerevil.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-Hosted Prerequisites

> Everything you need before starting self-hosted installation

<Warning>
  **Self-hosting is for advanced users.** Review all requirements carefully before proceeding. If this seems overwhelming, consider using the [hosted service](/hosted/overview) instead.
</Warning>

## Hardware Requirements

### Server Hardware

You need a machine that can run 24/7 to host the No Longer Evil infrastructure:

**Minimum Specs:**

* **CPU**: 2 cores (x64 or ARM64)
* **RAM**: 2GB minimum, 4GB recommended
* **Storage**: 10GB free space minimum
* **Network**: Ethernet or WiFi (Ethernet preferred)

**Recommended Options:**

* Raspberry Pi 4 (4GB+ RAM)
* NAS device (Synology, QNAP)
* VPS/Cloud server (DigitalOcean, AWS, Linode)
* Home server or repurposed PC

***

## Software Requirements

### On Your Server

<AccordionGroup>
  <Accordion title="Docker" icon="docker">
    **Required** — Runs the NLE server container (`ghcr.io/codykociemba/nolongerevil-selfhosted:latest`)

    * Linux: `sudo apt-get install docker.io`
    * macOS: Install Docker Desktop

    Check: `docker --version`
  </Accordion>
</AccordionGroup>

### On Your Flashing Computer

The flashing computer is the macOS or Linux machine you use to run the GUI installer and flash the thermostat. This is often a different machine from your server.

* **OS**: Linux or macOS (Windows/WSL NOT supported)
* **USB Port**: For connecting thermostat
* **USB Cable**: Mini USB (Gen 1) or Micro USB (Gen 2), data-capable

<AccordionGroup>
  <Accordion title="Build Tools & libusb (Linux only)" icon="hammer">
    **Required on your flashing computer if running Linux** — needed by the GUI installer to communicate with the thermostat over USB.

    ```bash theme={null}
    sudo apt-get install build-essential libusb-1.0-0-dev libudev-dev gcc pkg-config
    ```

    macOS: libusb is bundled with the installer — no separate installation needed.
  </Accordion>

  <Accordion title="Node.js & npm (build from source only)" icon="node-js">
    **Only needed if building the GUI installer from source** — for developers contributing to the thermostat installer codebase or if the pre-built binary doesn't work on your system.

    * Version 18 or higher
    * Check: `node --version`
  </Accordion>
</AccordionGroup>

***

## Technical Skills

You should be comfortable with:

* **Command line** navigation and commands
* **Docker** basics (containers, logs, troubleshooting)
* **Networking** (local IPs, port forwarding if needed)
* **Linux/Unix** basics (permissions, services, logs)

***

## Network Setup

### Required

* Stable local network
* Static local IP or DHCP reservation for server (so the thermostat can always reach it)

### For Remote Access (Optional)

* Public IP or DDNS service
* Port forwarding capability
* SSL certificates (Let's Encrypt recommended)

***

## Ready to Install?

<Card title="Installation Guide" icon="rocket" href="/self-hosted/installation">
  Start the installation process
</Card>
