Immich zelf wordt niet opnieuw ontworpen rond je andere apps, maar de implementatiearchitectuur wordt vaak meer gesegmenteerd naarmate een gedeelde thuisserver meer concurrerende diensten krijgt.
Een eenvoudige fotoserver kan beginnen als één host waarop Immich naast opslag, DNS, automatisering, mediastreaming, back-ups en experimenten draait. Naarmate die workloads groeien, concurreren ze om CPU, geheugen, schijf-I/O, netwerkbandbreedte, herstartvensters en fout herstel. De architectuurwijziging is daarom een keuze van de beheerder: houd rollen bij elkaar zolang de gedeelde grens weinig kost, en splits alleen de rol waarvan de conflicten of onderhoudskosten meetbaar zijn.
Immich heeft al meerdere servicerollen
Immich op één machine draaien betekent niet dat de workload één ondeelbaar proces is. De fotoapplicatie omvat web- en API-werk, een permanente database, cache- of wachtrijcoördinatie, machine-learninginferentie, mediabestanden en gegenereerde afgeleide bestanden. Die rollen op één host houden is vaak de eenvoudigste keuze, maar de logische scheiding is belangrijk omdat elke rol de machine anders belast en later zijn eigen operationele grens kan worden.
Een praktijkimplementatie uit 2026 illustreert dit duidelijk met vier containers voor de Immich-server, machine learning, PostgreSQL en Redis-achtige coördinatie. De exacte details van containerimages kunnen tussen Immich-releases veranderen, dus het blijvende punt is de scheiding van servicerollen, niet een vastgelegde stack voor één specifieke versie. Die rollen kunnen nog steeds op één fysieke server draaien en lokale opslag delen.
Daardoor wordt de implementatiearchitectuur flexibel in plaats van automatisch gedistribueerd. Een klein huishouden kan alles bij elkaar houden om netwerkverkeer en beheer te beperken. Wanneer één rol onevenredig veel middelen vraagt—bijvoorbeeld een piekende ML-taak of database-I/O—heeft de beheerder een duidelijke plek om limieten toe te passen, werk anders in te plannen of die rol te verplaatsen, zonder te doen alsof het hele fotoplatform opnieuw moet worden opgebouwd.
Meer diensten maken van één host een conflictdomein
Het toevoegen van diensten verandert de omgeving rond Immich, zelfs wanneer er geen Immich-instelling verandert. Een mediatranscodering kan CPU verbruiken, een back-up kan de opslag verzadigen, een automatiseringsdatabase kan de geheugendruk verhogen en een andere container kan een schrijfpiek veroorzaken op hetzelfde moment dat Immich miniaturen genereert. De host wordt een conflictdomein waarin losstaande applicaties de latentie van de fotoserver kunnen beïnvloeden via gedeelde hardware.
Containerisatie maakt die koppeling niet automatisch ongedaan. Een recente handleiding voor resourcebeheer in thuislabs merkt op dat Docker workloads met elkaar kan laten concurreren wanneer limieten niet bewust worden ingesteld, waardoor luidruchtige buren ontstaan door CPU-, geheugen- en schijfdruk. Resource-limieten kunnen interferentie verminderen, maar ze creëren geen extra fysieke I/O of geheugen; ze maken toewijzing en foutgedrag alleen voorspelbaarder.
Daarom worden servicestacks aantrekkelijk voordat aparte hardware dat wordt. De analyse van ZimaSpace over servicestacks beschrijft dezelfde architectuurdruk: zodra een thuisserver meerdere samenwerkende en concurrerende rollen host, maken expliciete grenzen afhankelijkheden en resource-eigenaarschap beter inzichtelijk. Begin voor Immich met limieten en inzicht in het gebruik voordat je ervan uitgaat dat een tweede machine nodig is.
Segmentatie laat zware rollen verschillende hardware volgen
Niet elke Immich-rol heeft baat bij dezelfde hardware. Databasetoegang heeft baat bij voorspelbaar geheugen en lage opslaglatentie, media- en miniatuurverwerking kunnen CPU- en I/O-pieken veroorzaken en machine learning kan profiteren van versnelling die de belangrijkste opslaghost niet heeft. Als al die rollen vastzitten aan één hardwareprofiel, kan de meest veeleisende rol een onnodig grote of drukke server voor de rest bepalen.
Een hedendaags voorbeeld van zelfhosting plaatst de machine-learningservice met eigen resourceverzoeken, limieten en permanente modelcache, in plaats van die als identiek aan de applicatieserver te behandelen. Dat patroon is belangrijk omdat ML een logische kandidaat is voor gerichte CPU- of GPU-middelen, terwijl de fotobibliotheek en database blijven waar opslag en back-uproutines het eenvoudigst zijn.
De grens moet een gemeten mismatch oplossen. Als ML-pieken samenvallen met traag browsen, kan het isoleren of anders inplannen van ML interferentie verminderen; als ML bij normaal gebruik al niets doet, voegt verplaatsing netwerk- en onderhoudsafhankelijkheden toe zonder de responsiviteit te verbeteren. Dezelfde regel geldt voor de plaatsing van opslag en database: segmenteer de rol waarvan het resourceprofiel het probleem op de gedeelde host veroorzaakt, niet elke rol alleen omdat implementatie op afstand mogelijk is.
Meer grenzen betekenen ook meer manieren om te falen
Een workload opsplitsen is geen gratis betrouwbaarheidsupgrade. Een externe database vereist betrouwbare netwerkbereikbaarheid, externe opslag maakt van een lokale bestandsbewerking een netwerkafhankelijkheid en een aparte ML-host voegt nog een machine, adres, inloggegeven en herstartvolgorde toe om te onderhouden. Elke grens kan één fout isoleren, maar kan ook een nieuwe manier creëren waarop een gezonde Immich-server de toegang verliest tot iets wat hij nodig heeft.
Beheerders van thuislabs waarderen lokale opslag vaak juist omdat die foutdomeinen beter inzichtelijk houdt: een zelfstandige node kan blijven werken zonder afhankelijk te zijn van een ander opslag- of netwerkpad. Immich vereist niet dat elke rol lokaal draait, maar dit principe vormt een nuttig tegenwicht tegen architectuurdiagrammen die extra blokken automatisch als veerkrachtiger beschouwen.
De foutgrens is bereikt wanneer de nieuwe netwerk- of serviceafhankelijkheid meer uitval, herstelstappen of configuratiedrift veroorzaakt dan de oorspronkelijke resourceconcurrentie. Leg voordat je een database, cache of mediapad opsplitst vast wat er gebeurt als de externe node niet beschikbaar is en hoe herstel uit een back-up werkt. Als dat antwoord ingewikkelder is dan het verdragen van de huidige gedeelde host, is segmentatie voorbarig.
Splits alleen wanneer een grens een gemeten probleem oplost
Houd Immich op één host zolang CPU, geheugen, opslaglatentie en onderhoudsvensters voorspelbaar blijven en niet-gerelateerde diensten geen zichtbare interferentie veroorzaken. Gebruik containerlimieten, planning en monitoring om de boosdoener vast te stellen voordat je een andere machine koopt. Een ontwerp met één host heeft minder netwerkafhankelijkheden en is vaak eenvoudiger te back-uppen, te patchen en te herstellen, wat een echt architectuurvoordeel is voor een familiesysteem voor foto's.
Beheerders die hun homelab uiteindelijk opsplitsen, doen dat vaak omdat gedeelde infrastructuur gedeelde knelpunten en een grotere onderhoudsimpact veroorzaakt, niet omdat een gedistribueerd ontwerp van nature beter is. Diezelfde uiteenzetting pleit er ook voor kleine omgevingen eenvoudig te houden totdat die operationele pijn ontstaat. Dat is ook voor Immich de juiste drempel: de architectuur moet een vastgestelde beperking volgen.
Voer één wijziging tegelijk door. Als ML-pieken de API-latentie verslechteren, isoleer of plan ML anders in en test opnieuw; als back-ups dezelfde schijven verzadigen, scheid dan het back-upvenster of opslagpad; als niet-gerelateerde diensten herstarts riskant maken, scheid dan de levenscycli. Behoud de wijziging alleen wanneer het gemeten probleem verbetert zonder een onaanvaardbare herstelafhankelijkheid te creëren. De beste Immich-implementatie is de eenvoudigste topologie die nog steeds voldoet aan je waargenomen prestatie- en herstelvereisten.
Tech & AI HUB
Meer om te lezen

Open modellen halen frontier-AI in—wordt 2026 het jaar waarin lokale AI goed genoeg wordt?
Open modellen worden goed genoeg voor meer lokale AI-taken, terwijl geavanceerde cloudmodellen nuttig blijven voor de moeilijkste redeneer- en agenttaken.

NVIDIA PAIR verandert je thuisnetwerk in een lokaal AI-cluster—heb je dan nog één grote GPU-server nodig?
NVIDIA PAIR verdeelt lokale AI-verzoeken over meerdere pc’s, waardoor rekenkracht flexibeler wordt en één homeserver gegevens en status persistent kan houden.

Waarom voelt Immich sneller aan via LAN dan via externe verbindingen?
LAN-verzoeken nemen meestal een kortere route met een lagere latentie. Externe toegang voegt capaciteitsbeperkingen van het WAN toe en kan extra DNS-, TLS-, proxy-,...

