diff --git a/assets/css/app.css b/assets/css/app.css index 32204fb..0c36248 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -5,6 +5,7 @@ @source "../css"; @source "../js"; @source "../../lib/homelab_dashboard_web"; +@source "../../lib/homelab_dashboard"; /* A Tailwind plugin that makes "hero-#{ICON}" classes available. The heroicons installation itself is managed by your mix.exs */ diff --git a/lib/homelab_dashboard/services_sync.ex b/lib/homelab_dashboard/services_sync.ex index fc88681..737ebf5 100644 --- a/lib/homelab_dashboard/services_sync.ex +++ b/lib/homelab_dashboard/services_sync.ex @@ -16,7 +16,8 @@ defmodule HomelabDashboard.ServicesSync do "radarr" => "hero-film", "sonarr" => "hero-tv", "prowlarr" => "hero-funnel", - "qbittorrent" => "hero-cloud-arrow-down" + "qbittorrent" => "hero-cloud-arrow-down", + "anki" => "hero-academic-cap" } @descriptions %{ @@ -30,7 +31,8 @@ defmodule HomelabDashboard.ServicesSync do "radarr" => "Movie collection manager", "sonarr" => "TV series collection manager", "prowlarr" => "Indexer manager", - "qbittorrent" => "Torrent client" + "qbittorrent" => "Torrent client", + "anki" => "Flashcard study tool" } @display_names %{ @@ -43,6 +45,9 @@ defmodule HomelabDashboard.ServicesSync do "pihole" => "/admin" } + # Services to omit from the dashboard (e.g. the dashboard itself) + @excluded_services ~w(devbox) + def start_link(opts \\ []) do GenServer.start_link(__MODULE__, opts, name: __MODULE__) end @@ -113,6 +118,7 @@ defmodule HomelabDashboard.ServicesSync do end defp parse_services(services) do + services = Enum.reject(services, &(&1["name"] in @excluded_services)) {public_raw, internal_raw} = Enum.split_with(services, &Map.has_key?(&1, "public_host")) public =