selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
hass-configurator logo

Self-host hass-configurator

0.7.0

Web-based configuration editor for Home Assistant

ReleaseOpen SourceMIT
Updated11 hours ago
LanguagePython
Setup difficultyModerate
Stars
339
Port
3218 (HTTP/HTTPS web UI)
Requires
Python 3
Install with Python
Main HASS Configurator UI showing file browser and editor

What is hass-configurator?

HASS Configurator is a lightweight Python 3 web application that gives Home Assistant users a browser-based editor for their configuration files. It provides a file browser, Ace-editor with syntax highlighting and real-time YAML linting, upload/download, and lists of Home Assistant triggers, entities, conditions, and services that can be inserted into the editor. It connects to Home Assistant via REST and WebSocket APIs to show live events and restart the instance. Optional Git integration allows staging, committing, branching, and pushing to SSH remotes. Security features include optional HTTP basic authentication, IP allow/block lists, a one-time SESAME token, and TOTP-based dynamic whitelisting. The app can run in standalone mode without a Home Assistant connection. It is installed via pip (recommended), by copying the single configurator.py script, or through a third-party Docker image. No database or external services are required beyond Python 3 and optional GitPython/pyotp packages.

Should you self-host hass-configurator?

hass-configurator scores 50/100 on selfhost.directory (how scoring works) and ranks #6 of 8 in Configuration Management. It has 339 GitHub stars.

It shipped 2 stable releases in the past year. The latest, 0.7.0, came out on 18 October 2026. New versions land roughly every 6 months.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is zookeeper (73/100, 12 826 stars). It scores higher overall, so compare the two before you pick. See hass-configurator vs zookeeper side by side.

Features

  • Customizable editor settings
  • File browser with upload/download
  • Git Integration
  • Home Assistant entity/service picker
  • Home Assistant event observer
  • HTTP Basic Authentication
  • IP allow/block lists
  • Restart Home Assistant
  • SESAME one-time token
  • Shell command execution
  • SSL/TLS support
  • Standalone mode
  • TOTP-based dynamic whitelisting
  • Web-based file editor
  • YAML syntax checking

hass-configurator README

How to install hass-configurator

Install hass-configurator with Python

Download

wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py

or

curl -O https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py

Make executable

chmod 755 configurator.py

Run

sudo ./configurator.py

With settings file

sudo ./configurator.py /path/to/settings.conf

Legacy method (version 0.3.7, no more updates planned)

How to configure hass-configurator

  • BANLIMIT0Ban IPs after N failed login attempts (0 disables)

    Ban IPs after N failed login attempts (0 disables)

    values: integer

  • BASEPATHRoot directory to serve files from

    Root directory to serve files from

    values: absolute path

  • DIRSFIRSTfalseShow directories at top of file browser

    Show directories at top of file browser

    values: true/false

  • ENFORCE_BASEPATHfalseLock configurator to BASEPATH, prevent accessing files outside

    Lock configurator to BASEPATH, prevent accessing files outside

    values: true/false

  • ENV_PREFIXHC_Prefix for environment variable overrides

    Prefix for environment variable overrides

    values: string

  • GITfalseEnable Git integration (requires GitPython)

    Enable Git integration (requires GitPython)

    values: true/false

  • HASS_APIhttp://127.0.0.1:8123/api/Home Assistant REST API URL

    Home Assistant REST API URL

    values: URL or null for standalone mode

  • HASS_API_PASSWORDHome Assistant API password or long-lived access token

    Home Assistant API password or long-lived access token

    values: string

  • HASS_WS_APIHome Assistant WebSocket API URL

    Home Assistant WebSocket API URL

    values: WebSocket URL

  • HIDEHIDDENfalseHide files starting with dot

    Hide files starting with dot

    values: true/false

  • IGNORE_SSLfalseDisable SSL verification when connecting to Home Assistant API

    Disable SSL verification when connecting to Home Assistant API

    values: true/false

  • LISTENIP0.0.0.0IP address the service listens on (default 0.0.0.0)

    IP address the service listens on (default 0.0.0.0)

    values: IPv4 address, :: for IPv6

  • NOTIFY_SERVICEpersistent_notification.createHome Assistant notification service for security alerts

    Home Assistant notification service for security alerts

    values: service name or false

  • PASSWORDPassword for HTTP basic authentication (supports {sha256} prefix)

    Password for HTTP basic authentication (supports {sha256} prefix)

    values: string or SHA256 hash

  • PORT3218Port the service listens on

    Port the service listens on

    values: integer, 0 for dynamic port

  • SESAMESecret token for dynamic IP whitelisting via /token URL

    Secret token for dynamic IP whitelisting via /token URL

    values: string

  • SESAME_TOTP_SECRETBase32 secret for time-based OTP dynamic whitelisting

    Base32 secret for time-based OTP dynamic whitelisting

    values: Base32 string

  • SSL_CERTIFICATEPath to SSL certificate file for HTTPS

    Path to SSL certificate file for HTTPS

    values: file path

  • SSL_KEYPath to SSL key file for HTTPS

    Path to SSL key file for HTTPS

    values: file path

  • USERNAMEUsername for HTTP basic authentication

    Username for HTTP basic authentication

    values: string (no colon)

  • VERIFY_HOSTNAMEExpected hostname in request Host header for security

    Expected hostname in request Host header for security

    values: domain name

hass-configurator releases & version history

More in Configuration Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…