Files
homelab-optimized/scripts/add_apps_to_sections.sh
Gitea Mirror Bot 4bb38d4e1f
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m12s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-03-21 08:56:04 UTC
2026-03-21 08:56:04 +00:00

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!"