A robust standalone macOS installer (.pkg) for the Home Assistant Server.
This project eliminates the need for Virtual Machines (VMs) or Docker containers on macOS by providing a native, stable, and fully integrated server environment.
Running Home Assistant on macOS usually requires complex virtualization. This introduces significant overhead and complicates access to native hardware interfaces such as Bluetooth, USB devices, and local networking (Bonjour/mDNS).
This native macOS package deploys a Self-Contained Python Virtual Environment directly to your system.
- Zero VM Overhead: Runs natively on your Mac.
- True System Daemon: Integrates with macOS
launchdfor automatic startup at boot. - Enhanced Security: Runs under a dedicated, restricted background system user (
_homeassistant) rather thanroot. - Isolated Environment: Bundles a complete, isolated Python virtual environment in
/opt/homeassistant. - Native Packaging: Standard Apple Flat Package (
.pkg) for easy installation and removal.
- Download the latest
HomeAssistant-macOS-*.pkgfrom the Releases page. - Gatekeeper Bypass: Since this package is community-built and not yet signed by an Apple Developer ID, you may need to bypass macOS security:
- Right-click (or Control-click) the
.pkgfile and select Open. - Alternatively, run the following in Terminal before opening:
xattr -d com.apple.quarantine HomeAssistant-macOS-3.0.0.pkg
- Right-click (or Control-click) the
- Follow the installer instructions.
- Once installed, navigate to
http://localhost:8123.
# Clone the repository
git clone https://github.com/Bwillou1/HomeAssistant-macOS-Installer.git
cd HomeAssistant-macOS-Installer
# Ensure Python 3.12 is installed (Home Assistant 2024.x requirement)
python3 --version
# Build the virtual environment and package the .pkg
make allThe package will be in the dist/ folder.
- Installation:
/opt/homeassistant - Configuration:
/Library/Application Support/HomeAssistant - Logs:
/Library/Logs/HomeAssistant - LaunchDaemon:
/Library/LaunchDaemons/org.homeassistant.daemon.plist
Run the included uninstall script with administrative privileges:
sudo /opt/homeassistant/bin/uninstallOptions:
--keep-config: Preserves your configuration in/Library/Application Support/HomeAssistant.--remove-config: Deletes all data.--non-interactive: Headless mode (defaults to keeping config).
Contributions are welcome! Pull Requests are appreciated.
Licensed under the Apache 2.0 License. Matches the official Home Assistant core license.