Communityoplossing

Integreer ZimaOS in Homarr of Homer met OpenAPI

A Homarr/Homer user wanted direct buttons for ZimaOS Settings, Backup and App Store instead of opening those functions only inside the ZimaOS interface.

Huidig antwoord: gebruik de ZimaOS OpenAPI voor echte integratie; beschouw interne dashboardroutes als instabiel

Het oorspronkelijke verzoek was om knoppen voor Instellingen, Back-up en App Store toe te voegen aan Homer/Homarr. Daarin gaan twee verschillende doelen schuil: een ZimaOS-scherm openen en ZimaOS-gegevens en -acties in een ander dashboard integreren. Voor het tweede doel beschikt ZimaOS nu over een officiële OpenAPI. Die is veel betrouwbaarder dan het uitlezen van privé-frontend-URL's of het reverse-engineeren van pop-uproutes.

De ZimaOS OpenAPI documenteert programmatische bestands-, gebruikers- en systeemhandelingen. De ontwikkelaarsindex biedt ook een API-verkenner.

Gebruik voor eenvoudige dashboardtegels stabiele service-ingangspunten

Gebruik de hoofdmap van het ZimaOS-dashboard voor beheer en directe app-URL's voor gecontaineriseerde toepassingen. Als Homarr/Homer alleen een tegel nodig heeft die Plex, Paperless of een andere app start, gebruik dan de host/het IP-adres en de gepubliceerde poort van de app in plaats van een interne ZimaOS-pop-uproute.

Zo krijg je een URL die door de service zelf wordt beheerd en voorkom je dat je homelab-startpagina afhankelijk wordt van implementatiedetails van de ZimaOS-frontend.

Waarom Instellingen, Back-up en App Store moeilijker rechtstreeks te openen zijn

ZimaOS is een singlepage-webapplicatie. Sommige panelen worden geopend via interne status, modale logica of routes die niet als stabiele externe interface zijn gepubliceerd. Zelfs als je vandaag een URL ontdekt in de ontwikkelaarstools van je browser, kan een update die zonder schending van een openbaar API-contract wijzigen.

De regel is dus eenvoudig: gebruik alleen een deeplink wanneer ZimaOS die uitdrukkelijk als stabiel publiceert. Link anders naar de hoofdmap van het dashboard en gebruik OpenAPI voor daadwerkelijke automatisering.

Gebruik OpenAPI wanneer je live status in Homarr nodig hebt

Een aangepaste widget kan ondersteunde eindpunten opvragen en opslag-, gebruikers- of systeemstatus weergeven in het dashboard van derden. Volg de authenticatiemethode die door de API wordt gedefinieerd in plaats van browser-sessiecookies te kopiëren naar een openbare dashboardconfiguratie.

De ZimaOS-ontwikkelaarstools vormen het huidige integratieoppervlak. Voor containerdashboards biedt de pagina met Portainer-vereisten de Docker-context.

De gepubliceerde API van ZimaOS volgt een met OpenAPI beschreven interface, wat de juiste grens vormt voor gegenereerde clients en externe integraties. De OpenAPI-specificatie legt uit waarom een expliciet API-contract stabieler is dan het uitlezen van browserroutes uit één frontendbuild.

Sluit de volledige ZimaOS-beheerinterface niet in een onvertrouwde iframe in

Het insluiten van een beheerinterface brengt risico's met zich mee op het gebied van authenticatie, framebeleid, origins en clickjacking. Als een dashboard alleen een startknop nodig heeft, open ZimaOS dan in een normaal browsertabblad. Als het gegevens nodig heeft, vraag die dan op via de API en geef alleen die gegevens weer.

De clickjacking-risico's van OWASP leggen uit waarom het insluiten van interfaces met verhoogde rechten weloverwogen moet gebeuren.

Gebruik je eigen pictogrammen in plaats van ZimaOS-frontend-assets uit te lezen

Kies voor Homer/Homarr-tegels stabiele pictogrammen die je zelf beheert, of gebruik het pictogram van de app van derden. Het ophalen van gehashte frontend-assets uit een ZimaOS-build kan misgaan wanneer de interface opnieuw wordt opgebouwd. Als je merkassets nodig hebt, gebruik dan openbaar verspreide assets met passende merkvermelding in plaats van afhankelijk te zijn van privébundelpaden.

Scheid alleen-lezen-dashboardgegevens van beheerdersacties

Een thuisdashboard dat schijfgebruik of servicestatus toont, kan vaak gebruikmaken van alleen-lezen-toegang. Services herstarten, gebruikers wijzigen of opslag aanpassen vereist een veel strengere authenticatiegrens. Geef een aan de muur bevestigd dashboard niet dezelfde inloggegevens als het eigenaarsaccount, alleen om enkele statuskaarten weer te geven.

De ZimaOS-appvereisten en ZimaOS HTTPS-proxying behandelen de omliggende app- en HTTPS-lagen.

Een praktisch Homer- of Homarr-integratieplan

  1. Voeg een tegel toe voor de hoofdmap van het ZimaOS-dashboard.
  2. Voeg directe tegels toe voor afzonderlijke zelfgehoste apps.
  3. Gebruik OpenAPI voor statuswidgets die live ZimaOS-gegevens nodig hebben.
  4. Houd schrijf- en beheerders-API-inloggegevens buiten JavaScript aan de clientzijde van het dashboard.
  5. Test integraties opnieuw na grote upgrades van de ZimaOS-frontend of API.

Veelgestelde vragen

Kan ik rechtstreeks naar ZimaOS-instellingen linken?

Beschouw een route alleen als betrouwbaar wanneer ZimaOS die als stabiele interface publiceert. Interne SPA- en modale routes kunnen tussen releases veranderen.

Heeft ZimaOS nu een API?

Ja. De huidige ontwikkelaarsdocumentatie van ZimaOS biedt OpenAPI-bronnen voor programmatische integratie.

Kan Homarr de opslagstatus van ZimaOS tonen?

Een aangepaste integratie kan ondersteunde API-eindpunten opvragen en de geretourneerde gegevens weergeven, afhankelijk van authenticatie en de beschikbaarheid van de eindpunten.

Moet ik het volledige ZimaOS-dashboard in een iframe plaatsen?

Meestal niet. Een normale startlink of een API-gestuurde widget biedt een duidelijkere beveiligings- en compatibiliteitsgrens.

Waar moeten dashboardpictogrammen vandaan komen?

Geef de voorkeur aan assets die je zelf beheert of aan stabiele openbare merk- en app-pictogrammen, in plaats van gehashte bestanden uit de ZimaOS-webbundel uit te lezen.