Skip to content

axute/haos-app-converter

Repository files navigation

HAOS App Converter

Screenshot

This tool is a web-based converter that transforms any Docker image into a Home Assistant app.

Features

🚀 Key Features

  • Smart Container Conversion: Automatically detects entrypoints, architectures, and package managers using crane.
  • Flexible Configuration: Support for environment variables (static, editable, and user-defined).
  • Home Assistant Native: Full integration with Ingress, Side Panels, Backups, and Storage Mappings.
  • Health Monitoring: Integrated support for Docker timeouts and Home Assistant Watchdog (HTTP/HTTPS/TCP).
  • Advanced Quirks Mode: Optional wrapper for custom startup scripts and enhanced shell support.
  • Automated Updates: One-click updates for base images with version detection.

Detailed information about all supported Home Assistant configuration options and features can be found in our Supported Features Documentation. Detailed overview of the Frontend Features.

Prerequisites

  • PHP 8.3 or higher (or Docker)
  • Composer (if not run via Docker)

Installation & Usage

Option 1: With Docker (Recommended)

You can use the pre-built image from GHCR:

docker run -d -p 8985:80 -v $(pwd)/data:/var/www/html/data ghcr.io/axute/haos-app-converter:latest

Option 2: Home Assistant App

You can also use this converter as a Home Assistant app by adding the following repository to your Home Assistant instance: https://github.com/axute/hassio-addons-converted

Option 3: Local with PHP

  1. Install dependencies:
    composer install
    php install.php
  2. Start the PHP web server:
    php -S localhost:8000 -t public
  3. Open the converter in your browser: http://localhost:8000

Project Structure

Generated apps are created in the /data/{app-slug} directory. Each directory contains all necessary files like config.yaml, Dockerfile, and README.md.

For a full list of generated files and their purpose, please refer to the Supported Features Documentation.

Environment Variables

  • CONVERTER_DATA_DIR: (Optional) Path to the data directory. Default is ./data. When the converter runs as an HA app, this is automatically set to /addons.

💎 Credits & Acknowledgments

This project wouldn't be possible without these amazing tools and libraries:

  • bashio: A powerful library for Home Assistant apps that provides essential helper functions.
  • gomplate: A flexible template renderer used for robust environment variable processing.
  • crane: Used for deep inspection and analysis of container images.
  • EasyMDE: Provides the beautiful Markdown editor for app documentation.
  • Slim Framework: The lightweight PHP framework powering the backend.
  • Twig: The modern template engine for PHP.