Config: generic router SSH options (deprecate mikrotik_*); bump 0.4.4
This commit is contained in:
@@ -73,7 +73,24 @@ Notes:
|
||||
- `telegram_allow_from`: comma-separated Telegram user IDs (locks DMs)
|
||||
- `brave_api_key`: exported as `BRAVE_API_KEY` (for web search)
|
||||
- `homeassistant_token`: written to `/config/secrets/homeassistant.token` inside the container
|
||||
- MikroTik SSH fields: `mikrotik_host`, `mikrotik_ssh_user`, `mikrotik_ssh_key_path`
|
||||
|
||||
### Router SSH (generic)
|
||||
This add-on supports a **generic SSH configuration** for a router/firewall (or any LAN network device)
|
||||
when you want the assistant to automate local network changes (e.g., port forwarding, DNS records,
|
||||
firewall rules).
|
||||
|
||||
Config fields:
|
||||
- `router_ssh_host`: host/IP of the router (reachable from the HA host network)
|
||||
- `router_ssh_user`: SSH username
|
||||
- `router_ssh_key_path`: path to the private key file inside the add-on (default: `/data/keys/router_ssh`)
|
||||
|
||||
How to provide the SSH key:
|
||||
- Put the private key file under the add-on config directory so it appears in-container at `/data/keys/...`.
|
||||
- Ensure permissions are restricted (recommended `chmod 600`).
|
||||
|
||||
Back-compat:
|
||||
- Older versions used MikroTik-branded names: `mikrotik_host`, `mikrotik_ssh_user`, `mikrotik_ssh_key_path`.
|
||||
These are still accepted but **deprecated**.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@@ -87,5 +104,4 @@ Notes:
|
||||
|
||||
### Gateway button opens but cannot connect
|
||||
- Confirm the browser can reach `gateway_public_url`.
|
||||
- Confirm your NAT/port-forward rules (if using DuckDNS/Nabu Casa is **not** involved here).
|
||||
- If you want Nabu Casa support for the gateway UI, do **not** expose the gateway; use the assistant via Telegram and keep gateway loopback.
|
||||
- Confirm your NAT/port-forward rules.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: Moltbot Assistant
|
||||
version: "0.4.3"
|
||||
version: "0.4.4"
|
||||
slug: moltbot_assistant
|
||||
description: Run Moltbot Assistant (Clawdbot-compatible) as a Home Assistant add-on.
|
||||
url: https://github.com/techartdev/ClawdHAAddOn
|
||||
@@ -46,7 +46,15 @@ options:
|
||||
run_doctor_on_start: false
|
||||
|
||||
homeassistant_token: ""
|
||||
# Optional: MikroTik SSH defaults (leave empty if you don't use MikroTik)
|
||||
|
||||
# Optional: Router SSH defaults (leave empty if you don't need router automation)
|
||||
# This is a generic SSH configuration intended for a router/firewall or any network device
|
||||
# reachable from inside the HA host LAN.
|
||||
router_ssh_host: ""
|
||||
router_ssh_user: ""
|
||||
router_ssh_key_path: "/data/keys/router_ssh"
|
||||
|
||||
# Backward compatible (deprecated): older config names
|
||||
mikrotik_host: ""
|
||||
mikrotik_ssh_user: ""
|
||||
mikrotik_ssh_key_path: "/data/keys/mikrotik"
|
||||
@@ -72,9 +80,16 @@ schema:
|
||||
gateway_public_url: str?
|
||||
run_doctor_on_start: bool
|
||||
homeassistant_token: str?
|
||||
mikrotik_host: str
|
||||
mikrotik_ssh_user: str
|
||||
mikrotik_ssh_key_path: str
|
||||
|
||||
router_ssh_host: str
|
||||
router_ssh_user: str
|
||||
router_ssh_key_path: str
|
||||
|
||||
# Backward compatible (deprecated)
|
||||
mikrotik_host: str?
|
||||
mikrotik_ssh_user: str?
|
||||
mikrotik_ssh_key_path: str?
|
||||
|
||||
brave_api_key: str?
|
||||
enable_terminal: bool?
|
||||
clean_session_locks_on_start: bool?
|
||||
|
||||
@@ -20,10 +20,21 @@ GW_PUBLIC_URL=$(jq -r '.gateway_public_url // empty' "$OPTIONS_FILE")
|
||||
HA_TOKEN=$(jq -r '.homeassistant_token // empty' "$OPTIONS_FILE")
|
||||
BRAVE_KEY=$(jq -r '.brave_api_key // empty' "$OPTIONS_FILE")
|
||||
ENABLE_TERMINAL=$(jq -r '.enable_terminal // false' "$OPTIONS_FILE")
|
||||
# Generic router SSH settings (preferred)
|
||||
ROUTER_HOST=$(jq -r '.router_ssh_host // empty' "$OPTIONS_FILE")
|
||||
ROUTER_USER=$(jq -r '.router_ssh_user // empty' "$OPTIONS_FILE")
|
||||
ROUTER_KEY=$(jq -r '.router_ssh_key_path // "/data/keys/router_ssh"' "$OPTIONS_FILE")
|
||||
|
||||
# Backward compatible (deprecated) MikroTik-named settings
|
||||
MT_HOST=$(jq -r '.mikrotik_host // empty' "$OPTIONS_FILE")
|
||||
MT_USER=$(jq -r '.mikrotik_ssh_user // empty' "$OPTIONS_FILE")
|
||||
MT_KEY=$(jq -r '.mikrotik_ssh_key_path // "/data/keys/mikrotik"' "$OPTIONS_FILE")
|
||||
|
||||
# Prefer generic router_* values; fall back to mikrotik_* if router_* are empty
|
||||
[ -z "$ROUTER_HOST" ] && ROUTER_HOST="$MT_HOST"
|
||||
[ -z "$ROUTER_USER" ] && ROUTER_USER="$MT_USER"
|
||||
[ "$ROUTER_KEY" = "/data/keys/router_ssh" ] && [ -n "$MT_KEY" ] && ROUTER_KEY="$MT_KEY"
|
||||
|
||||
# Optional: allow disabling lock cleanup if you ever need to debug
|
||||
CLEAN_LOCKS_ON_START=$(jq -r '.clean_session_locks_on_start // true' "$OPTIONS_FILE")
|
||||
CLEAN_LOCKS_ON_EXIT=$(jq -r '.clean_session_locks_on_exit // true' "$OPTIONS_FILE")
|
||||
@@ -205,13 +216,13 @@ else
|
||||
echo "WARN: Telegram token validation failed (getMe)"
|
||||
fi
|
||||
|
||||
# Convenience info for later (MikroTik access path & HA token file)
|
||||
# Convenience info for later (router SSH access path & HA token file)
|
||||
cat > /config/CONNECTION_NOTES.txt <<EOF
|
||||
Home Assistant token (if set): /config/secrets/homeassistant.token
|
||||
MikroTik SSH:
|
||||
host=${MT_HOST}
|
||||
user=${MT_USER}
|
||||
key=${MT_KEY}
|
||||
Router SSH (generic):
|
||||
host=${ROUTER_HOST}
|
||||
user=${ROUTER_USER}
|
||||
key=${ROUTER_KEY}
|
||||
EOF
|
||||
|
||||
RUN_DOCTOR=$(jq -r '.run_doctor_on_start // false' "$OPTIONS_FILE")
|
||||
|
||||
Reference in New Issue
Block a user