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:
- Re-run the full installer (which re-prompts for everything)
- 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:
- Detects the existing MeticAI install directory
- Reads the current
.env to see which addons are already enabled
- 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:
- 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
- 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
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.ps1run. If a user skips them during install and later decides they want them, they have to either:.envandCOMPOSE_FILES, download the extra compose files, and restart — error-prone for non-technical usersProposed Solution
Option A: Standalone addon management script
Create
scripts/addons.sh(andscripts/addons.ps1for Windows) that:.envto see which addons are already enabledCOMPOSE_FILESin.envCOMPOSE_FILESOption 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
.envand 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:
Acceptance Criteria
scripts/addons.shcan enable/disable Watchtower, Tailscale, and Home Assistant MQTT.envCOMPOSE_FILES correctlyscripts/addons.ps1)