62 lines
2.3 KiB
Bash
62 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# Add remaining apps to Homarr board sections
|
|
|
|
DB_PATH="/volume2/metadata/docker/homarr/appdata/db/db.sqlite"
|
|
BOARD_ID="edpkzkkcfz1b8hkwzmevijoc"
|
|
LAYOUT_ID="q0a6laa1w1x482hin8cwz597"
|
|
|
|
ATLANTIS_ID="ku6606knoby4v7wpitg7iup9"
|
|
CALYPSO_ID="ulbtudx0jm40cg48yqegce92"
|
|
HOMELAB_ID="dy2bps9d4c70n9eqhxcfb6hh"
|
|
NUC_ID="dnkfdqkvryetukyag6q6k7ae"
|
|
EXTERNAL_ID="9lyej8u8anej7rfstwoa3oc8"
|
|
NETWORK_ID="3ma2sicgq2axcwn7uw2gva9v"
|
|
|
|
echo "=== Adding remaining apps ==="
|
|
|
|
# Get missing apps
|
|
sqlite3 "$DB_PATH" "SELECT a.id, a.name, a.href FROM app a WHERE a.id NOT IN (SELECT json_extract(options, '\$.json.appId') FROM item WHERE kind='app') ORDER BY a.name;" | while IFS='|' read -r app_id name href; do
|
|
[ -z "$app_id" ] && continue
|
|
|
|
# Determine section
|
|
if echo "$href" | grep -q "atlantis.vish.local\|vishinator"; then
|
|
SECTION="$ATLANTIS_ID"
|
|
SNAME="Atlantis"
|
|
elif echo "$href" | grep -q "calypso.vish.local\|git.vish.gg"; then
|
|
SECTION="$CALYPSO_ID"
|
|
SNAME="Calypso"
|
|
elif echo "$href" | grep -q "homelab.vish.local"; then
|
|
SECTION="$HOMELAB_ID"
|
|
SNAME="Homelab"
|
|
elif echo "$href" | grep -q "concordnuc.vish.local"; then
|
|
SECTION="$NUC_ID"
|
|
SNAME="NUC"
|
|
elif echo "$href" | grep -q "192.168.8.1\|192.168.29.1\|goodcloud"; then
|
|
SECTION="$NETWORK_ID"
|
|
SNAME="Network"
|
|
else
|
|
SECTION="$EXTERNAL_ID"
|
|
SNAME="External"
|
|
fi
|
|
|
|
# Generate item ID
|
|
ITEM_ID=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c24)
|
|
|
|
# Insert item
|
|
sqlite3 "$DB_PATH" "INSERT INTO item (id, board_id, kind, options, advanced_options) VALUES ('$ITEM_ID', '$BOARD_ID', 'app', '{\"json\":{\"appId\":\"$app_id\"}}', '{\"json\":{\"title\":null,\"REDACTED_APP_PASSWORD\":[],\"borderColor\":\"\"}}');"
|
|
|
|
# Insert item_layout with position 0,0 (will stack, but that's ok)
|
|
sqlite3 "$DB_PATH" "INSERT INTO item_layout (item_id, section_id, layout_id, x_offset, y_offset, width, height) VALUES ('$ITEM_ID', '$SECTION', '$LAYOUT_ID', 0, 0, 1, 1);"
|
|
|
|
echo " $name -> $SNAME"
|
|
done
|
|
|
|
echo ""
|
|
echo "=== Final counts ==="
|
|
sqlite3 "$DB_PATH" "SELECT s.name, COUNT(il.item_id) FROM section s LEFT JOIN item_layout il ON s.id = il.section_id WHERE s.name != '' GROUP BY s.id ORDER BY s.name;"
|
|
|
|
echo ""
|
|
echo "=== Restarting Homarr ==="
|
|
/var/packages/REDACTED_APP_PASSWORD/target/usr/bin/docker restart homarr
|
|
echo "Done!"
|