From 2e529eaa7a2f5f76dfece895fcc89bbbfc4ec0ac Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 17 Nov 2025 02:18:56 +0000 Subject: [PATCH] chore: update test fixtures for release v0.9.2 --- backend/src/tests/daemon_config.json | 8 +- backend/src/tests/netvisor.sql | 206 ++- ui/static/services.json | 2008 +++++++++++++------------- 3 files changed, 1187 insertions(+), 1035 deletions(-) diff --git a/backend/src/tests/daemon_config.json b/backend/src/tests/daemon_config.json index 008c8211..de3ebd62 100644 --- a/backend/src/tests/daemon_config.json +++ b/backend/src/tests/daemon_config.json @@ -1,6 +1,6 @@ { "server_target": "http://server", - "network_id": "357cc9a8-717c-459d-b84e-d1836ed828a1", + "network_id": "71cb7e09-5aa2-4f92-8be4-82d29040de69", "server_port": 60072, "daemon_port": 60073, "name": "netvisor-daemon", @@ -8,9 +8,9 @@ "heartbeat_interval": 30, "bind_address": "0.0.0.0", "concurrent_scans": 15, - "id": "f78a3fd2-5615-467a-a03d-cf7dc7bfd26a", + "id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "last_heartbeat": null, - "host_id": "7327e150-8ff2-4c6d-b035-0e606acd8789", - "daemon_api_key": "882494a8f0e5495db0d6f27387521de1", + "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93", + "daemon_api_key": "47c05d918d4843aaa900bcb1623585f4", "docker_proxy": null } \ No newline at end of file diff --git a/backend/src/tests/netvisor.sql b/backend/src/tests/netvisor.sql index 736528c8..0c76931d 100644 --- a/backend/src/tests/netvisor.sql +++ b/backend/src/tests/netvisor.sql @@ -2,7 +2,7 @@ -- PostgreSQL database dump -- -\restrict AboSGC5z0TJHejpGxGzbaWfB6VAlsXFWHyHen8QxAzFpDpdfjwLDjhW7CzRx2Dw +\restrict Q9g02hmlM4eb2eGLxCiTUJ3VyGardmXsSFVb5rBiDvUajWlWItFIFYp3YBuhGFV -- Dumped from database version 17.7 -- Dumped by pg_dump version 17.7 @@ -19,21 +19,25 @@ SET xmloption = content; SET client_min_messages = warning; SET row_security = off; +ALTER TABLE IF EXISTS ONLY public.users DROP CONSTRAINT IF EXISTS users_organization_id_fkey; ALTER TABLE IF EXISTS ONLY public.subnets DROP CONSTRAINT IF EXISTS subnets_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.services DROP CONSTRAINT IF EXISTS services_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.services DROP CONSTRAINT IF EXISTS services_host_id_fkey; -ALTER TABLE IF EXISTS ONLY public.networks DROP CONSTRAINT IF EXISTS networks_user_id_fkey; +ALTER TABLE IF EXISTS ONLY public.networks DROP CONSTRAINT IF EXISTS organization_id_fkey; ALTER TABLE IF EXISTS ONLY public.hosts DROP CONSTRAINT IF EXISTS hosts_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.groups DROP CONSTRAINT IF EXISTS groups_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.discovery DROP CONSTRAINT IF EXISTS discovery_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.discovery DROP CONSTRAINT IF EXISTS discovery_daemon_id_fkey; ALTER TABLE IF EXISTS ONLY public.daemons DROP CONSTRAINT IF EXISTS daemons_network_id_fkey; ALTER TABLE IF EXISTS ONLY public.api_keys DROP CONSTRAINT IF EXISTS api_keys_network_id_fkey; +DROP INDEX IF EXISTS public.idx_users_organization; DROP INDEX IF EXISTS public.idx_users_oidc_provider_subject; DROP INDEX IF EXISTS public.idx_users_email_lower; DROP INDEX IF EXISTS public.idx_subnets_network; DROP INDEX IF EXISTS public.idx_services_network; DROP INDEX IF EXISTS public.idx_services_host_id; +DROP INDEX IF EXISTS public.idx_organizations_stripe_customer; +DROP INDEX IF EXISTS public.idx_networks_owner_organization; DROP INDEX IF EXISTS public.idx_hosts_network; DROP INDEX IF EXISTS public.idx_groups_network; DROP INDEX IF EXISTS public.idx_discovery_network; @@ -46,6 +50,7 @@ ALTER TABLE IF EXISTS ONLY tower_sessions.session DROP CONSTRAINT IF EXISTS sess ALTER TABLE IF EXISTS ONLY public.users DROP CONSTRAINT IF EXISTS users_pkey; ALTER TABLE IF EXISTS ONLY public.subnets DROP CONSTRAINT IF EXISTS subnets_pkey; ALTER TABLE IF EXISTS ONLY public.services DROP CONSTRAINT IF EXISTS services_pkey; +ALTER TABLE IF EXISTS ONLY public.organizations DROP CONSTRAINT IF EXISTS organizations_pkey; ALTER TABLE IF EXISTS ONLY public.networks DROP CONSTRAINT IF EXISTS networks_pkey; ALTER TABLE IF EXISTS ONLY public.hosts DROP CONSTRAINT IF EXISTS hosts_pkey; ALTER TABLE IF EXISTS ONLY public.groups DROP CONSTRAINT IF EXISTS groups_pkey; @@ -58,6 +63,7 @@ DROP TABLE IF EXISTS tower_sessions.session; DROP TABLE IF EXISTS public.users; DROP TABLE IF EXISTS public.subnets; DROP TABLE IF EXISTS public.services; +DROP TABLE IF EXISTS public.organizations; DROP TABLE IF EXISTS public.networks; DROP TABLE IF EXISTS public.hosts; DROP TABLE IF EXISTS public.groups; @@ -205,12 +211,44 @@ CREATE TABLE public.networks ( created_at timestamp with time zone NOT NULL, updated_at timestamp with time zone NOT NULL, is_default boolean NOT NULL, - user_id uuid NOT NULL + organization_id uuid NOT NULL ); ALTER TABLE public.networks OWNER TO postgres; +-- +-- Name: COLUMN networks.organization_id; Type: COMMENT; Schema: public; Owner: postgres +-- + +COMMENT ON COLUMN public.networks.organization_id IS 'The organization that owns and pays for this network'; + + +-- +-- Name: organizations; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.organizations ( + id uuid DEFAULT gen_random_uuid() NOT NULL, + name text NOT NULL, + stripe_customer_id text, + plan jsonb, + plan_status text, + created_at timestamp with time zone DEFAULT now() NOT NULL, + updated_at timestamp with time zone DEFAULT now() NOT NULL, + is_onboarded boolean +); + + +ALTER TABLE public.organizations OWNER TO postgres; + +-- +-- Name: TABLE organizations; Type: COMMENT; Schema: public; Owner: postgres +-- + +COMMENT ON TABLE public.organizations IS 'Organizations that own networks and have Stripe subscriptions'; + + -- -- Name: services; Type: TABLE; Schema: public; Owner: postgres -- @@ -262,12 +300,28 @@ CREATE TABLE public.users ( oidc_provider text, oidc_subject text, oidc_linked_at timestamp with time zone, - email text NOT NULL + email text NOT NULL, + organization_id uuid NOT NULL, + permissions text DEFAULT 'Member'::text NOT NULL ); ALTER TABLE public.users OWNER TO postgres; +-- +-- Name: COLUMN users.organization_id; Type: COMMENT; Schema: public; Owner: postgres +-- + +COMMENT ON COLUMN public.users.organization_id IS 'The single organization this user belongs to'; + + +-- +-- Name: COLUMN users.permissions; Type: COMMENT; Schema: public; Owner: postgres +-- + +COMMENT ON COLUMN public.users.permissions IS 'User role within their organization: Owner, Member, Viewer'; + + -- -- Name: session; Type: TABLE; Schema: tower_sessions; Owner: postgres -- @@ -286,21 +340,22 @@ ALTER TABLE tower_sessions.session OWNER TO postgres; -- COPY public._sqlx_migrations (version, description, installed_on, success, checksum, execution_time) FROM stdin; -20251006215000 users 2025-11-14 22:16:49.600081+00 t \\x4f13ce14ff67ef0b7145987c7b22b588745bf9fbb7b673450c26a0f2f9a36ef8ca980e456c8d77cfb1b2d7a4577a64d7 2460167 -20251006215100 networks 2025-11-14 22:16:49.603443+00 t \\xeaa5a07a262709f64f0c59f31e25519580c79e2d1a523ce72736848946a34b17dd9adc7498eaf90551af6b7ec6d4e0e3 2767000 -20251006215151 create hosts 2025-11-14 22:16:49.60647+00 t \\x6ec7487074c0724932d21df4cf1ed66645313cf62c159a7179e39cbc261bcb81a24f7933a0e3cf58504f2a90fc5c1962 1537125 -20251006215155 create subnets 2025-11-14 22:16:49.60821+00 t \\xefb5b25742bd5f4489b67351d9f2494a95f307428c911fd8c5f475bfb03926347bdc269bbd048d2ddb06336945b27926 2567041 -20251006215201 create groups 2025-11-14 22:16:49.610951+00 t \\x0a7032bf4d33a0baf020e905da865cde240e2a09dda2f62aa535b2c5d4b26b20be30a3286f1b5192bd94cd4a5dbb5bcd 1323250 -20251006215204 create daemons 2025-11-14 22:16:49.612461+00 t \\xcfea93403b1f9cf9aac374711d4ac72d8a223e3c38a1d2a06d9edb5f94e8a557debac3668271f8176368eadc5105349f 1616583 -20251006215212 create services 2025-11-14 22:16:49.614275+00 t \\xd5b07f82fc7c9da2782a364d46078d7d16b5c08df70cfbf02edcfe9b1b24ab6024ad159292aeea455f15cfd1f4740c1d 1686583 -20251029193448 user-auth 2025-11-14 22:16:49.616133+00 t \\xfde8161a8db89d51eeade7517d90a41d560f19645620f2298f78f116219a09728b18e91251ae31e46a47f6942d5a9032 13088834 -20251030044828 daemon api 2025-11-14 22:16:49.629401+00 t \\x181eb3541f51ef5b038b2064660370775d1b364547a214a20dde9c9d4bb95a1c273cd4525ef29e61fa65a3eb4fee0400 548958 -20251030170438 host-hide 2025-11-14 22:16:49.630091+00 t \\x87c6fda7f8456bf610a78e8e98803158caa0e12857c5bab466a5bb0004d41b449004a68e728ca13f17e051f662a15454 422708 -20251102224919 create discovery 2025-11-14 22:16:49.630649+00 t \\xb32a04abb891aba48f92a059fae7341442355ca8e4af5d109e28e2a4f79ee8e11b2a8f40453b7f6725c2dd6487f26573 5598250 -20251106235621 normalize-daemon-cols 2025-11-14 22:16:49.636455+00 t \\x5b137118d506e2708097c432358bf909265b3cf3bacd662b02e2c81ba589a9e0100631c7801cffd9c57bb10a6674fb3b 673167 -20251107034459 api keys 2025-11-14 22:16:49.637272+00 t \\x3133ec043c0c6e25b6e55f7da84cae52b2a72488116938a2c669c8512c2efe72a74029912bcba1f2a2a0a8b59ef01dde 3883417 -20251107222650 oidc-auth 2025-11-14 22:16:49.64139+00 t \\xd349750e0298718cbcd98eaff6e152b3fb45c3d9d62d06eedeb26c75452e9ce1af65c3e52c9f2de4bd532939c2f31096 14642917 -20251113223656 group-enhancements 2025-11-14 22:16:49.656209+00 t \\xbe0699486d85df2bd3edc1f0bf4f1f096d5b6c5070361702c4d203ec2bb640811be88bb1979cfe51b40805ad84d1de65 449500 +20251006215000 users 2025-11-17 02:17:35.430284+00 t \\x4f13ce14ff67ef0b7145987c7b22b588745bf9fbb7b673450c26a0f2f9a36ef8ca980e456c8d77cfb1b2d7a4577a64d7 3483844 +20251006215100 networks 2025-11-17 02:17:35.43446+00 t \\xeaa5a07a262709f64f0c59f31e25519580c79e2d1a523ce72736848946a34b17dd9adc7498eaf90551af6b7ec6d4e0e3 3834137 +20251006215151 create hosts 2025-11-17 02:17:35.43866+00 t \\x6ec7487074c0724932d21df4cf1ed66645313cf62c159a7179e39cbc261bcb81a24f7933a0e3cf58504f2a90fc5c1962 3851509 +20251006215155 create subnets 2025-11-17 02:17:35.442875+00 t \\xefb5b25742bd5f4489b67351d9f2494a95f307428c911fd8c5f475bfb03926347bdc269bbd048d2ddb06336945b27926 3687143 +20251006215201 create groups 2025-11-17 02:17:35.446935+00 t \\x0a7032bf4d33a0baf020e905da865cde240e2a09dda2f62aa535b2c5d4b26b20be30a3286f1b5192bd94cd4a5dbb5bcd 3792640 +20251006215204 create daemons 2025-11-17 02:17:35.45108+00 t \\xcfea93403b1f9cf9aac374711d4ac72d8a223e3c38a1d2a06d9edb5f94e8a557debac3668271f8176368eadc5105349f 4296569 +20251006215212 create services 2025-11-17 02:17:35.455736+00 t \\xd5b07f82fc7c9da2782a364d46078d7d16b5c08df70cfbf02edcfe9b1b24ab6024ad159292aeea455f15cfd1f4740c1d 4711642 +20251029193448 user-auth 2025-11-17 02:17:35.460828+00 t \\xfde8161a8db89d51eeade7517d90a41d560f19645620f2298f78f116219a09728b18e91251ae31e46a47f6942d5a9032 3575845 +20251030044828 daemon api 2025-11-17 02:17:35.464748+00 t \\x181eb3541f51ef5b038b2064660370775d1b364547a214a20dde9c9d4bb95a1c273cd4525ef29e61fa65a3eb4fee0400 1529622 +20251030170438 host-hide 2025-11-17 02:17:35.466574+00 t \\x87c6fda7f8456bf610a78e8e98803158caa0e12857c5bab466a5bb0004d41b449004a68e728ca13f17e051f662a15454 1098327 +20251102224919 create discovery 2025-11-17 02:17:35.467965+00 t \\xb32a04abb891aba48f92a059fae7341442355ca8e4af5d109e28e2a4f79ee8e11b2a8f40453b7f6725c2dd6487f26573 9262435 +20251106235621 normalize-daemon-cols 2025-11-17 02:17:35.477531+00 t \\x5b137118d506e2708097c432358bf909265b3cf3bacd662b02e2c81ba589a9e0100631c7801cffd9c57bb10a6674fb3b 1729795 +20251107034459 api keys 2025-11-17 02:17:35.479557+00 t \\x3133ec043c0c6e25b6e55f7da84cae52b2a72488116938a2c669c8512c2efe72a74029912bcba1f2a2a0a8b59ef01dde 7329522 +20251107222650 oidc-auth 2025-11-17 02:17:35.487195+00 t \\xd349750e0298718cbcd98eaff6e152b3fb45c3d9d62d06eedeb26c75452e9ce1af65c3e52c9f2de4bd532939c2f31096 21031724 +20251110181948 orgs-billing 2025-11-17 02:17:35.508545+00 t \\x258402b31e856f2c8acb1f1222eba03a95e9a8178ac614b01d1ccf43618a0178f5a65b7d067a001e35b7e8cd5749619f 10279391 +20251113223656 group-enhancements 2025-11-17 02:17:35.519158+00 t \\xbe0699486d85df2bd3edc1f0bf4f1f096d5b6c5070361702c4d203ec2bb640811be88bb1979cfe51b40805ad84d1de65 1027575 \. @@ -309,7 +364,7 @@ COPY public._sqlx_migrations (version, description, installed_on, success, check -- COPY public.api_keys (id, key, network_id, name, created_at, updated_at, last_used, expires_at, is_enabled) FROM stdin; -560c3331-f5a3-438f-9106-d7487c496dff 0ed73d4d5f154f86902cf977d78788f6 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d Integrated Daemon API Key 2025-11-14 22:16:49.705711+00 2025-11-14 22:17:39.192707+00 2025-11-14 22:17:39.192524+00 \N t +ffba730c-04d0-473a-9b69-e0cd67faf185 47c05d918d4843aaa900bcb1623585f4 71cb7e09-5aa2-4f92-8be4-82d29040de69 Integrated Daemon API Key 2025-11-17 02:17:38.665468+00 2025-11-17 02:18:32.269426+00 2025-11-17 02:18:32.269095+00 \N t \. @@ -318,7 +373,7 @@ COPY public.api_keys (id, key, network_id, name, created_at, updated_at, last_us -- COPY public.daemons (id, network_id, host_id, ip, port, created_at, last_seen, capabilities, updated_at) FROM stdin; -1af42567-82b6-4caf-a2bc-07c97b53f649 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d d8c0edfe-1132-4f67-91d9-9dbbbc88f231 "172.25.0.4" 60073 2025-11-14 22:16:49.756573+00 2025-11-14 22:16:49.756572+00 {"has_docker_socket": false, "interfaced_subnet_ids": ["fb88a2e2-5092-49d8-8180-0ce5be260ca0"]} 2025-11-14 22:16:49.769515+00 +2f1adbf6-d761-47a2-9d03-ca4160915538 71cb7e09-5aa2-4f92-8be4-82d29040de69 811074a1-d751-4895-89a4-7f29fd7e6f93 "172.25.0.4" 60073 2025-11-17 02:17:38.71703+00 2025-11-17 02:17:38.717029+00 {"has_docker_socket": false, "interfaced_subnet_ids": ["ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232"]} 2025-11-17 02:17:38.733275+00 \. @@ -327,10 +382,10 @@ COPY public.daemons (id, network_id, host_id, ip, port, created_at, last_seen, c -- COPY public.discovery (id, network_id, daemon_id, run_type, discovery_type, name, created_at, updated_at) FROM stdin; -b402272f-de24-4785-9656-bc17d253557a b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 1af42567-82b6-4caf-a2bc-07c97b53f649 {"type": "Scheduled", "enabled": true, "last_run": null, "cron_schedule": "0 0 0 * * *"} {"type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231"} Self Report @ 172.25.0.4 2025-11-14 22:16:49.75748+00 2025-11-14 22:16:49.75748+00 -6eeb9e3b-ea96-41a1-a1f2-62aa38dd8fc3 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 1af42567-82b6-4caf-a2bc-07c97b53f649 {"type": "Scheduled", "enabled": true, "last_run": null, "cron_schedule": "0 0 0 * * *"} {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"} Network Scan @ 172.25.0.4 2025-11-14 22:16:49.761912+00 2025-11-14 22:16:49.761912+00 -1b03137c-40f5-400d-824e-eafd814bd1aa b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 1af42567-82b6-4caf-a2bc-07c97b53f649 {"type": "Historical", "results": {"error": null, "phase": "Complete", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "processed": 1, "network_id": "b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d", "session_id": "5bed057b-ec1b-46e9-b639-e2470ab1a501", "started_at": "2025-11-14T22:16:49.762047926Z", "finished_at": "2025-11-14T22:16:49.773672217Z", "discovery_type": {"type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231"}, "total_to_process": 1}} {"type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231"} Discovery Run 2025-11-14 22:16:49.762047+00 2025-11-14 22:16:49.774068+00 -a6d39504-7961-49b3-8d94-1cf22c845d18 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 1af42567-82b6-4caf-a2bc-07c97b53f649 {"type": "Historical", "results": {"error": null, "phase": "Complete", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "processed": 11, "network_id": "b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d", "session_id": "de90469d-739a-41b8-9705-4fa36330f0e4", "started_at": "2025-11-14T22:16:49.780169759Z", "finished_at": "2025-11-14T22:17:39.191798712Z", "discovery_type": {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"}, "total_to_process": 16}} {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"} Discovery Run 2025-11-14 22:16:49.780169+00 2025-11-14 22:17:39.192689+00 +e8742ee4-d6fc-4794-ba6e-4adf32685c90 71cb7e09-5aa2-4f92-8be4-82d29040de69 2f1adbf6-d761-47a2-9d03-ca4160915538 {"type": "Scheduled", "enabled": true, "last_run": null, "cron_schedule": "0 0 0 * * *"} {"type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93"} Self Report @ 172.25.0.4 2025-11-17 02:17:38.718652+00 2025-11-17 02:17:38.718652+00 +daa0f034-422d-4db8-a3d5-56f15449cc8f 71cb7e09-5aa2-4f92-8be4-82d29040de69 2f1adbf6-d761-47a2-9d03-ca4160915538 {"type": "Scheduled", "enabled": true, "last_run": null, "cron_schedule": "0 0 0 * * *"} {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"} Network Scan @ 172.25.0.4 2025-11-17 02:17:38.724068+00 2025-11-17 02:17:38.724068+00 +e9307d1f-5419-4fbf-8bc9-eb8e30bc833b 71cb7e09-5aa2-4f92-8be4-82d29040de69 2f1adbf6-d761-47a2-9d03-ca4160915538 {"type": "Historical", "results": {"error": null, "phase": "Complete", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "processed": 1, "network_id": "71cb7e09-5aa2-4f92-8be4-82d29040de69", "session_id": "56d51476-e754-48cb-b924-dc5cfadbb209", "started_at": "2025-11-17T02:17:38.723746615Z", "finished_at": "2025-11-17T02:17:38.779321076Z", "discovery_type": {"type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93"}, "total_to_process": 1}} {"type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93"} Discovery Run 2025-11-17 02:17:38.723746+00 2025-11-17 02:17:38.780795+00 +5bad367e-9035-47b1-8279-e896c471aa41 71cb7e09-5aa2-4f92-8be4-82d29040de69 2f1adbf6-d761-47a2-9d03-ca4160915538 {"type": "Historical", "results": {"error": null, "phase": "Complete", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "processed": 13, "network_id": "71cb7e09-5aa2-4f92-8be4-82d29040de69", "session_id": "d7e0d658-017b-4fc2-9385-bdda1b499dce", "started_at": "2025-11-17T02:17:38.787995195Z", "finished_at": "2025-11-17T02:18:32.268286877Z", "discovery_type": {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"}, "total_to_process": 16}} {"type": "Network", "subnet_ids": null, "host_naming_fallback": "BestService"} Discovery Run 2025-11-17 02:17:38.787995+00 2025-11-17 02:18:32.269345+00 \. @@ -347,14 +402,13 @@ COPY public.groups (id, network_id, name, description, group_type, created_at, u -- COPY public.hosts (id, network_id, name, hostname, description, target, interfaces, services, ports, source, virtualization, created_at, updated_at, hidden) FROM stdin; -dc34a9b6-c525-4f58-a4b8-f199b3d2bbc3 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d Cloudflare DNS \N \N {"type": "ServiceBinding", "config": "672a1f3a-1da5-49eb-84c1-dac54618aea3"} [{"id": "3bc28dbc-c31c-4bf9-baba-b71e0f982c8b", "name": "Internet", "subnet_id": "5c782260-b337-4173-a76b-70a438c0cb01", "ip_address": "1.1.1.1", "mac_address": null}] ["74c5810f-a62f-4336-a06b-f405fe27e3c6"] [{"id": "09df4962-c85e-4bcd-a347-e6b577860ad4", "type": "DnsUdp", "number": 53, "protocol": "Udp"}] {"type": "System"} null 2025-11-14 22:16:49.696944+00 2025-11-14 22:16:49.701581+00 f -d6edcd40-ad4d-46c5-8908-a750d5736914 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d Google.com \N \N {"type": "ServiceBinding", "config": "1c89e643-049a-4043-98a6-d7ea5f2449e7"} [{"id": "b27ecaf6-aa08-4d73-a4fb-1d3df9f196df", "name": "Internet", "subnet_id": "5c782260-b337-4173-a76b-70a438c0cb01", "ip_address": "203.0.113.251", "mac_address": null}] ["c4cca6a5-f036-4312-be1a-ff99a01f95d2"] [{"id": "ceb6fadd-ee20-45f2-a7d9-afff80da3dfa", "type": "Https", "number": 443, "protocol": "Tcp"}] {"type": "System"} null 2025-11-14 22:16:49.696948+00 2025-11-14 22:16:49.703879+00 f -bed67fd4-fda3-46d7-930a-1d48f9eea0b1 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d Mobile Device \N A mobile device connecting from a remote network {"type": "ServiceBinding", "config": "f7d04eaf-b42d-47a2-a4d2-81ded45ca68a"} [{"id": "f94596bc-fba2-42e3-9f03-c4ac782c7a81", "name": "Remote Network", "subnet_id": "c0edc5bf-03e6-4549-95cf-7cf807378072", "ip_address": "203.0.113.58", "mac_address": null}] ["b57ba8d3-142c-4c33-9658-ff2103ca76c3"] [{"id": "e9b65096-b9f6-42e6-b2c1-b5d9667da50d", "type": "Custom", "number": 0, "protocol": "Tcp"}] {"type": "System"} null 2025-11-14 22:16:49.696951+00 2025-11-14 22:16:49.705376+00 f -b940a995-df65-4dc0-9f56-720b1c6bafab b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d netvisor-server-1.netvisor_netvisor-dev netvisor-server-1.netvisor_netvisor-dev \N {"type": "Hostname"} [{"id": "72510c7c-ddd0-4375-8153-005944f92e43", "name": null, "subnet_id": "fb88a2e2-5092-49d8-8180-0ce5be260ca0", "ip_address": "172.25.0.3", "mac_address": "56:22:5F:9F:6A:67"}] ["ae1b2eb2-3c56-477d-8540-62be2c5c6e3a"] [{"id": "c2ebc0df-af62-446c-811f-ff1c546759ab", "type": "Custom", "number": 60072, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:16:51.999434010Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-14 22:16:51.999438+00 2025-11-14 22:17:03.954019+00 f -2c3cd6ab-142a-4e5d-b739-20c288e28a27 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d netvisor-postgres-1.netvisor_netvisor-dev netvisor-postgres-1.netvisor_netvisor-dev \N {"type": "Hostname"} [{"id": "ce5db145-d0d5-4f10-a655-2ce56c485f55", "name": null, "subnet_id": "fb88a2e2-5092-49d8-8180-0ce5be260ca0", "ip_address": "172.25.0.6", "mac_address": "D6:F3:3F:DE:A5:EA"}] ["cd88798a-0022-4830-99e9-0c0434e79d8a"] [{"id": "f2906758-0882-429c-b484-e1ceab535a9c", "type": "PostgreSQL", "number": 5432, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:17:04.010978627Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-14 22:17:04.010981+00 2025-11-14 22:17:16.244041+00 f -d8c0edfe-1132-4f67-91d9-9dbbbc88f231 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 172.25.0.4 a56a6eb13cbc NetVisor daemon {"type": "None"} [{"id": "441261e0-23c3-49cc-842f-0247ff04725a", "name": "eth0", "subnet_id": "fb88a2e2-5092-49d8-8180-0ce5be260ca0", "ip_address": "172.25.0.4", "mac_address": "DE:A5:60:B1:11:9B"}] ["7d5f0799-3654-445f-9200-1e3fd0b3f4b1", "b723a8dd-37f4-45f1-bd12-bdae4464b227"] [{"id": "4e9ba7d5-64a0-41ae-b291-5f66072a45d4", "type": "Custom", "number": 60073, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:16:51.985982552Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}, {"date": "2025-11-14T22:16:49.770508467Z", "type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649"}]} null 2025-11-14 22:16:49.723219+00 2025-11-14 22:16:52.03882+00 f -3305c299-57d2-4070-bda9-ae4abfe45fcc b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d homeassistant-discovery.netvisor_netvisor-dev homeassistant-discovery.netvisor_netvisor-dev \N {"type": "Hostname"} [{"id": "1be6cb8b-a1d3-4cfd-aa84-da96cdcbce90", "name": null, "subnet_id": "fb88a2e2-5092-49d8-8180-0ce5be260ca0", "ip_address": "172.25.0.5", "mac_address": "FA:4B:6D:DA:94:20"}] ["fc69392f-1534-4073-a8be-ada01b68aaaf"] [{"id": "a3680ab8-91f9-44e6-9dd9-2b37d5701cbe", "type": "Custom", "number": 8123, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:17:16.083894299Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-14 22:17:16.083897+00 2025-11-14 22:17:25.642186+00 f -faa44871-ae90-478c-823d-019317d4703a b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d NetVisor Server API \N \N {"type": "None"} [{"id": "f2d264a1-8c12-45da-b3d9-f00c19a0300a", "name": null, "subnet_id": "fb88a2e2-5092-49d8-8180-0ce5be260ca0", "ip_address": "172.25.0.1", "mac_address": "46:86:A6:DE:C4:C8"}] ["69ef1882-b99d-4dd5-831f-4a6d1662ba23", "38221ad4-c94d-4be8-8406-90eb00bc510d", "07d9d61b-0887-4622-8322-ba51c9e217a2"] [{"id": "23be0c41-ea7c-44f2-855a-0ebc68ece8fc", "type": "Custom", "number": 60072, "protocol": "Tcp"}, {"id": "243909cb-1d63-4b60-95c7-ac780cb61db4", "type": "Custom", "number": 8123, "protocol": "Tcp"}, {"id": "d2495a16-185d-4d5a-8c05-42f941ad8093", "type": "PostgreSQL", "number": 5432, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:17:29.797165041Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-14 22:17:29.797169+00 2025-11-14 22:17:39.18949+00 f +9cfefacc-dca0-4686-8dc8-dc607fc8c6fa 71cb7e09-5aa2-4f92-8be4-82d29040de69 Cloudflare DNS \N \N {"type": "ServiceBinding", "config": "cbd28939-3fac-4955-8315-359526d3e860"} [{"id": "2e125260-4bef-485b-9c58-aa38e75c8dd3", "name": "Internet", "subnet_id": "27c53d33-b49c-4b4a-b55d-555b7659b34d", "ip_address": "1.1.1.1", "mac_address": null}] ["3e965646-c235-48ad-b9a6-8357ab843401"] [{"id": "d0f96d5f-0f83-426f-b560-25512b5059e4", "type": "DnsUdp", "number": 53, "protocol": "Udp"}] {"type": "System"} null 2025-11-17 02:17:38.647522+00 2025-11-17 02:17:38.656403+00 f +f19267c6-7766-4289-bb37-de6a823547bf 71cb7e09-5aa2-4f92-8be4-82d29040de69 Google.com \N \N {"type": "ServiceBinding", "config": "af71a8bb-3f1e-40a2-9560-ce887f46b3cf"} [{"id": "9d797655-5b79-41d9-9387-c1e75013ea61", "name": "Internet", "subnet_id": "27c53d33-b49c-4b4a-b55d-555b7659b34d", "ip_address": "203.0.113.227", "mac_address": null}] ["a098a7f7-ac8c-421c-b8ae-0800238d0f5a"] [{"id": "f246fddd-c9be-4510-8c04-111275b65cf1", "type": "Https", "number": 443, "protocol": "Tcp"}] {"type": "System"} null 2025-11-17 02:17:38.647537+00 2025-11-17 02:17:38.661145+00 f +89db522c-6e33-4839-8f6f-0fb95e4e12d3 71cb7e09-5aa2-4f92-8be4-82d29040de69 Mobile Device \N A mobile device connecting from a remote network {"type": "ServiceBinding", "config": "5ae87be4-9d85-428e-8638-ad15be2eeeb0"} [{"id": "9b5bc0c1-de34-415e-8103-923286383af7", "name": "Remote Network", "subnet_id": "8a5549a9-b92e-4802-baa3-243150acb782", "ip_address": "203.0.113.218", "mac_address": null}] ["1737662f-7607-411a-a80a-3d2e4db17af3"] [{"id": "68e8fac9-c190-4436-92e8-1fe60f4dec93", "type": "Custom", "number": 0, "protocol": "Tcp"}] {"type": "System"} null 2025-11-17 02:17:38.647545+00 2025-11-17 02:17:38.664726+00 f +d636cde5-dc24-44e0-a84a-d71ab93c9374 71cb7e09-5aa2-4f92-8be4-82d29040de69 netvisor-postgres-dev-1.netvisor_netvisor-dev netvisor-postgres-dev-1.netvisor_netvisor-dev \N {"type": "Hostname"} [{"id": "77bd6642-a9f8-496c-b661-af81cdc0d420", "name": null, "subnet_id": "ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232", "ip_address": "172.25.0.6", "mac_address": "92:51:8B:FC:44:BB"}] ["7fc3a271-8818-40f2-ad59-918d6b960bc3"] [{"id": "e208ee18-ce2f-4515-aece-2ff6820eb387", "type": "PostgreSQL", "number": 5432, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-17T02:17:55.743865992Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-17 02:17:55.743868+00 2025-11-17 02:18:10.174126+00 f +811074a1-d751-4895-89a4-7f29fd7e6f93 71cb7e09-5aa2-4f92-8be4-82d29040de69 172.25.0.4 8a87151a0f68 NetVisor daemon {"type": "None"} [{"id": "be7554f3-481f-4614-8a85-ffcb4f771891", "name": "eth0", "subnet_id": "ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232", "ip_address": "172.25.0.4", "mac_address": "96:1B:83:72:47:F7"}] ["496f6ed4-5c27-4275-ac7c-f5e3b9814c01"] [{"id": "8ddd8a5e-78bd-4768-a9db-1f65b2fa8d6d", "type": "Custom", "number": 60073, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-17T02:17:38.735130234Z", "type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538"}]} null 2025-11-17 02:17:38.673169+00 2025-11-17 02:17:38.777105+00 f +65e76d3b-c2ca-4b10-91f0-253007db4703 71cb7e09-5aa2-4f92-8be4-82d29040de69 netvisor-server-1.netvisor_netvisor-dev netvisor-server-1.netvisor_netvisor-dev \N {"type": "Hostname"} [{"id": "8032eda5-294f-4eb0-8406-fd3dcfdcabff", "name": null, "subnet_id": "ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232", "ip_address": "172.25.0.3", "mac_address": "02:9C:C8:DF:E2:43"}] ["8dab8d7a-a13d-458d-8c57-c5bbed46bb14"] [{"id": "8e4d2b99-b64d-448b-b7ea-026122118881", "type": "Custom", "number": 60072, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-17T02:17:40.934631215Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-17 02:17:40.934634+00 2025-11-17 02:17:55.577692+00 f +94974170-dcea-4735-bba0-ff16b678a483 71cb7e09-5aa2-4f92-8be4-82d29040de69 runnervmg1sw1 runnervmg1sw1 \N {"type": "Hostname"} [{"id": "bac26c73-c50c-4935-8377-2d90d7648e51", "name": null, "subnet_id": "ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232", "ip_address": "172.25.0.1", "mac_address": "A6:AC:20:31:DC:26"}] ["43de0249-a90e-49df-84a6-c01a66bb9afb", "f4e7134c-9629-45d6-aef4-4763e0a20134"] [{"id": "15821f09-b378-4e56-9980-4dd89d1876f8", "type": "Custom", "number": 8123, "protocol": "Tcp"}, {"id": "9523db94-23d9-44ba-bb73-528be15e2b12", "type": "Custom", "number": 60072, "protocol": "Tcp"}, {"id": "33ae2e75-0a19-430e-a97d-f1e4cb66f6d4", "type": "Ssh", "number": 22, "protocol": "Tcp"}] {"type": "Discovery", "metadata": [{"date": "2025-11-17T02:18:18.305117734Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} null 2025-11-17 02:18:18.30512+00 2025-11-17 02:18:32.266266+00 f \. @@ -362,8 +416,17 @@ faa44871-ae90-478c-823d-019317d4703a b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d NetVis -- Data for Name: networks; Type: TABLE DATA; Schema: public; Owner: postgres -- -COPY public.networks (id, name, created_at, updated_at, is_default, user_id) FROM stdin; -b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d My Network 2025-11-14 22:16:49.696206+00 2025-11-14 22:16:49.696206+00 t e3ece293-adb6-483c-a02c-6aab8ebbf59b +COPY public.networks (id, name, created_at, updated_at, is_default, organization_id) FROM stdin; +71cb7e09-5aa2-4f92-8be4-82d29040de69 My Network 2025-11-17 02:17:38.646134+00 2025-11-17 02:17:38.646134+00 f fea957e6-5c75-4e6d-acd1-4c58ae3642f8 +\. + + +-- +-- Data for Name: organizations; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.organizations (id, name, stripe_customer_id, plan, plan_status, created_at, updated_at, is_onboarded) FROM stdin; +fea957e6-5c75-4e6d-acd1-4c58ae3642f8 My Organization \N {"type": "Community", "price": {"rate": "Month", "cents": 0}, "trial_days": 0} null 2025-11-17 02:17:35.574365+00 2025-11-17 02:17:38.644483+00 t \. @@ -372,16 +435,14 @@ b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d My Network 2025-11-14 22:16:49.696206+00 20 -- COPY public.services (id, network_id, created_at, updated_at, name, host_id, bindings, service_definition, virtualization, source) FROM stdin; -74c5810f-a62f-4336-a06b-f405fe27e3c6 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.696945+00 2025-11-14 22:16:49.696945+00 Cloudflare DNS dc34a9b6-c525-4f58-a4b8-f199b3d2bbc3 [{"id": "672a1f3a-1da5-49eb-84c1-dac54618aea3", "type": "Port", "port_id": "09df4962-c85e-4bcd-a347-e6b577860ad4", "interface_id": "3bc28dbc-c31c-4bf9-baba-b71e0f982c8b"}] "Dns Server" null {"type": "System"} -c4cca6a5-f036-4312-be1a-ff99a01f95d2 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.696949+00 2025-11-14 22:16:49.696949+00 Google.com d6edcd40-ad4d-46c5-8908-a750d5736914 [{"id": "1c89e643-049a-4043-98a6-d7ea5f2449e7", "type": "Port", "port_id": "ceb6fadd-ee20-45f2-a7d9-afff80da3dfa", "interface_id": "b27ecaf6-aa08-4d73-a4fb-1d3df9f196df"}] "Web Service" null {"type": "System"} -b57ba8d3-142c-4c33-9658-ff2103ca76c3 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.696952+00 2025-11-14 22:16:49.696952+00 Mobile Device bed67fd4-fda3-46d7-930a-1d48f9eea0b1 [{"id": "f7d04eaf-b42d-47a2-a4d2-81ded45ca68a", "type": "Port", "port_id": "e9b65096-b9f6-42e6-b2c1-b5d9667da50d", "interface_id": "f94596bc-fba2-42e3-9f03-c4ac782c7a81"}] "Client" null {"type": "System"} -7d5f0799-3654-445f-9200-1e3fd0b3f4b1 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.770528+00 2025-11-14 22:16:52.037921+00 NetVisor Daemon API d8c0edfe-1132-4f67-91d9-9dbbbc88f231 [{"id": "bb52fc4a-19ed-4b2f-810f-665a6e586fce", "type": "Port", "port_id": "4e9ba7d5-64a0-41ae-b291-5f66072a45d4", "interface_id": "441261e0-23c3-49cc-842f-0247ff04725a"}] "NetVisor Daemon API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "NetVisor Daemon self-report", "type": "reason"}, "confidence": "Certain"}, "metadata": [{"date": "2025-11-14T22:16:51.986690093Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}, {"date": "2025-11-14T22:16:49.770525634Z", "type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649"}]} -ae1b2eb2-3c56-477d-8540-62be2c5c6e3a b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:59.145083+00 2025-11-14 22:16:59.145083+00 NetVisor Server API b940a995-df65-4dc0-9f56-720b1c6bafab [{"id": "ae34ef12-28fa-4673-9251-fb075d801e68", "type": "Port", "port_id": "c2ebc0df-af62-446c-811f-ff1c546759ab", "interface_id": "72510c7c-ddd0-4375-8153-005944f92e43"}] "NetVisor Server API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.3:60072/api/health contained \\"netvisor\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-14T22:16:59.145048472Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} -cd88798a-0022-4830-99e9-0c0434e79d8a b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:17:16.033244+00 2025-11-14 22:17:16.033244+00 PostgreSQL 2c3cd6ab-142a-4e5d-b739-20c288e28a27 [{"id": "a95dd4c7-98f5-4c21-8cae-876285a7cc73", "type": "Port", "port_id": "f2906758-0882-429c-b484-e1ceab535a9c", "interface_id": "ce5db145-d0d5-4f10-a655-2ce56c485f55"}] "PostgreSQL" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": ["Generic service", [{"data": "Port 5432/tcp is open but is used in other service match patterns", "type": "reason"}]], "type": "container"}, "confidence": "NotApplicable"}, "metadata": [{"date": "2025-11-14T22:17:16.033211091Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} -fc69392f-1534-4073-a8be-ada01b68aaaf b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:17:25.603909+00 2025-11-14 22:17:25.603909+00 Home Assistant 3305c299-57d2-4070-bda9-ae4abfe45fcc [{"id": "df86df08-d55e-4164-bf83-cbfbcc17d9fe", "type": "Port", "port_id": "a3680ab8-91f9-44e6-9dd9-2b37d5701cbe", "interface_id": "1be6cb8b-a1d3-4cfd-aa84-da96cdcbce90"}] "Home Assistant" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.5:8123/auth/authorize contained \\"home assistant\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-14T22:17:25.603841178Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} -69ef1882-b99d-4dd5-831f-4a6d1662ba23 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:17:35.909837+00 2025-11-14 22:17:35.909837+00 NetVisor Server API faa44871-ae90-478c-823d-019317d4703a [{"id": "37ba8a96-42fe-4ce7-8c7b-92e6a287d558", "type": "Port", "port_id": "23be0c41-ea7c-44f2-855a-0ebc68ece8fc", "interface_id": "f2d264a1-8c12-45da-b3d9-f00c19a0300a"}] "NetVisor Server API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.1:60072/api/health contained \\"netvisor\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-14T22:17:35.909830586Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} -07d9d61b-0887-4622-8322-ba51c9e217a2 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:17:39.145016+00 2025-11-14 22:17:39.145016+00 PostgreSQL faa44871-ae90-478c-823d-019317d4703a [{"id": "6177cf12-7c9e-4508-868f-2248d7781dea", "type": "Port", "port_id": "d2495a16-185d-4d5a-8c05-42f941ad8093", "interface_id": "f2d264a1-8c12-45da-b3d9-f00c19a0300a"}] "PostgreSQL" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": ["Generic service", [{"data": "Port 5432/tcp is open but is used in other service match patterns", "type": "reason"}]], "type": "container"}, "confidence": "NotApplicable"}, "metadata": [{"date": "2025-11-14T22:17:39.145014462Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} -38221ad4-c94d-4be8-8406-90eb00bc510d b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:17:39.144612+00 2025-11-14 22:17:39.144612+00 Home Assistant faa44871-ae90-478c-823d-019317d4703a [{"id": "d631f800-0c38-4ddd-8ac8-718f060a05cf", "type": "Port", "port_id": "243909cb-1d63-4b60-95c7-ac780cb61db4", "interface_id": "f2d264a1-8c12-45da-b3d9-f00c19a0300a"}] "Home Assistant" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.1:8123/auth/authorize contained \\"home assistant\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-14T22:17:39.144596171Z", "type": "Network", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649", "subnet_ids": null, "host_naming_fallback": "BestService"}]} +3e965646-c235-48ad-b9a6-8357ab843401 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.647526+00 2025-11-17 02:17:38.647526+00 Cloudflare DNS 9cfefacc-dca0-4686-8dc8-dc607fc8c6fa [{"id": "cbd28939-3fac-4955-8315-359526d3e860", "type": "Port", "port_id": "d0f96d5f-0f83-426f-b560-25512b5059e4", "interface_id": "2e125260-4bef-485b-9c58-aa38e75c8dd3"}] "Dns Server" null {"type": "System"} +a098a7f7-ac8c-421c-b8ae-0800238d0f5a 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.647539+00 2025-11-17 02:17:38.647539+00 Google.com f19267c6-7766-4289-bb37-de6a823547bf [{"id": "af71a8bb-3f1e-40a2-9560-ce887f46b3cf", "type": "Port", "port_id": "f246fddd-c9be-4510-8c04-111275b65cf1", "interface_id": "9d797655-5b79-41d9-9387-c1e75013ea61"}] "Web Service" null {"type": "System"} +1737662f-7607-411a-a80a-3d2e4db17af3 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.647547+00 2025-11-17 02:17:38.647547+00 Mobile Device 89db522c-6e33-4839-8f6f-0fb95e4e12d3 [{"id": "5ae87be4-9d85-428e-8638-ad15be2eeeb0", "type": "Port", "port_id": "68e8fac9-c190-4436-92e8-1fe60f4dec93", "interface_id": "9b5bc0c1-de34-415e-8103-923286383af7"}] "Client" null {"type": "System"} +496f6ed4-5c27-4275-ac7c-f5e3b9814c01 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.735148+00 2025-11-17 02:17:38.735148+00 NetVisor Daemon API 811074a1-d751-4895-89a4-7f29fd7e6f93 [{"id": "5105ba4a-0c23-4e6b-a1e8-739378601f0c", "type": "Port", "port_id": "8ddd8a5e-78bd-4768-a9db-1f65b2fa8d6d", "interface_id": "be7554f3-481f-4614-8a85-ffcb4f771891"}] "NetVisor Daemon API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "NetVisor Daemon self-report", "type": "reason"}, "confidence": "Certain"}, "metadata": [{"date": "2025-11-17T02:17:38.735147346Z", "type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538"}]} +8dab8d7a-a13d-458d-8c57-c5bbed46bb14 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:43.919623+00 2025-11-17 02:17:43.919623+00 NetVisor Server API 65e76d3b-c2ca-4b10-91f0-253007db4703 [{"id": "aed28a9c-fe43-4cdf-a05b-5a0eedc79b5e", "type": "Port", "port_id": "8e4d2b99-b64d-448b-b7ea-026122118881", "interface_id": "8032eda5-294f-4eb0-8406-fd3dcfdcabff"}] "NetVisor Server API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.3:60072/api/health contained \\"netvisor\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-17T02:17:43.919615605Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} +7fc3a271-8818-40f2-ad59-918d6b960bc3 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:18:10.14391+00 2025-11-17 02:18:10.14391+00 PostgreSQL d636cde5-dc24-44e0-a84a-d71ab93c9374 [{"id": "b0e2f2df-5756-4b71-8fe6-765203c5facf", "type": "Port", "port_id": "e208ee18-ce2f-4515-aece-2ff6820eb387", "interface_id": "77bd6642-a9f8-496c-b661-af81cdc0d420"}] "PostgreSQL" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": ["Generic service", [{"data": "Port 5432/tcp is open but is used in other service match patterns", "type": "reason"}]], "type": "container"}, "confidence": "NotApplicable"}, "metadata": [{"date": "2025-11-17T02:18:10.143903261Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} +f4e7134c-9629-45d6-aef4-4763e0a20134 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:18:21.072288+00 2025-11-17 02:18:21.072288+00 NetVisor Server API 94974170-dcea-4735-bba0-ff16b678a483 [{"id": "0fc2f4bf-d7a7-4db7-bcc3-9923f736ef9c", "type": "Port", "port_id": "9523db94-23d9-44ba-bb73-528be15e2b12", "interface_id": "bac26c73-c50c-4935-8377-2d90d7648e51"}] "NetVisor Server API" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.1:60072/api/health contained \\"netvisor\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-17T02:18:21.072282184Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} +43de0249-a90e-49df-84a6-c01a66bb9afb 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:18:20.383149+00 2025-11-17 02:18:20.383149+00 Home Assistant 94974170-dcea-4735-bba0-ff16b678a483 [{"id": "33305891-88b6-406d-ad64-75c94accac03", "type": "Port", "port_id": "15821f09-b378-4e56-9980-4dd89d1876f8", "interface_id": "bac26c73-c50c-4935-8377-2d90d7648e51"}] "Home Assistant" null {"type": "DiscoveryWithMatch", "details": {"reason": {"data": "Response for 172.25.0.1:8123/ contained \\"home assistant\\" in body", "type": "reason"}, "confidence": "High"}, "metadata": [{"date": "2025-11-17T02:18:20.383140372Z", "type": "Network", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538", "subnet_ids": null, "host_naming_fallback": "BestService"}]} \. @@ -390,9 +451,9 @@ fc69392f-1534-4073-a8be-ada01b68aaaf b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-1 -- COPY public.subnets (id, network_id, created_at, updated_at, cidr, name, description, subnet_type, source) FROM stdin; -5c782260-b337-4173-a76b-70a438c0cb01 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.696896+00 2025-11-14 22:16:49.696896+00 "0.0.0.0/0" Internet This subnet uses the 0.0.0.0/0 CIDR as an organizational container for services running on the internet (e.g., public DNS servers, cloud services, etc.). "Internet" {"type": "System"} -c0edc5bf-03e6-4549-95cf-7cf807378072 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.696897+00 2025-11-14 22:16:49.696897+00 "0.0.0.0/0" Remote Network This subnet uses the 0.0.0.0/0 CIDR as an organizational container for hosts on remote networks (e.g., mobile connections, friend's networks, public WiFi, etc.). "Remote" {"type": "System"} -fb88a2e2-5092-49d8-8180-0ce5be260ca0 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-11-14 22:16:49.764876+00 2025-11-14 22:16:49.764876+00 "172.25.0.0/28" 172.25.0.0/28 \N "Lan" {"type": "Discovery", "metadata": [{"date": "2025-11-14T22:16:49.764872134Z", "type": "SelfReport", "host_id": "d8c0edfe-1132-4f67-91d9-9dbbbc88f231", "daemon_id": "1af42567-82b6-4caf-a2bc-07c97b53f649"}]} +27c53d33-b49c-4b4a-b55d-555b7659b34d 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.647451+00 2025-11-17 02:17:38.647451+00 "0.0.0.0/0" Internet This subnet uses the 0.0.0.0/0 CIDR as an organizational container for services running on the internet (e.g., public DNS servers, cloud services, etc.). "Internet" {"type": "System"} +8a5549a9-b92e-4802-baa3-243150acb782 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.647455+00 2025-11-17 02:17:38.647455+00 "0.0.0.0/0" Remote Network This subnet uses the 0.0.0.0/0 CIDR as an organizational container for hosts on remote networks (e.g., mobile connections, friend's networks, public WiFi, etc.). "Remote" {"type": "System"} +ad511e14-b9a8-4fbb-8f7f-bf7a4a42f232 71cb7e09-5aa2-4f92-8be4-82d29040de69 2025-11-17 02:17:38.723901+00 2025-11-17 02:17:38.723901+00 "172.25.0.0/28" 172.25.0.0/28 \N "Lan" {"type": "Discovery", "metadata": [{"date": "2025-11-17T02:17:38.723900261Z", "type": "SelfReport", "host_id": "811074a1-d751-4895-89a4-7f29fd7e6f93", "daemon_id": "2f1adbf6-d761-47a2-9d03-ca4160915538"}]} \. @@ -400,8 +461,8 @@ fb88a2e2-5092-49d8-8180-0ce5be260ca0 b01fe8ac-afa9-4492-9c0c-76ac2ab63a4d 2025-1 -- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: postgres -- -COPY public.users (id, created_at, updated_at, password_hash, oidc_provider, oidc_subject, oidc_linked_at, email) FROM stdin; -e3ece293-adb6-483c-a02c-6aab8ebbf59b 2025-11-14 22:16:49.695495+00 2025-11-14 22:16:55.714623+00 $argon2id$v=19$m=19456,t=2,p=1$+kNplng1fuNyy2R807jWgA$oJ+2syepKjuwdSlpiLGXfm6R40BGy18F5DUS7oUzhQE \N \N \N user@example.com +COPY public.users (id, created_at, updated_at, password_hash, oidc_provider, oidc_subject, oidc_linked_at, email, organization_id, permissions) FROM stdin; +bbd7651a-c19f-4801-b5a6-e81ce8a83816 2025-11-17 02:17:35.576465+00 2025-11-17 02:17:38.633043+00 $argon2id$v=19$m=19456,t=2,p=1$XMy37p2OZWo82gI7jTJYHA$f2vaCu+SBxgbYthZlv+L8rbOKJYeEAraiaYpwJqLEHE \N \N \N user@example.com fea957e6-5c75-4e6d-acd1-4c58ae3642f8 "Owner" \. @@ -410,7 +471,7 @@ e3ece293-adb6-483c-a02c-6aab8ebbf59b 2025-11-14 22:16:49.695495+00 2025-11-14 22 -- COPY tower_sessions.session (id, data, expiry_date) FROM stdin; -cfjCL365hjn6vlN6x9qU4A \\x93c410e094dac77a53befa3986b97e2fc2f87181a7757365725f6964d92465336563653239332d616462362d343833632d613032632d36616162386562626635396299cd07e9cd015c161037ce2ab8945f000000 2025-12-14 22:16:55.716739+00 +19MSd943ZOlqW2-ge6lU1A \\x93c410d454a97ba06f5b6ae96437de7712d3d781a7757365725f6964d92462626437363531612d633139662d343830312d623561362d65383163653861383338313699cd07e9cd015f021126ce25d5090b000000 2025-12-17 02:17:38.634718+00 \. @@ -478,6 +539,14 @@ ALTER TABLE ONLY public.networks ADD CONSTRAINT networks_pkey PRIMARY KEY (id); +-- +-- Name: organizations organizations_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.organizations + ADD CONSTRAINT organizations_pkey PRIMARY KEY (id); + + -- -- Name: services services_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres -- @@ -566,6 +635,20 @@ CREATE INDEX idx_groups_network ON public.groups USING btree (network_id); CREATE INDEX idx_hosts_network ON public.hosts USING btree (network_id); +-- +-- Name: idx_networks_owner_organization; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_networks_owner_organization ON public.networks USING btree (organization_id); + + +-- +-- Name: idx_organizations_stripe_customer; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_organizations_stripe_customer ON public.organizations USING btree (stripe_customer_id); + + -- -- Name: idx_services_host_id; Type: INDEX; Schema: public; Owner: postgres -- @@ -601,6 +684,13 @@ CREATE UNIQUE INDEX idx_users_email_lower ON public.users USING btree (lower(ema CREATE UNIQUE INDEX idx_users_oidc_provider_subject ON public.users USING btree (oidc_provider, oidc_subject) WHERE ((oidc_provider IS NOT NULL) AND (oidc_subject IS NOT NULL)); +-- +-- Name: idx_users_organization; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_users_organization ON public.users USING btree (organization_id); + + -- -- Name: api_keys api_keys_network_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- @@ -650,11 +740,11 @@ ALTER TABLE ONLY public.hosts -- --- Name: networks networks_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- Name: networks organization_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres -- ALTER TABLE ONLY public.networks - ADD CONSTRAINT networks_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE; + ADD CONSTRAINT organization_id_fkey FOREIGN KEY (organization_id) REFERENCES public.organizations(id) ON DELETE CASCADE; -- @@ -681,9 +771,17 @@ ALTER TABLE ONLY public.subnets ADD CONSTRAINT subnets_network_id_fkey FOREIGN KEY (network_id) REFERENCES public.networks(id) ON DELETE CASCADE; +-- +-- Name: users users_organization_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_organization_id_fkey FOREIGN KEY (organization_id) REFERENCES public.organizations(id) ON DELETE CASCADE; + + -- -- PostgreSQL database dump complete -- -\unrestrict AboSGC5z0TJHejpGxGzbaWfB6VAlsXFWHyHen8QxAzFpDpdfjwLDjhW7CzRx2Dw +\unrestrict Q9g02hmlM4eb2eGLxCiTUJ3VyGardmXsSFVb5rBiDvUajWlWItFIFYp3YBuhGFV diff --git a/ui/static/services.json b/ui/static/services.json index 5f497437..496b780f 100644 --- a/ui/static/services.json +++ b/ui/static/services.json @@ -1,70 +1,4 @@ [ - { - "description": "A generic docker container", - "discovery_pattern": "All of: (Service is running in a docker container, A custom match pattern evaluated at runtime)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg", - "name": "Docker Container" - }, - { - "description": "Open-source home automation platform", - "discovery_pattern": "Endpoint response body from :8123/auth/authorize contains home assistant", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/home-assistant.svg", - "name": "Home Assistant" - }, - { - "description": "Google Nest smart thermostat", - "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), 9543/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", - "name": "Nest Thermostat" - }, - { - "description": "Automated developer-oriented status page", - "discovery_pattern": "Endpoint response body from :8080/manifest.json contains Gatus", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gatus.svg", - "name": "Gatus" - }, - { - "description": "A generic printing service", - "discovery_pattern": "Any of: (631/tcp is open, 515/tcp is open, 515/udp is open)", - "logo_url": "", - "name": "Print Server" - }, - { - "description": "Self-hosted uptime monitoring tool", - "discovery_pattern": "Endpoint response body from :80/ contains Uptime Kuma", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/uptime-kuma.svg", - "name": "UptimeKuma" - }, - { - "description": "ESP device management", - "discovery_pattern": "6052/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/esphome.svg", - "name": "ESPHome" - }, - { - "description": "Cross-platform open-source BitTorrent client", - "discovery_pattern": "Any of: (Endpoint response body from :8080/ contains qBittorrent logo, Endpoint response body from :8090/ contains qBittorrent logo)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/qbittorrent.svg", - "name": "qBittorrent" - }, - { - "description": "A generic web service", - "discovery_pattern": "No match pattern provided", - "logo_url": "", - "name": "Web Service" - }, - { - "description": "CI/CD server", - "discovery_pattern": "Endpoint response body from :8111/ contains teamcity", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/teamcity-light.svg", - "name": "TeamCity" - }, - { - "description": "QNAP network attached storage system", - "discovery_pattern": "All of: (21/tcp is open, Any of: (Endpoint response body from :80/ contains QNAP, Endpoint response body from :8080/ contains QNAP))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/qnap.svg", - "name": "QNAP NAS" - }, { "description": "NetVisor Server API for network management", "discovery_pattern": "Endpoint response body from :60072/api/health contains netvisor", @@ -72,106 +6,10 @@ "name": "NetVisor Server API" }, { - "description": "NoSQL document database", - "discovery_pattern": "Endpoint response body from :5984/ contains couchdb", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/couchdb.svg", - "name": "CouchDB" - }, - { - "description": "A generic client device that initiates connections to services", - "discovery_pattern": "No match pattern provided", - "logo_url": "", - "name": "Client" - }, - { - "description": "Open, extensible, user-friendly interface for AI", - "discovery_pattern": "Endpoint response body from :8080/manifest.json contains Open WebUI", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/open-webui-light.svg", - "name": "Open WebUI" - }, - { - "description": "Home automation system", - "discovery_pattern": "Endpoint response body from :8080/json.htm contains domoticz", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/domoticz.png", - "name": "Domoticz" - }, - { - "description": "Open source software application for managing requests for your media library.", - "discovery_pattern": "All of: (Endpoint response body from :5055/manifest.json contains Overseerr, Not (Endpoint response body from :5055/ contains Jellyseerr))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/overseerr.svg", - "name": "Overseerr" - }, - { - "description": "Cross-platform backup client with encryption", - "discovery_pattern": "Endpoint response body from :8200/ngax/index.html contains Duplicati", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/duplicati.svg", - "name": "Duplicati" - }, - { - "description": "Content management system", - "discovery_pattern": "Endpoint response body from :80/ contains wp-content", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wordpress.svg", - "name": "WordPress" - }, - { - "description": "Message broker", - "discovery_pattern": "Endpoint response body from :15672/ contains rabbitmq", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rabbitmq.svg", - "name": "RabbitMQ" - }, - { - "description": "Google Home smart speaker or display", - "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), All of: (8008/tcp is open, 8009/tcp is open))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", - "name": "Google Home" - }, - { - "description": "A modern client-server application for the Soulseek file-sharing network", - "discovery_pattern": "All of: (Endpoint response body from :5030/ contains slskd, Endpoint response body from :5030/api/v0/session/enabled contains true)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/slskd.svg", - "name": "Slskd" - }, - { - "description": "An open-source, self-hosted note-taking service.", - "discovery_pattern": "Endpoint response body from :5230/explore contains Memos", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/memos.png", - "name": "Memos" - }, - { - "description": "File hosting platform", - "discovery_pattern": "Endpoint response body from :8000/api2/ping contains seafile", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/seafile.svg", - "name": "Seafile" - }, - { - "description": "Identity management system", - "discovery_pattern": "Endpoint response body from :80/ipa/ui contains ", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/freeipa.svg", - "name": "FreeIPA" - }, - { - "description": "Open-source firewall and router platform", - "discovery_pattern": "All of: (22/tcp is open, Endpoint response body from :80/ contains pfsense)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pfsense.svg", - "name": "pfSense" - }, - { - "description": "Community-supported document management system", - "discovery_pattern": "Endpoint response body from :8000/accounts/login/ contains Paperless-ngx project", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/paperless-ngx.svg", - "name": "Paperless-NGX" - }, - { - "description": "A generic gateway", - "discovery_pattern": "All of: (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254., A custom match pattern evaluated at runtime)", - "logo_url": "", - "name": "Gateway" - }, - { - "description": "Java servlet container", - "discovery_pattern": "Endpoint response body from :8080/ contains apache tomcat", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/apache-tomcat.svg", - "name": "Tomcat" + "description": "User invitation and management system for Jellyfin, Plex, Emby etc", + "discovery_pattern": "Endpoint response body from :5690/static/manifest.json contains Wizarr", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wizarr.svg", + "name": "Wizarr" }, { "description": "A TV collection manager for Usenet and BitTorrent users.", @@ -179,12 +17,618 @@ "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/sonarr.svg", "name": "Sonarr" }, + { + "description": "A movie collection manager for Usenet and BitTorrent users.", + "discovery_pattern": "Endpoint response body from :7878/Content/manifest.json contains Radarr", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/radarr.svg", + "name": "Radarr" + }, + { + "description": "Cross-platform open-source BitTorrent client", + "discovery_pattern": "Any of: (Endpoint response body from :8080/ contains qBittorrent logo, Endpoint response body from :8090/ contains qBittorrent logo)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/qbittorrent.svg", + "name": "qBittorrent" + }, + { + "description": "The Ultimate Indexer Manager.", + "discovery_pattern": "Endpoint response body from :3232/Content/Images/Icons/manifest.json contains Prowlarr", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/prowlarr.svg", + "name": "Prowlarr" + }, + { + "description": "A Simple OIDC provider that uses passkeys for authentication", + "discovery_pattern": "Endpoint response body from :1411/app.webmanifest contains Pocket ID", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pocket-id-light.svg", + "name": "Pocket ID" + }, + { + "description": "A tiny dashboard for Network UPS Tools", + "discovery_pattern": "Endpoint response body from :3000/api/v1/info contains peanut", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/peanut.svg", + "name": "PeaNUT" + }, + { + "description": "Community-supported document management system", + "discovery_pattern": "Endpoint response body from :8000/accounts/login/? contains Paperless-ngx project", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/paperless-ngx.svg", + "name": "Paperless-NGX" + }, + { + "description": "Open, extensible, user-friendly interface for AI", + "discovery_pattern": "Endpoint response body from :8080/manifest.json contains Open WebUI", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/open-webui-light.svg", + "name": "Open WebUI" + }, + { + "description": "An easy way to get up and running with LLMs.", + "discovery_pattern": "Endpoint response body from :11434/ contains Ollama is running", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ollama-dark.svg", + "name": "Ollama" + }, + { + "description": "Network UPS Tools", + "discovery_pattern": "3493/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nut.svg", + "name": "NUT" + }, + { + "description": "PXE Boot Server", + "discovery_pattern": "Endpoint response body from :61208/ contains Netbootxyz", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/netbootxyz.svg", + "name": "Netbootxyz" + }, + { + "description": "An open-source, self-hosted note-taking service.", + "discovery_pattern": "Endpoint response body from :5230/explore contains Memos", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/memos.png", + "name": "Memos" + }, + { + "description": "A self-hosted recipe manager and meal planner", + "discovery_pattern": "All of: (Endpoint response body from :9000/ contains Mealie, Endpoint response body from :9000/ contains recipe)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mealie.svg", + "name": "Mealie" + }, + { + "description": "Vehicle Maintenance Records and Fuel Mileage Tracker", + "discovery_pattern": "Endpoint response body from :8080/ contains Garage - LubeLogger", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/lubelogger.png", + "name": "Lubelogger" + }, + { + "description": "A music collection manager for Usenet and BitTorrent users.", + "discovery_pattern": "Endpoint response body from :8686/Content/manifest.json contains Lidarr", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/lidarr.svg", + "name": "Lidarr" + }, + { + "description": "The Bookmark Everything App", + "discovery_pattern": "Endpoint response body from :3000/manifest.json contains Karakeep", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/karakeep.svg", + "name": "Karakeep" + }, + { + "description": "Finds missing media and upgrades your existing content.", + "discovery_pattern": "9705/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/huntarr.png", + "name": "Huntarr" + }, + { + "description": "Web-based self-hosted groceries & household management solution", + "discovery_pattern": "Any of: (Endpoint response body from :80/ contains grocy.css, Endpoint response body from :443/ contains grocy.css)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/grocy.svg", + "name": "Grocy" + }, + { + "description": "Torrent cleanup tool for Sonarr and Radarr", + "discovery_pattern": "11011/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cleanuperr.svg", + "name": "Cleanuparr" + }, + { + "description": "Web UI and orchestrator for Restic", + "discovery_pattern": "Endpoint response body from :9898/ contains BackRest", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/backrest-light.svg", + "name": "BackRest" + }, + { + "description": "The modern autodl-irssi replacement.", + "discovery_pattern": "7474/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/autobrr.svg", + "name": "Autobrr" + }, + { + "description": "A generic printing service", + "discovery_pattern": "Any of: (631/tcp is open, 515/tcp is open, 515/udp is open)", + "logo_url": "", + "name": "Print Server" + }, + { + "description": "An HP Printer", + "discovery_pattern": "All of: (Any of: (Endpoint response body from :80 contains LaserJet, Endpoint response body from :80 contains DeskJet, Endpoint response body from :80 contains OfficeJet, Endpoint response body from :8080 contains LaserJet, Endpoint response body from :8080 contains DeskJet, Endpoint response body from :8080 contains OfficeJet), Any of: (631/tcp is open, 515/tcp is open, 515/udp is open))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/hp.svg", + "name": "Hp Printer" + }, + { + "description": "Common Unix Printing System", + "discovery_pattern": "All of: (631/tcp is open, Endpoint response body from :80/ contains CUPS)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cups.svg", + "name": "CUPS" + }, + { + "description": "ESP device firmware", + "discovery_pattern": "No match pattern provided", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tasmota.svg", + "name": "Tasmota" + }, + { + "description": "Sonos wireless speaker system", + "discovery_pattern": "All of: (MAC Address belongs to Sonos, Inc., Any of: (445/tcp is open, 3445/tcp is open, 1400/tcp is open, 1410/tcp is open, 1843/tcp is open, 3400/tcp is open, 3401/tcp is open, 3500/tcp is open))", + "logo_url": "https://simpleicons.org/icons/sonos.svg", + "name": "Sonos Speaker" + }, + { + "description": "Roku streaming device or TV", + "discovery_pattern": "All of: (MAC Address belongs to Roku, Inc, 8060/tcp is open)", + "logo_url": "https://simpleicons.org/icons/roku.svg", + "name": "Roku Media Player" + }, + { + "description": "Ring video doorbell or security camera", + "discovery_pattern": "All of: (MAC Address belongs to Amazon Technologies Inc., Any of: (8557/tcp is open, 9998/tcp is open, 19302/tcp is open, 9999/tcp is open))", + "logo_url": "https://simpleicons.org/icons/ring.svg", + "name": "Ring Doorbell" + }, + { + "description": "Google Nest smart thermostat", + "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), 9543/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", + "name": "Nest Thermostat" + }, + { + "description": "Google Nest smoke and CO detector", + "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), 11095/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", + "name": "Nest Protect" + }, + { + "description": "A generic IoT Service", + "discovery_pattern": "No match pattern provided", + "logo_url": "", + "name": "IoT" + }, + { + "description": "Google Home smart speaker or display", + "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), All of: (8008/tcp is open, 8009/tcp is open))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", + "name": "Google Home" + }, + { + "description": "Google Chromecast streaming device", + "discovery_pattern": "All of: (MAC Address belongs to Google, Inc., 8008/tcp is open, 8009/tcp is open)", + "logo_url": "https://simpleicons.org/icons/googlecast.svg", + "name": "Chromecast" + }, + { + "description": "Camera with RTSP Streaming", + "discovery_pattern": "554/tcp is open", + "logo_url": "", + "name": "RTSP Camera" + }, + { + "description": "Amazon Echo smart speaker", + "discovery_pattern": "All of: (MAC Address belongs to Amazon Technologies Inc., 40317/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/alexa.svg", + "name": "Amazon Echo" + }, + { + "description": "A generic client device that initiates connections to services", + "discovery_pattern": "No match pattern provided", + "logo_url": "", + "name": "Client" + }, + { + "description": "Desktop computer for productivity work", + "discovery_pattern": "All of: (3389/tcp is open, 445/tcp is open)", + "logo_url": "", + "name": "Workstation" + }, + { + "description": "Session initiation protocol", + "discovery_pattern": "Any of: (5060/tcp is open, 5061/tcp is open)", + "logo_url": "", + "name": "SIP Server" + }, + { + "description": "Video conferencing", + "discovery_pattern": "Endpoint response body from :8443/ contains jitsilogo.png", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jitsi-meet.svg", + "name": "Jitsi Meet" + }, + { + "description": "PBX web interface", + "discovery_pattern": "All of: (Endpoint response body from :80/ contains freepbx, 5060/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/freepbx.svg", + "name": "FreePBX" + }, + { + "description": "Web conferencing system", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :80/bigbluebutton/api contains ", + "logo_url": "https://simpleicons.org/icons/bigbluebutton.svg", + "name": "BigBlueButton" + }, + { + "description": "PBX and VoIP server", + "discovery_pattern": "Endpoint response body from :8088/httpstatus contains asterisk", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/asterisk.png", + "name": "Asterisk" + }, + { + "description": "Distributed tracing system", + "discovery_pattern": "Endpoint response body from :9411/api/v2/services contains ", + "logo_url": "", + "name": "Zipkin" + }, + { + "description": "Enterprise monitoring solution", + "discovery_pattern": "Endpoint response body from :80/zabbix contains zabbix", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/zabbix.svg", + "name": "Zabbix" + }, + { + "description": "Security platform", + "discovery_pattern": "Endpoint response body from :55000/ contains wazuh", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wazuh.svg", + "name": "Wazuh" + }, + { + "description": "Self-hosted uptime monitoring tool", + "discovery_pattern": "Endpoint response body from :80/ contains Uptime Kuma", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/uptime-kuma.svg", + "name": "UptimeKuma" + }, + { + "description": "Data analytics platform", + "discovery_pattern": "Endpoint response body from :8000/ contains splunk", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/splunk.svg", + "name": "Splunk" + }, + { + "description": "Error tracking platform", + "discovery_pattern": "Endpoint response body from :9000/api/0/ contains sentry", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/sentry.svg", + "name": "Sentry" + }, + { + "description": "Monitoring framework", + "discovery_pattern": "Endpoint response body from :4567/health contains sensu", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/sensu.svg", + "name": "Sensu" + }, + { + "description": "Proxmox node/cluster/VM/LXC monitor", + "discovery_pattern": "Endpoint response body from :7655/ contains Pulse", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pulse.svg", + "name": "Pulse" + }, + { + "description": "Time-series monitoring and alerting system", + "discovery_pattern": "Any of: (Endpoint response body from :80/metrics contains Prometheus, Endpoint response body from :80/graph contains Prometheus)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/prometheus.svg", + "name": "Prometheus" + }, + { + "description": "Real-time performance monitoring", + "discovery_pattern": "Endpoint response body from :19999/api/v1/info contains netdata", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/netdata.svg", + "name": "Netdata" + }, + { + "description": "Infrastructure monitoring", + "discovery_pattern": "Endpoint response body from :80/nagios contains nagios", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nagios.svg", + "name": "Nagios" + }, + { + "description": "Distributed tracing system", + "discovery_pattern": "Endpoint response body from :16686/ contains jaeger", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jaeger.svg", + "name": "Jaeger" + }, + { + "description": "Infrastructure monitoring", + "discovery_pattern": "Endpoint response body from :5665/v1 contains icinga", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/icinga.svg", + "name": "Icinga" + }, + { + "description": "Security Information and Event Management (SIEM) solution and log analytics platform", + "discovery_pattern": "All of: (Endpoint response from has header content-security-policy with value graylog, Endpoint response body from :9000/ contains Graylog)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/graylog.svg", + "name": "Graylog" + }, + { + "description": "Analytics and monitoring visualization platform", + "discovery_pattern": "Endpoint response body from :80/ contains grafana.com", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/grafana.svg", + "name": "Grafana" + }, + { + "description": "An open-source system cross-platform monitoring tool.", + "discovery_pattern": "Endpoint response body from :61208/ contains Glances", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/glances.svg", + "name": "Glances" + }, + { + "description": "Automated developer-oriented status page", + "discovery_pattern": "Endpoint response body from :8080/manifest.json contains Gatus", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gatus.svg", + "name": "Gatus" + }, + { + "description": "Application performance monitoring", + "discovery_pattern": "Endpoint response body from :8200/ contains apm", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/elastic.svg", + "name": "Elastic APM" + }, + { + "description": "Monitor temperatures, fan speeds, and power in real time.", + "discovery_pattern": "Endpoint response body from :11987/ contains CoolerControl", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cooler-control.svg", + "name": "CoolerControl" + }, + { + "description": "A highly customizable link sharing platform", + "discovery_pattern": "All of: (Endpoint response from has header set-cookie with value linkstack_session, Endpoint response body from :8080/ contains LinkStack)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/linkstack.svg", + "name": "LinkStack" + }, + { + "description": "A self-hosted startpage and real-time status page", + "discovery_pattern": "Endpoint response body from :8123/ contains Jump", + "logo_url": "", + "name": "Jump" + }, + { + "description": "A self-hosted dashboard for your homelab", + "discovery_pattern": "Endpoint response body from :3000/site.webmanifest contains Homepage", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/homepage.webp", + "name": "Homepage" + }, + { + "description": "A sleek, modern dashboard", + "discovery_pattern": "7575/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/homarr.svg", + "name": "Homarr" + }, + { + "description": "Self-hosted Bitwarden-compatible server, written in Rust", + "discovery_pattern": "Endpoint response body from :8000/manifest.json contains Vaultwarden Web", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/vaultwarden.svg", + "name": "Vaultwarden" + }, + { + "description": "Secrets management", + "discovery_pattern": "Endpoint response body from :8200/v1/sys/health contains vault", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/hashicorp-vault.svg", + "name": "Vault" + }, + { + "description": "Generic LDAP directory service", + "discovery_pattern": "389/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openldap.svg", + "name": "Open LDAP" + }, + { + "description": "Identity and access management", + "discovery_pattern": "Endpoint response body from :8080/ contains /keycloak/", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/keycloak.svg", + "name": "Keycloak" + }, + { + "description": "Identity management system", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :80/ipa/ui contains ", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/freeipa.svg", + "name": "FreeIPA" + }, + { + "description": "Password manager", + "discovery_pattern": "Endpoint response body from :80/api/config contains bitwarden", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/bitwarden.svg", + "name": "Bitwarden" + }, + { + "description": "A self-hosted, open source identity provider", + "discovery_pattern": "Any of: (Endpoint response body from :9000/ contains window.authentik, Endpoint response body from :9443/ contains window.authentik)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/authentik.svg", + "name": "Authentik" + }, + { + "description": "Microsoft directory service", + "discovery_pattern": "All of: (389/tcp is open, 445/tcp is open, 88/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft.svg", + "name": "Active Directory" + }, + { + "description": "Content management system", + "discovery_pattern": "Endpoint response body from :80/ contains wp-content", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wordpress.svg", + "name": "WordPress" + }, + { + "description": "A generic web service", + "discovery_pattern": "No match pattern provided", + "logo_url": "", + "name": "Web Service" + }, + { + "description": "Java servlet container", + "discovery_pattern": "Endpoint response body from :8080/ contains apache tomcat", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/apache-tomcat.svg", + "name": "Tomcat" + }, + { + "description": "Publishing platform", + "discovery_pattern": "Endpoint response body from :2368/ contains ghost", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ghost.png", + "name": "Ghost" + }, + { + "description": "CI/CD server", + "discovery_pattern": "Endpoint response body from :8111/ contains teamcity", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/teamcity-light.svg", + "name": "TeamCity" + }, + { + "description": "Multi-cloud CD platform", + "discovery_pattern": "No match pattern provided", + "logo_url": "https://simpleicons.org/icons/spinnaker.svg", + "name": "Spinnaker" + }, + { + "description": "Cloud-native messaging system", + "discovery_pattern": "Endpoint response body from :8222/varz contains ", + "logo_url": "https://simpleicons.org/icons/natsdotio.svg", + "name": "NATS" + }, + { + "description": "Automation server for CI/CD", + "discovery_pattern": "Endpoint response body from :8080/ contains jenkins.io", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jenkins.svg", + "name": "Jenkins" + }, + { + "description": "DevOps platform", + "discovery_pattern": "All of: (Endpoint response from has header content-security-policy with value gitlab, Endpoint response body from :80/ contains gitlab)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gitlab.svg", + "name": "GitLab" + }, + { + "description": "Self-hosted GitHub", + "discovery_pattern": "No match pattern provided", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/github.svg", + "name": "GitHub" + }, { "description": "Container-native CI platform", "discovery_pattern": "All of: (Endpoint response body from :80/ contains drone, Endpoint response body from :80/api/user contains )", "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/drone.png", "name": "Drone" }, + { + "description": "Git repository management", + "discovery_pattern": "Endpoint response body from :7990/ contains bitbucket", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/bitbucket.svg", + "name": "Bitbucket Server" + }, + { + "description": "CI/CD server", + "discovery_pattern": "Endpoint response body from :8085/ contains bamboo", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/atlassian-bamboo.svg", + "name": "Bamboo" + }, + { + "description": "GitOps continuous delivery", + "discovery_pattern": "Endpoint response body from :8080/api/version contains argocd", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/argo-cd.svg", + "name": "ArgoCD" + }, + { + "description": "Ansible automation platform", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :80/api/v2/ contains awx", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ansible.svg", + "name": "AWX" + }, + { + "description": "Team communication platform", + "discovery_pattern": "Endpoint response body from :3000/api/info contains rocket", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rocket-chat.svg", + "name": "Rocket.Chat" + }, + { + "description": "Free and Open-Source CalDAV and CardDAV Server", + "discovery_pattern": "Endpoint response body from :5232/.web/ contains Radicale Web Interface", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/radicale.svg", + "name": "Radicale" + }, + { + "description": "Team messaging platform", + "discovery_pattern": "Endpoint response body from :8065/api/v4/system/ping contains ", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mattermost.svg", + "name": "Mattermost" + }, + { + "description": "Project management platform", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :8080/rest/api/2/serverInfo contains jira", + "logo_url": "", + "name": "Jira" + }, + { + "description": "Discussion platform", + "discovery_pattern": "Endpoint response body from :80/srv/status contains discourse", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/discourse.svg", + "name": "Discourse" + }, + { + "description": "Team collaboration wiki", + "discovery_pattern": "Endpoint response body from :8090/ contains confluence", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/confluence.svg", + "name": "Confluence" + }, + { + "description": "Message broker", + "discovery_pattern": "Endpoint response body from :15672/ contains rabbitmq", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rabbitmq.svg", + "name": "RabbitMQ" + }, + { + "description": "Generic MQTT broker", + "discovery_pattern": "Any of: (1883/tcp is open, 8883/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mqtt.svg", + "name": "MQTT" + }, + { + "description": "Event streaming platform", + "discovery_pattern": "9092/tcp is open", + "logo_url": "https://simpleicons.org/icons/apachekafka.svg", + "name": "Kafka" + }, + { + "description": "Message broker", + "discovery_pattern": "Endpoint response body from :8161/admin contains activemq", + "logo_url": "https://www.vectorlogo.zone/logos/apache_activemq/apache_activemq-icon.svg", + "name": "ActiveMQ" + }, + { + "description": "In-memory data store and cache", + "discovery_pattern": "6379/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/redis.svg", + "name": "Redis" + }, + { + "description": "Open-source relational database", + "discovery_pattern": "5432/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/postgresql.svg", + "name": "PostgreSQL" + }, + { + "description": "Enterprise relational database", + "discovery_pattern": "1521/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/oracle.svg", + "name": "Oracle Database" + }, + { + "description": "Open-source relational database", + "discovery_pattern": "3306/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mysql.svg", + "name": "MySQL" + }, + { + "description": "Microsoft relational database", + "discovery_pattern": "1433/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-sql-server-light.svg", + "name": "Microsoft SQL Server" + }, { "description": "NoSQL document database", "discovery_pattern": "27017/tcp is open", @@ -198,346 +642,10 @@ "name": "MariaDB" }, { - "description": "PBX and VoIP server", - "discovery_pattern": "Endpoint response body from :8088/httpstatus contains asterisk", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/asterisk.png", - "name": "Asterisk" - }, - { - "description": "Real-time performance monitoring", - "discovery_pattern": "Endpoint response body from :19999/api/v1/info contains netdata", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/netdata.svg", - "name": "Netdata" - }, - { - "description": "Container management web interface", - "discovery_pattern": "Any of: (Endpoint response body from :9443/#!/auth contains portainer.io, Endpoint response body from :9000/ contains portainer.io)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/portainer.svg", - "name": "Portainer" - }, - { - "description": "A self-hosted recipe manager and meal planner", - "discovery_pattern": "All of: (Endpoint response body from :9000/ contains Mealie, Endpoint response body from :9000/ contains recipe)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mealie.svg", - "name": "Mealie" - }, - { - "description": "ESP device firmware", - "discovery_pattern": "No match pattern provided", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tasmota.svg", - "name": "Tasmota" - }, - { - "description": "An open-source system cross-platform monitoring tool.", - "discovery_pattern": "Endpoint response body from :61208/ contains Glances", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/glances.svg", - "name": "Glances" - }, - { - "description": "Enterprise relational database", - "discovery_pattern": "1521/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/oracle.svg", - "name": "Oracle Database" - }, - { - "description": "Discussion platform", - "discovery_pattern": "Endpoint response body from :80/srv/status contains discourse", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/discourse.svg", - "name": "Discourse" - }, - { - "description": "Git repository management", - "discovery_pattern": "Endpoint response body from :7990/ contains bitbucket", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/bitbucket.svg", - "name": "Bitbucket Server" - }, - { - "description": "Container orchestration platform", - "discovery_pattern": "All of: (6443/tcp is open, Any of: (10250/tcp is open, 10259/tcp is open, 10257/tcp is open, 10256/tcp is open))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/kubernetes.svg", - "name": "Kubernetes" - }, - { - "description": "Debian-based NAS solution", - "discovery_pattern": "All of: (445/tcp is open, Endpoint response body from :80/ contains openmediavault)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openmediavault.svg", - "name": "OpenMediaVault" - }, - { - "description": "Object storage", - "discovery_pattern": "Endpoint response body from :9000/minio/health/live contains ", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/minio.svg", - "name": "MinIO" - }, - { - "description": "A self-hosted dashboard for your homelab", - "discovery_pattern": "Endpoint response body from :3000/site.webmanifest contains Homepage", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/homepage.webp", - "name": "Homepage" - }, - { - "description": "A highly customizable link sharing platform", - "discovery_pattern": "All of: (Endpoint response from has header set-cookie with value linkstack_session, Endpoint response body from :8080/ contains LinkStack)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/linkstack.svg", - "name": "LinkStack" - }, - { - "description": "Docker", - "discovery_pattern": "No match pattern provided", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg", - "name": "Docker" - }, - { - "description": "Multi-cloud CD platform", - "discovery_pattern": "No match pattern provided", - "logo_url": "https://simpleicons.org/icons/spinnaker.svg", - "name": "Spinnaker" - }, - { - "description": "A music collection manager for Usenet and BitTorrent users.", - "discovery_pattern": "8686/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/lidarr.svg", - "name": "Lidarr" - }, - { - "description": "Sonos wireless speaker system", - "discovery_pattern": "All of: (MAC Address belongs to Sonos, Inc., Any of: (445/tcp is open, 3445/tcp is open, 1400/tcp is open, 1410/tcp is open, 1843/tcp is open, 3400/tcp is open, 3401/tcp is open, 3500/tcp is open))", - "logo_url": "https://simpleicons.org/icons/sonos.svg", - "name": "Sonos Speaker" - }, - { - "description": "A self-hosted startpage and real-time status page", - "discovery_pattern": "Endpoint response body from :8123/ contains Jump", - "logo_url": "", - "name": "Jump" - }, - { - "description": "Web-based Nginx proxy management interface", - "discovery_pattern": "Endpoint response body from :80 contains nginx proxy manager", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nginx-proxy-manager.svg", - "name": "Nginx Proxy Manager" - }, - { - "description": "TP-Link EAP wireless access point", - "discovery_pattern": "All of: (MAC Address belongs to TP-LINK TECHNOLOGIES CO.,LTD, Endpoint response body from :80/ contains tp-link)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tp-link.svg", - "name": "TP-Link EAP" - }, - { - "description": "A tiny dashboard for Network UPS Tools", - "discovery_pattern": "Endpoint response body from :3000/api/v1/info contains peanut", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/peanut.svg", - "name": "PeaNUT" - }, - { - "description": "Google Chromecast streaming device", - "discovery_pattern": "All of: (MAC Address belongs to Google, Inc., 8008/tcp is open, 8009/tcp is open)", - "logo_url": "https://simpleicons.org/icons/googlecast.svg", - "name": "Chromecast" - }, - { - "description": "Self-hosted Bitwarden-compatible server, written in Rust", - "discovery_pattern": "Endpoint response body from :8000/manifest.json contains Vaultwarden Web", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/vaultwarden.svg", - "name": "Vaultwarden" - }, - { - "description": "Cloud-native messaging system", - "discovery_pattern": "Endpoint response body from :8222/varz contains ", - "logo_url": "https://simpleicons.org/icons/natsdotio.svg", - "name": "NATS" - }, - { - "description": "DevOps platform", - "discovery_pattern": "All of: (Endpoint response from has header content-security-policy with value gitlab, Endpoint response body from :80/ contains gitlab)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gitlab.svg", - "name": "GitLab" - }, - { - "description": "Monitor temperatures, fan speeds, and power in real time.", - "discovery_pattern": "Endpoint response body from :11987/ contains CoolerControl", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cooler-control.svg", - "name": "CoolerControl" - }, - { - "description": "A Simple OIDC provider that uses passkeys for authentication", - "discovery_pattern": "Endpoint response body from :1411/app.webmanifest contains Pocket ID", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pocket-id-light.svg", - "name": "Pocket ID" - }, - { - "description": "Self-hosted audiobook and podcast server.", - "discovery_pattern": "13378/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/audiobookshelf.svg", - "name": "AudioBookShelf" - }, - { - "description": "Team messaging platform", - "discovery_pattern": "Endpoint response body from :8065/api/v4/system/ping contains ", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mattermost.svg", - "name": "Mattermost" - }, - { - "description": "Open-source virtualization management platform", - "discovery_pattern": "Any of: (Endpoint response body from :8006/ contains proxmox, 8006/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/proxmox.svg", - "name": "Proxmox VE" - }, - { - "description": "Camera with RTSP Streaming", - "discovery_pattern": "554/tcp is open", - "logo_url": "", - "name": "RTSP Camera" - }, - { - "description": "Monitor, view analytics, and receive notifications about your Plex Media Server.", - "discovery_pattern": "Endpoint response body from :8181/ contains Tautulli", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tautulli.svg", - "name": "Tautulli" - }, - { - "description": "Wireguard dashboard for visualizing and managing wireguard clients and server", - "discovery_pattern": "All of: (10086/tcp is open, Not (Subnet is type VpnTunnel))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wireguard.svg", - "name": "WGDashboard" - }, - { - "description": "Google Nest smoke and CO detector", - "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), 11095/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", - "name": "Nest Protect" - }, - { - "description": "Message broker", - "discovery_pattern": "Endpoint response body from :8161/admin contains activemq", - "logo_url": "https://www.vectorlogo.zone/logos/apache_activemq/apache_activemq-icon.svg", - "name": "ActiveMQ" - }, - { - "description": "Free media server for personal streaming", - "discovery_pattern": "Endpoint response body from :80/System/Info/Public contains Jellyfin", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyfin.svg", - "name": "Jellyfin" - }, - { - "description": "Ubiquiti UniFi wireless access point", - "discovery_pattern": "All of: (MAC Address belongs to Ubiquiti Networks Inc, Endpoint response body from :80/ contains Unifi)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/unifi.svg", - "name": "Unifi Access Point" - }, - { - "description": "Web-based self-hosted groceries & household management solution", - "discovery_pattern": "Any of: (Endpoint response body from :80/ contains grocy.css, Endpoint response body from :443/ contains grocy.css)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/grocy.svg", - "name": "Grocy" - }, - { - "description": "A media server for your comics, mangas, BDs, magazines and eBooks.", - "discovery_pattern": "Endpoint response body from :25600/ contains Komga", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/komga.svg", - "name": "Komga" - }, - { - "description": "Security platform", - "discovery_pattern": "Endpoint response body from :55000/ contains wazuh", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wazuh.svg", - "name": "Wazuh" - }, - { - "description": "Synology DiskStation Manager NAS system", - "discovery_pattern": "All of: (Endpoint response body from :80/ contains synology, 21/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/synology.svg", - "name": "Synology DSM" - }, - { - "description": "Generic SMB file server", - "discovery_pattern": "445/tcp is open", - "logo_url": "", - "name": "Samba" - }, - { - "description": "Modern reverse proxy and load balancer", - "discovery_pattern": "Endpoint response body from :80/dashboard contains traefik", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/traefik.svg", - "name": "Traefik" - }, - { - "description": "Eero device providing routing and gateway services", - "discovery_pattern": "All of: (MAC Address belongs to eero Inc, Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.)", - "logo_url": "https://www.vectorlogo.zone/logos/eero/eero-icon.svg", - "name": "Eero Gateway" - }, - { - "description": "Distributed tracing system", - "discovery_pattern": "Endpoint response body from :9411/api/v2/services contains ", - "logo_url": "", - "name": "Zipkin" - }, - { - "description": "Open-source relational database", - "discovery_pattern": "3306/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mysql.svg", - "name": "MySQL" - }, - { - "description": "Amazon Echo smart speaker", - "discovery_pattern": "All of: (MAC Address belongs to Amazon Technologies Inc., 40317/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/alexa.svg", - "name": "Amazon Echo" - }, - { - "description": "Media server for streaming personal content", - "discovery_pattern": "Endpoint response body from :32400/web/index.html contains Plex", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/plex.svg", - "name": "Plex Media Server" - }, - { - "description": "Ring video doorbell or security camera", - "discovery_pattern": "All of: (MAC Address belongs to Amazon Technologies Inc., Any of: (8557/tcp is open, 9998/tcp is open, 19302/tcp is open, 9999/tcp is open))", - "logo_url": "https://simpleicons.org/icons/ring.svg", - "name": "Ring Doorbell" - }, - { - "description": "Microsoft directory service", - "discovery_pattern": "All of: (389/tcp is open, 445/tcp is open, 88/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft.svg", - "name": "Active Directory" - }, - { - "description": "A generic network storage devices", - "discovery_pattern": "2049/tcp is open", - "logo_url": "", - "name": "Nas Device" - }, - { - "description": "Z-Wave controller server", - "discovery_pattern": "Endpoint response body from :8091/health contains ", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/z-wave-js-ui.svg", - "name": "Z-Wave JS" - }, - { - "description": "Cloudflare tunnel daemon", - "discovery_pattern": "Endpoint response body from :80/metrics contains cloudflared", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cloudflare.svg", - "name": "Cloudflared" - }, - { - "description": "Vehicle Maintenance Records and Fuel Mileage Tracker", - "discovery_pattern": "Endpoint response body from :8080/ contains Garage - LubeLogger", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/lubelogger.png", - "name": "Lubelogger" - }, - { - "description": "Desktop computer for productivity work", - "discovery_pattern": "All of: (3389/tcp is open, 445/tcp is open)", - "logo_url": "", - "name": "Workstation" - }, - { - "description": "Web conferencing system", - "discovery_pattern": "Endpoint response body from :80/bigbluebutton/api contains ", - "logo_url": "https://simpleicons.org/icons/bigbluebutton.svg", - "name": "BigBlueButton" + "description": "NoSQL document database", + "discovery_pattern": "Endpoint response body from :5984/ contains couchdb", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/couchdb.svg", + "name": "CouchDB" }, { "description": "Distributed NoSQL database", @@ -546,292 +654,22 @@ "name": "Cassandra" }, { - "description": "Common Unix Printing System", - "discovery_pattern": "All of: (631/tcp is open, Endpoint response body from :80/ contains CUPS)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cups.svg", - "name": "CUPS" + "description": "Kubernetes management", + "discovery_pattern": "Endpoint response body from :80/v3 contains rancher", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rancher.svg", + "name": "Rancher" }, { - "description": "A generic IoT Service", - "discovery_pattern": "No match pattern provided", - "logo_url": "", - "name": "IoT" + "description": "Open-source virtualization management platform", + "discovery_pattern": "Any of: (Endpoint response body from :8006/ contains proxmox, 8006/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/proxmox.svg", + "name": "Proxmox VE" }, { - "description": "Security Information and Event Management (SIEM) solution and log analytics platform", - "discovery_pattern": "All of: (Endpoint response from has header content-security-policy with value graylog, Endpoint response body from :9000/ contains Graylog)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/graylog.svg", - "name": "Graylog" - }, - { - "description": "Ansible automation platform", - "discovery_pattern": "Endpoint response body from :80/api/v2/ contains awx", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ansible.svg", - "name": "AWX" - }, - { - "description": "Identity and access management", - "discovery_pattern": "Endpoint response body from :8080/ contains /keycloak/", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/keycloak.svg", - "name": "Keycloak" - }, - { - "description": "The Bookmark Everything App", - "discovery_pattern": "Endpoint response body from :3000/manifest.json contains Karakeep", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/karakeep.svg", - "name": "Karakeep" - }, - { - "description": "Open source software application for managing requests for your media library.", - "discovery_pattern": "Endpoint response body from :5055/ contains Jellyseerr", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyseerr.svg", - "name": "Jellyseerr" - }, - { - "description": "Fios device providing mesh networking services", - "discovery_pattern": "All of: (Endpoint response body from :80/#/login/ contains fios, Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fios.svg", - "name": "Fios Extender" - }, - { - "description": "Fortinet security appliance", - "discovery_pattern": "Endpoint response body from :80/login contains fortinet", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fortinet.svg", - "name": "Fortinet" - }, - { - "description": "Data analytics platform", - "discovery_pattern": "Endpoint response body from :8000/ contains splunk", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/splunk.svg", - "name": "Splunk" - }, - { - "description": "Team communication platform", - "discovery_pattern": "Endpoint response body from :3000/api/info contains rocket", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rocket-chat.svg", - "name": "Rocket.Chat" - }, - { - "description": "Time-series monitoring and alerting system", - "discovery_pattern": "Any of: (Endpoint response body from :80/metrics contains Prometheus, Endpoint response body from :80/graph contains Prometheus)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/prometheus.svg", - "name": "Prometheus" - }, - { - "description": "Distributed tracing system", - "discovery_pattern": "Endpoint response body from :16686/ contains jaeger", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jaeger.svg", - "name": "Jaeger" - }, - { - "description": "Analytics and monitoring visualization platform", - "discovery_pattern": "Endpoint response body from :80/ contains grafana.com", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/grafana.svg", - "name": "Grafana" - }, - { - "description": "Open-source relational database", - "discovery_pattern": "5432/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/postgresql.svg", - "name": "PostgreSQL" - }, - { - "description": "Self-hosted photo and video management solution", - "discovery_pattern": "Endpoint response body from :2283/photos contains Immich", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/immich.svg", - "name": "Immich" - }, - { - "description": "GitOps continuous delivery", - "discovery_pattern": "Endpoint response body from :8080/api/version contains argocd", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/argo-cd.svg", - "name": "ArgoCD" - }, - { - "description": "Finds missing media and upgrades your existing content.", - "discovery_pattern": "9705/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/huntarr.png", - "name": "Huntarr" - }, - { - "description": "Berkeley Internet Name Domain DNS server", - "discovery_pattern": "All of: (53/udp is open, 8053/tcp is open)", - "logo_url": "", - "name": "Bind9" - }, - { - "description": "Open-source firewall and routing platform", - "discovery_pattern": "All of: (Endpoint response body from :80/ contains opnsense, Any of: (53/tcp is open, 53/udp is open, 22/tcp is open, 123/udp is open, 67/udp is open))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/opnsense.svg", - "name": "OPNsense" - }, - { - "description": "Session initiation protocol", - "discovery_pattern": "Any of: (5060/tcp is open, 5061/tcp is open)", - "logo_url": "", - "name": "SIP Server" - }, - { - "description": "Password manager", - "discovery_pattern": "Endpoint response body from :80/api/config contains bitwarden", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/bitwarden.svg", - "name": "Bitwarden" - }, - { - "description": "Project management platform", - "discovery_pattern": "Endpoint response body from :8080/rest/api/2/serverInfo contains jira", - "logo_url": "", - "name": "Jira" - }, - { - "description": "Torrent cleanup tool for Sonarr and Radarr", - "discovery_pattern": "11011/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cleanuperr.svg", - "name": "Cleanuparr" - }, - { - "description": "Google Nest Wifi router", - "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), Host IP is a gateway in daemon's routing tables, or ends in .1 or .254., Endpoint response body from :80/ contains Nest Wifi)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", - "name": "Google Nest router" - }, - { - "description": "A generic Dhcp server", - "discovery_pattern": "67/udp is open", - "logo_url": "", - "name": "Dhcp Server" - }, - { - "description": "The Ultimate Indexer Manager.", - "discovery_pattern": "Endpoint response body from :3232/Content/Images/Icons/manifest.json contains Prowlarr", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/prowlarr.svg", - "name": "Prowlarr" - }, - { - "description": "PXE Boot Server", - "discovery_pattern": "Endpoint response body from :61208/ contains Netbootxyz", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/netbootxyz.svg", - "name": "Netbootxyz" - }, - { - "description": "Distributed storage", - "discovery_pattern": "Endpoint response body from :8080/ contains ceph dashboard", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ceph.svg", - "name": "Ceph" - }, - { - "description": "Monitoring framework", - "discovery_pattern": "Endpoint response body from :4567/health contains sensu", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/sensu.svg", - "name": "Sensu" - }, - { - "description": "Event streaming platform", - "discovery_pattern": "9092/tcp is open", - "logo_url": "https://simpleicons.org/icons/apachekafka.svg", - "name": "Kafka" - }, - { - "description": "Personal media server with streaming capabilities", - "discovery_pattern": "Endpoint response body from :8096/emby/System/Info/Public contains Emby", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/emby.svg", - "name": "Emby" - }, - { - "description": "A generic Dns server", - "discovery_pattern": "Any of: (53/tcp is open, 53/udp is open)", - "logo_url": "", - "name": "Dns Server" - }, - { - "description": "PfSense package for DNS/IP blocking", - "discovery_pattern": "All of: (All of: (53/tcp is open, 53/udp is open), Endpoint response body from :80/pfblockerng contains pfblockerng)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pfsense.svg", - "name": "pfBlockerNG" - }, - { - "description": "A sleek, modern dashboard", - "discovery_pattern": "7575/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/homarr.svg", - "name": "Homarr" - }, - { - "description": "Open-source network attached storage system", - "discovery_pattern": "All of: (445/tcp is open, Endpoint response body from :80/ contains TrueNAS)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/truenas.svg", - "name": "TrueNAS" - }, - { - "description": "Application performance monitoring", - "discovery_pattern": "Endpoint response body from :8200/ contains apm", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/elastic.svg", - "name": "Elastic APM" - }, - { - "description": "Network UPS Tools", - "discovery_pattern": "3493/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nut.svg", - "name": "NUT" - }, - { - "description": "A self-hosted, open source identity provider", - "discovery_pattern": "Any of: (Endpoint response body from :9000/ contains window.authentik, Endpoint response body from :9443/ contains window.authentik)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/authentik.svg", - "name": "Authentik" - }, - { - "description": "Secrets management", - "discovery_pattern": "Endpoint response body from :8200/v1/sys/health contains vault", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/hashicorp-vault.svg", - "name": "Vault" - }, - { - "description": "Self-hosted GitHub", - "discovery_pattern": "No match pattern provided", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/github.svg", - "name": "GitHub" - }, - { - "description": "Eero device providing mesh network services", - "discovery_pattern": "All of: (MAC Address belongs to eero Inc, Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.))", - "logo_url": "https://www.vectorlogo.zone/logos/eero/eero-icon.svg", - "name": "Eero Repeater" - }, - { - "description": "Enterprise monitoring solution", - "discovery_pattern": "Endpoint response body from :80/zabbix contains zabbix", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/zabbix.svg", - "name": "Zabbix" - }, - { - "description": "Infrastructure monitoring", - "discovery_pattern": "Endpoint response body from :5665/v1 contains icinga", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/icinga.svg", - "name": "Icinga" - }, - { - "description": "The modern autodl-irssi replacement.", - "discovery_pattern": "7474/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/autobrr.svg", - "name": "Autobrr" - }, - { - "description": "Workload orchestration", - "discovery_pattern": "Endpoint response body from :4646/v1/status/leader contains ", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nomad.svg", - "name": "Nomad" - }, - { - "description": "Authoritative DNS server with API", - "discovery_pattern": "All of: (53/udp is open, 53/tcp is open, 8081/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/powerdns.svg", - "name": "PowerDNS" - }, - { - "description": "Infrastructure monitoring", - "discovery_pattern": "Endpoint response body from :80/nagios contains nagios", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nagios.svg", - "name": "Nagios" + "description": "Container management web interface", + "discovery_pattern": "Any of: (Endpoint response body from :9443/#!/auth contains portainer.io, Endpoint response body from :9000/ contains portainer.io)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/portainer.svg", + "name": "Portainer" }, { "description": "Enterprise Kubernetes", @@ -840,76 +678,16 @@ "name": "OpenShift" }, { - "description": "Open source software application for managing requests for your media library.", - "discovery_pattern": "All of: (Endpoint response body from :3000/ contains Jellystat, Endpoint response body from :3000/ contains Jellyfin stats for the masses)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellystat.svg", - "name": "Jellystat" + "description": "Workload orchestration", + "discovery_pattern": "Endpoint response body from :4646/v1/status/leader contains ", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nomad.svg", + "name": "Nomad" }, { - "description": "Generic network security appliance", - "discovery_pattern": "No match pattern provided", - "logo_url": "", - "name": "Firewall" - }, - { - "description": "Fios device providing routing and gateway services", - "discovery_pattern": "All of: (Endpoint response body from :80/#/login/ contains fios, Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fios.svg", - "name": "Fios Gateway" - }, - { - "description": "A generic wireless access point for WiFi connectivity", - "discovery_pattern": "No match pattern provided", - "logo_url": "", - "name": "Access Point" - }, - { - "description": "Network-wide ad and tracker blocking", - "discovery_pattern": "All of: (All of: (53/udp is open, 53/tcp is open), Endpoint response body from :80/ contains AdGuard Home)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/adguard-home.svg", - "name": "Adguard Home" - }, - { - "description": "Self-hosted cloud storage and collaboration platform", - "discovery_pattern": "Endpoint response body from :80/login contains nextcloud", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nextcloud.svg", - "name": "NextCloud" - }, - { - "description": "Network backup solution", - "discovery_pattern": "9101/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/bacula.png", - "name": "Bacula" - }, - { - "description": "A movie collection manager for Usenet and BitTorrent users.", - "discovery_pattern": "Endpoint response body from :7878/Content/manifest.json contains Radarr", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/radarr.svg", - "name": "Radarr" - }, - { - "description": "Error tracking platform", - "discovery_pattern": "Endpoint response body from :9000/api/0/ contains sentry", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/sentry.svg", - "name": "Sentry" - }, - { - "description": "Philips Hue Bridge for lighting control", - "discovery_pattern": "All of: (MAC Address belongs to Philips Lighting BV, Endpoint response body from :80/ contains hue)", - "logo_url": "https://simpleicons.org/icons/philipshue.svg", - "name": "Philips Hue Bridge" - }, - { - "description": "Generic network file system", - "discovery_pattern": "2049/tcp is open", - "logo_url": "", - "name": "NFS" - }, - { - "description": "NetVisor Daemon API for network scanning", - "discovery_pattern": "Endpoint response body from :60073/api/health contains netvisor", - "logo_url": "/logos/netvisor-logo.png", - "name": "NetVisor Daemon API" + "description": "Container orchestration platform", + "discovery_pattern": "All of: (6443/tcp is open, Any of: (10250/tcp is open, 10259/tcp is open, 10257/tcp is open, 10256/tcp is open))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/kubernetes.svg", + "name": "Kubernetes" }, { "description": "Docker native clustering and orchestration", @@ -918,124 +696,34 @@ "name": "Docker Swarm" }, { - "description": "Team collaboration wiki", - "discovery_pattern": "Endpoint response body from :8090/ contains confluence", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/confluence.svg", - "name": "Confluence" + "description": "Docker", + "discovery_pattern": "No match pattern provided", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg", + "name": "Docker" }, { - "description": "Recursive DNS resolver with control interface", - "discovery_pattern": "All of: (53/udp is open, 8953/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/unbound.svg", - "name": "Unbound DNS" + "description": "A generic docker container", + "discovery_pattern": "All of: (Service is running in a docker container, A custom match pattern evaluated at runtime)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/docker.svg", + "name": "Docker Container" }, { - "description": "Continuous file synchronization service", - "discovery_pattern": "All of: (Endpoint response body from :80/ contains Syncthing, 22000/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/syncthing.svg", - "name": "Syncthing" + "description": "Z-Wave controller server", + "discovery_pattern": "Endpoint response body from :8091/health contains ", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/z-wave-js-ui.svg", + "name": "Z-Wave JS" }, { - "description": "Generic FTP file sharing service", - "discovery_pattern": "21/tcp is open", - "logo_url": "", - "name": "FTP Server" + "description": "Zigbee to MQTT bridge", + "discovery_pattern": "Endpoint response body from :8080/ contains Zigbee2MQTT WindFront", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/zigbee2mqtt.svg", + "name": "Zigbee2MQTT" }, { - "description": "Kubernetes management", - "discovery_pattern": "Endpoint response body from :80/v3 contains rancher", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/rancher.svg", - "name": "Rancher" - }, - { - "description": "Publishing platform", - "discovery_pattern": "Endpoint response body from :2368/ contains ghost", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ghost.png", - "name": "Ghost" - }, - { - "description": "In-memory data store and cache", - "discovery_pattern": "6379/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/redis.svg", - "name": "Redis" - }, - { - "description": "File sync and share", - "discovery_pattern": "Endpoint response body from :80/status.php contains owncloud", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/owncloud.svg", - "name": "ownCloud" - }, - { - "description": "An HP Printer", - "discovery_pattern": "All of: (Any of: (Endpoint response body from :80 contains LaserJet, Endpoint response body from :80 contains DeskJet, Endpoint response body from :80 contains OfficeJet, Endpoint response body from :8080 contains LaserJet, Endpoint response body from :8080 contains DeskJet, Endpoint response body from :8080 contains OfficeJet), Any of: (631/tcp is open, 515/tcp is open, 515/udp is open))", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/hp.svg", - "name": "Hp Printer" - }, - { - "description": "API gateway", - "discovery_pattern": "Endpoint response body from :8001/ contains kong", - "logo_url": "https://simpleicons.org/icons/kong.svg", - "name": "Kong" - }, - { - "description": "PBX web interface", - "discovery_pattern": "All of: (Endpoint response body from :80/ contains freepbx, 5060/tcp is open)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/freepbx.svg", - "name": "FreePBX" - }, - { - "description": "Backup and replication", - "discovery_pattern": "9392/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/veeam.svg", - "name": "Veeam" - }, - { - "description": "Generic network switch for local area networking", - "discovery_pattern": "All of: (Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.), All of: (80/tcp is open, 23/tcp is open))", - "logo_url": "", - "name": "Switch" - }, - { - "description": "API gateway", - "discovery_pattern": "Endpoint response body from :8080/hello contains tyk", - "logo_url": "https://www.vectorlogo.zone/logos/tyk/tyk-icon.svg", - "name": "Tyk" - }, - { - "description": "Load balancer and proxy", - "discovery_pattern": "Endpoint response body from :8404/stats contains haproxy", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/haproxy.svg", - "name": "HAProxy" - }, - { - "description": "Automation server for CI/CD", - "discovery_pattern": "Endpoint response body from :8080/ contains jenkins.io", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jenkins.svg", - "name": "Jenkins" - }, - { - "description": "Microsoft relational database", - "discovery_pattern": "1433/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-sql-server-light.svg", - "name": "Microsoft SQL Server" - }, - { - "description": "Network-wide ad blocking DNS service", - "discovery_pattern": "All of: (Any of: (53/udp is open, 53/tcp is open), Endpoint response body from :80/admin contains pi-hole)", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pi-hole.svg", - "name": "Pi-Hole" - }, - { - "description": "Video conferencing", - "discovery_pattern": "Endpoint response body from :8443/ contains jitsilogo.png", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jitsi-meet.svg", - "name": "Jitsi Meet" - }, - { - "description": "Generic LDAP directory service", - "discovery_pattern": "389/tcp is open", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openldap.svg", - "name": "Open LDAP" + "description": "Philips Hue Bridge for lighting control", + "discovery_pattern": "All of: (MAC Address belongs to Philips Lighting BV, Endpoint response body from :80/ contains hue)", + "logo_url": "https://simpleicons.org/icons/philipshue.svg", + "name": "Philips Hue Bridge" }, { "description": "Home automation platform", @@ -1043,12 +731,342 @@ "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openhab.svg", "name": "openHAB" }, + { + "description": "Open-source home automation platform", + "discovery_pattern": "Endpoint response body from :8123/ contains home assistant", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/home-assistant.svg", + "name": "Home Assistant" + }, + { + "description": "ESP device management", + "discovery_pattern": "6052/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/esphome.svg", + "name": "ESPHome" + }, + { + "description": "Home automation system", + "discovery_pattern": "Endpoint response body from :8080/json.htm contains domoticz", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/domoticz.png", + "name": "Domoticz" + }, + { + "description": "Monitor, view analytics, and receive notifications about your Plex Media Server.", + "discovery_pattern": "Endpoint response body from :8181/ contains Tautulli", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tautulli.svg", + "name": "Tautulli" + }, + { + "description": "A modern client-server application for the Soulseek file-sharing network", + "discovery_pattern": "All of: (Endpoint response body from :5030/ contains slskd, Endpoint response body from :5030/api/v0/session/enabled contains true)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/slskd.svg", + "name": "Slskd" + }, + { + "description": "Media server for streaming personal content", + "discovery_pattern": "Endpoint response body from :32400/web/index.html contains Plex", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/plex.svg", + "name": "Plex Media Server" + }, + { + "description": "Open source software application for managing requests for your media library.", + "discovery_pattern": "All of: (Endpoint response body from :5055/site.webmanifest contains Overseerr, Not (Endpoint response body from :5055/ contains Jellyseerr))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/overseerr.svg", + "name": "Overseerr" + }, + { + "description": "A media server for your comics, mangas, BDs, magazines and eBooks.", + "discovery_pattern": "Endpoint response body from :25600/ contains Komga", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/komga.svg", + "name": "Komga" + }, + { + "description": "Open source software application for managing requests for your media library.", + "discovery_pattern": "All of: (Endpoint response body from :3000/ contains Jellystat, Endpoint response body from :3000/ contains Jellyfin stats for the masses)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellystat.svg", + "name": "Jellystat" + }, + { + "description": "Open source software application for managing requests for your media library.", + "discovery_pattern": "Endpoint response body from :5055/ contains Jellyseerr", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyseerr.svg", + "name": "Jellyseerr" + }, + { + "description": "Free media server for personal streaming", + "discovery_pattern": "Endpoint response body from :80/System/Info/Public contains Jellyfin", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jellyfin.svg", + "name": "Jellyfin" + }, + { + "description": "Self-hosted photo and video management solution", + "discovery_pattern": "Endpoint response body from :2283/photos contains Immich", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/immich.svg", + "name": "Immich" + }, + { + "description": "Personal media server with streaming capabilities", + "discovery_pattern": "Endpoint response body from :8096/emby/System/Info/Public contains Emby", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/emby.svg", + "name": "Emby" + }, + { + "description": "Self-hosted audiobook and podcast server.", + "discovery_pattern": "13378/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/audiobookshelf.svg", + "name": "AudioBookShelf" + }, + { + "description": "Backup and replication", + "discovery_pattern": "9392/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/veeam.svg", + "name": "Veeam" + }, + { + "description": "Fast and secure backup program", + "discovery_pattern": "All of: (8000/tcp is open, Endpoint response body from :80/ contains restic)", + "logo_url": "", + "name": "Restic" + }, + { + "description": "Encrypted, incremental and deduplicated backups for Proxmox VMs, LXCs, and hosts", + "discovery_pattern": "Any of: (Endpoint response body from :8007/ contains proxmox-backup-gui, 8007/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/proxmox.svg", + "name": "Proxmox Backup Server" + }, + { + "description": "Cross-platform backup client with encryption", + "discovery_pattern": "Endpoint response body from :8200/ngax/index.html contains Duplicati", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/duplicati.svg", + "name": "Duplicati" + }, + { + "description": "Network backup solution", + "discovery_pattern": "9101/tcp is open", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/bacula.png", + "name": "Bacula" + }, + { + "description": "Open-source network attached storage system", + "discovery_pattern": "All of: (445/tcp is open, Endpoint response body from :80/ contains TrueNAS)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/truenas.svg", + "name": "TrueNAS" + }, + { + "description": "Synology DiskStation Manager NAS system", + "discovery_pattern": "All of: (Endpoint response body from :80/ contains synology, 21/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/synology.svg", + "name": "Synology DSM" + }, + { + "description": "Continuous file synchronization service", + "discovery_pattern": "All of: (Endpoint response body from :80/ contains Syncthing, 22000/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/syncthing.svg", + "name": "Syncthing" + }, + { + "description": "File hosting platform", + "discovery_pattern": "Endpoint response body from :8000/api2/ping contains seafile", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/seafile.svg", + "name": "Seafile" + }, + { + "description": "Generic SMB file server", + "discovery_pattern": "445/tcp is open", + "logo_url": "", + "name": "Samba" + }, + { + "description": "QNAP network attached storage system", + "discovery_pattern": "All of: (21/tcp is open, Any of: (Endpoint response body from :80/ contains QNAP, Endpoint response body from :8080/ contains QNAP))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/qnap.svg", + "name": "QNAP NAS" + }, + { + "description": "File sync and share", + "discovery_pattern": "Endpoint response body from :80/status.php contains owncloud", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/owncloud.svg", + "name": "ownCloud" + }, + { + "description": "Debian-based NAS solution", + "discovery_pattern": "All of: (445/tcp is open, Endpoint response body from :80/ contains openmediavault)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/openmediavault.svg", + "name": "OpenMediaVault" + }, + { + "description": "Generic network file system", + "discovery_pattern": "2049/tcp is open", + "logo_url": "", + "name": "NFS" + }, + { + "description": "Self-hosted cloud storage and collaboration platform", + "discovery_pattern": "Any of: (Endpoint response body from :80/core/css/server.css contains Nextcloud GmbH, Endpoint response body from :443/core/css/server.css contains Nextcloud GmbH)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nextcloud.svg", + "name": "NextCloud" + }, + { + "description": "A generic network storage devices", + "discovery_pattern": "2049/tcp is open", + "logo_url": "", + "name": "Nas Device" + }, + { + "description": "Object storage", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :9000/minio/health/live contains ", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/minio.svg", + "name": "MinIO" + }, { "description": "FTP server", "discovery_pattern": "All of: (21/tcp is open, 14147/tcp is open)", "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/filezilla.svg", "name": "FileZilla Server" }, + { + "description": "Generic FTP file sharing service", + "discovery_pattern": "21/tcp is open", + "logo_url": "", + "name": "FTP Server" + }, + { + "description": "Distributed storage", + "discovery_pattern": "Endpoint response body from :8080/ contains ceph dashboard", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/ceph.svg", + "name": "Ceph" + }, + { + "description": "Network-wide ad blocking DNS service", + "discovery_pattern": "All of: (Any of: (53/udp is open, 53/tcp is open), Endpoint response body from :80/admin contains pi-hole)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pi-hole.svg", + "name": "Pi-Hole" + }, + { + "description": "Network-wide ad and tracker blocking", + "discovery_pattern": "All of: (All of: (53/udp is open, 53/tcp is open), Endpoint response body from :80/ contains AdGuard Home)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/adguard-home.svg", + "name": "Adguard Home" + }, + { + "description": "API gateway", + "discovery_pattern": "Endpoint response status is between 200 and 300, and response body from :8080/hello contains tyk", + "logo_url": "https://www.vectorlogo.zone/logos/tyk/tyk-icon.svg", + "name": "Tyk" + }, + { + "description": "Modern reverse proxy and load balancer", + "discovery_pattern": "Endpoint response body from :80/dashboard contains traefik", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/traefik.svg", + "name": "Traefik" + }, + { + "description": "Web-based Nginx proxy management interface", + "discovery_pattern": "Endpoint response body from :80 contains nginx proxy manager", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nginx-proxy-manager.svg", + "name": "Nginx Proxy Manager" + }, + { + "description": "API gateway", + "discovery_pattern": "Endpoint response body from :8001/ contains kong", + "logo_url": "https://simpleicons.org/icons/kong.svg", + "name": "Kong" + }, + { + "description": "Load balancer and proxy", + "discovery_pattern": "Endpoint response body from :8404/stats contains haproxy", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/haproxy.svg", + "name": "HAProxy" + }, + { + "description": "Wireguard dashboard for visualizing and managing wireguard clients and server", + "discovery_pattern": "All of: (10086/tcp is open, Not (Subnet is type VpnTunnel))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/wireguard.svg", + "name": "WGDashboard" + }, + { + "description": "Cloudflare tunnel daemon", + "discovery_pattern": "Endpoint response body from :80/metrics contains cloudflared", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cloudflare.svg", + "name": "Cloudflared" + }, + { + "description": "Recursive DNS resolver with control interface", + "discovery_pattern": "All of: (53/udp is open, 8953/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/unbound.svg", + "name": "Unbound DNS" + }, + { + "description": "Authoritative DNS server with API", + "discovery_pattern": "All of: (53/udp is open, 53/tcp is open, 8081/tcp is open)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/powerdns.svg", + "name": "PowerDNS" + }, + { + "description": "A generic Dns server", + "discovery_pattern": "Any of: (53/tcp is open, 53/udp is open)", + "logo_url": "", + "name": "Dns Server" + }, + { + "description": "Berkeley Internet Name Domain DNS server", + "discovery_pattern": "All of: (53/udp is open, 8053/tcp is open)", + "logo_url": "", + "name": "Bind9" + }, + { + "description": "Open-source firewall and router platform", + "discovery_pattern": "All of: (22/tcp is open, Endpoint response body from :80/ contains pfsense)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pfsense.svg", + "name": "pfSense" + }, + { + "description": "PfSense package for DNS/IP blocking", + "discovery_pattern": "All of: (All of: (53/tcp is open, 53/udp is open), Endpoint response body from :80/pfblockerng contains pfblockerng)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pfsense.svg", + "name": "pfBlockerNG" + }, + { + "description": "Open-source firewall and routing platform", + "discovery_pattern": "All of: (Any of: (Endpoint response body from :80/ contains opnsense, Endpoint response body from :443/ contains opnsense), Any of: (53/tcp is open, 53/udp is open, 22/tcp is open, 123/udp is open, 67/udp is open))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/opnsense.svg", + "name": "OPNsense" + }, + { + "description": "Fortinet security appliance", + "discovery_pattern": "Endpoint response body from :80/login contains fortinet", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fortinet.svg", + "name": "Fortinet" + }, + { + "description": "Generic network security appliance", + "discovery_pattern": "No match pattern provided", + "logo_url": "", + "name": "Firewall" + }, + { + "description": "Crowdsourced protection against malicious IPs", + "discovery_pattern": "Endpoint response status is between 401 and 401, and response body from :8080/v1/allowlists contains cookie token is empty", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/crowdsec.svg", + "name": "CrowdSec" + }, + { + "description": "Ubiquiti UniFi wireless access point", + "discovery_pattern": "All of: (MAC Address belongs to Ubiquiti Networks Inc, Endpoint response body from :80/ contains Unifi)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/unifi.svg", + "name": "Unifi Access Point" + }, + { + "description": "TP-Link EAP wireless access point", + "discovery_pattern": "All of: (MAC Address belongs to TP-LINK TECHNOLOGIES CO.,LTD, Endpoint response body from :80/ contains tp-link)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/tp-link.svg", + "name": "TP-Link EAP" + }, + { + "description": "Google Nest Wifi router", + "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), Host IP is a gateway in daemon's routing tables, or ends in .1 or .254., Endpoint response body from :80/ contains Nest Wifi)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/google-home.svg", + "name": "Google Nest router" + }, { "description": "Google Nest Wifi repeater", "discovery_pattern": "All of: (Any of: (MAC Address belongs to Nest Labs Inc., MAC Address belongs to Google, Inc.), Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.), Endpoint response body from :80/ contains Nest Wifi)", @@ -1056,21 +1074,57 @@ "name": "Google Nest repeater" }, { - "description": "Roku streaming device or TV", - "discovery_pattern": "All of: (MAC Address belongs to Roku, Inc, 8060/tcp is open)", - "logo_url": "https://simpleicons.org/icons/roku.svg", - "name": "Roku Media Player" + "description": "Fios device providing routing and gateway services", + "discovery_pattern": "All of: (Endpoint response body from :80/#/login/ contains fios, Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.)", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fios.svg", + "name": "Fios Gateway" }, { - "description": "CI/CD server", - "discovery_pattern": "Endpoint response body from :8085/ contains bamboo", - "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/atlassian-bamboo.svg", - "name": "Bamboo" + "description": "Fios device providing mesh networking services", + "discovery_pattern": "All of: (Endpoint response body from :80/#/login/ contains fios, Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.))", + "logo_url": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/fios.svg", + "name": "Fios Extender" }, { - "description": "Fast and secure backup program", - "discovery_pattern": "All of: (8000/tcp is open, Endpoint response body from :80/ contains restic)", + "description": "Eero device providing mesh network services", + "discovery_pattern": "All of: (MAC Address belongs to eero Inc, Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.))", + "logo_url": "https://www.vectorlogo.zone/logos/eero/eero-icon.svg", + "name": "Eero Repeater" + }, + { + "description": "Eero device providing routing and gateway services", + "discovery_pattern": "All of: (MAC Address belongs to eero Inc, Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.)", + "logo_url": "https://www.vectorlogo.zone/logos/eero/eero-icon.svg", + "name": "Eero Gateway" + }, + { + "description": "A generic wireless access point for WiFi connectivity", + "discovery_pattern": "No match pattern provided", "logo_url": "", - "name": "Restic" + "name": "Access Point" + }, + { + "description": "Generic network switch for local area networking", + "discovery_pattern": "All of: (Not (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254.), All of: (80/tcp is open, 23/tcp is open))", + "logo_url": "", + "name": "Switch" + }, + { + "description": "A generic gateway", + "discovery_pattern": "All of: (Host IP is a gateway in daemon's routing tables, or ends in .1 or .254., A custom match pattern evaluated at runtime)", + "logo_url": "", + "name": "Gateway" + }, + { + "description": "A generic Dhcp server", + "discovery_pattern": "67/udp is open", + "logo_url": "", + "name": "Dhcp Server" + }, + { + "description": "NetVisor Daemon API for network scanning", + "discovery_pattern": "Endpoint response body from :60073/api/health contains netvisor", + "logo_url": "/logos/netvisor-logo.png", + "name": "NetVisor Daemon API" } ] \ No newline at end of file