Skip to content

Add standalone addon management script for post-install service toggling #215

@hessius

Description

@hessius

Summary

Add a way for users to install/enable optional addon services (Watchtower, Tailscale, Home Assistant MQTT) after the initial installation, without re-running the full installer.

Problem

Currently, addon services (Watchtower for auto-updates, Tailscale for remote access, Home Assistant MQTT integration) can only be enabled during the initial install.sh / install.ps1 run. If a user skips them during install and later decides they want them, they have to either:

  1. Re-run the full installer (which re-prompts for everything)
  2. Manually edit .env and COMPOSE_FILES, download the extra compose files, and restart — error-prone for non-technical users

Proposed Solution

Option A: Standalone addon management script

Create scripts/addons.sh (and scripts/addons.ps1 for Windows) that:

  1. Detects the existing MeticAI install directory
  2. Reads the current .env to see which addons are already enabled
  3. Presents a simple menu:
    MeticAI Addon Manager
    =====================
    1. [x] Watchtower (auto-updates)     — currently enabled
    2. [ ] Tailscale (remote access)      — not installed
    3. [ ] Home Assistant MQTT            — not installed
    
    Enter number to toggle, or 'q' to quit:
    
  4. When enabling an addon:
    • Downloads the required compose file if missing
    • Prompts for any required config (e.g. Tailscale auth key)
    • Updates COMPOSE_FILES in .env
    • Restarts the container with the new compose stack
  5. When disabling an addon:
    • Removes the compose file reference from COMPOSE_FILES
    • Restarts the container

Option B: Web UI integration

Add an "Addons" section to the Settings page in the web UI that shows available addon services with toggle switches. This would call a new API endpoint that modifies .env and restarts the compose stack.

Recommendation

Start with Option A (script-based) since it works even when the web UI isn't accessible, and it's consistent with the existing install/update script pattern. Option B can be added later as a convenience layer.

Terminal help for existing users

For users who already have MeticAI installed, provide a one-liner they can copy from the README or web UI:

# Install/manage addons
curl -fsSL https://raw.githubusercontent.com/hessius/MeticAI/main/scripts/addons.sh | bash

Acceptance Criteria

  • scripts/addons.sh can enable/disable Watchtower, Tailscale, and Home Assistant MQTT
  • Script detects existing installation and reads current config
  • Downloads missing compose files automatically
  • Updates .env COMPOSE_FILES correctly
  • Restarts the container stack after changes
  • Works on Linux and macOS
  • PowerShell equivalent for Windows (scripts/addons.ps1)
  • README updated with addon management instructions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions