Sanitized mirror from private repository - 2026-04-05 09:28:04 UTC
This commit is contained in:
61
scripts/add_apps_to_sections.sh
Normal file
61
scripts/add_apps_to_sections.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/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!"
|
||||
Reference in New Issue
Block a user