Met Immich krijg je een private, reclamevrije vervanger voor Google Photos die volledig op je eigen server draait. Deze gids behandelt uitrol met Docker Compose, mobiele back-up en het veilig houden van je fotobibliotheek.
Publicatiedatum: 6/24/2026
Google Photos is handig, totdat het dat ineens niet meer is. De gratis opslag zat jaren geleden al vol, de abonnementen worden steeds duurder, en elke foto die je uploadt wordt gescand, geanalyseerd en in andermans trainingsdata gestopt. Als je op zoek bent naar een uitweg, dan is het goede nieuws dat het zelfgehoste alternatief eindelijk is bijgetrokken. In deze gids laat ik je zien hoe je Immich zelf host, het dichtstbijzijnde dat er bestaat als directe vervanger voor Google Photos en dat volledig draait op hardware die je zelf beheert.
Aan het eind heb je Immich draaiend met Docker Compose, maakt je telefoon automatisch op de achtergrond een back-up, en heb je een plan om het geheel netjes te back-uppen. Niets ervan is ingewikkeld, maar een paar stappen zijn makkelijk verkeerd te doen, dus het loont om goed mee te lezen.
Zelfgehoste fotobeheerders bestaan al jaren, maar de meeste vroegen je de functies op te geven die Google Photos juist de moeite waard maakten. Immich doet dat niet. Het komt met verzorgde iOS- en Android-apps met automatische achtergrond-back-up van je camerarol, een snelle scrollende tijdlijn, gedeelde albums, een kaartweergave, en machine learning op het apparaat voor het groeperen van gezichten en zoeken in natuurlijke taal. Je kunt "hond op het strand" typen en daadwerkelijk de juiste foto's terugkrijgen, waarbij al die verwerking op je eigen server gebeurt in plaats van in een datacenter dat niet van jou is.
Het project is ook een van de snelst bewegende in de wereld van zelfhosting. Het passeerde 100.000 sterren op GitHub, bereikte eind 2025 een stabiele 2.0-release, en blijft regelmatig updates uitbrengen. Dat tempo is een pluspunt, maar het komt met één belangrijke kanttekening: dingen kunnen tussen versies veranderen, dus een release vastzetten en de release-notes lezen voordat je upgradet hoort er gewoon bij. Daarover later meer.
De privacywinst is de echte trekker. Wanneer je zelf host, komen je foto's nooit bij een derde partij terecht. Er is geen scanning, geen quota anders dan je eigen schijf, en geen beleidswijziging die je kan buitensluiten van tien jaar aan herinneringen. Voor iedereen in de EU word je bovendien zowel de verwerkingsverantwoordelijke als de verwerker voor je eigen bibliotheek, wat een hoop AVG-complexiteit omzeilt die komt kijken bij het overhandigen van persoonlijke media aan een cloudprovider.
Immich draait alleen op Linux en verwacht dat een aantal zaken op orde zijn:
NVMe-opslag maakt hier echt verschil, omdat Immich veel thumbnails genereert en databasewerk doet dat profiteert van snelle random I/O. Een VPS past van nature goed bij Immich als je je foto's overal wilt kunnen bereiken zonder een machine thuis te laten draaien, precies het soort toepassing dat aan bod komt in onze use cases voor zelfgehoste apps.
Immich is niet één container. Het officiële Docker Compose-bestand definieert vier services die samenwerken, en het helpt om te weten wat elke service doet:
Je schrijft geen van deze definities zelf. Je downloadt een onderhouden Compose-bestand van het project, dat alles correct aan elkaar geknoopt houdt, zelfs als de stack verandert.
Ervan uitgaande dat Docker en de Compose-plugin al geïnstalleerd zijn, maak je een aparte directory voor Immich aan en ga je erin:
mkdir -p ~/services/immich
cd ~/services/immichElke zelfgehoste service in zijn eigen directory houden maakt back-ups en updates later veel makkelijker te overzien.
Haal de twee bestanden op die Immich bij elke release publiceert, het Compose-bestand en het voorbeeldbestand voor de omgeving:
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.envDit zijn de exacte commando's uit de officiële documentatie van Immich. Het onderhouden bestand downloaden in plaats van een snippet kopiëren en plakken uit een willekeurige blogpost is de juiste keuze, omdat het uitgebrachte bestand altijd intern consistent is met de image-versies waarnaar het verwijst.
Open .env in de editor van je keuze en stel de variabelen in die ertoe doen:
# Where your uploaded photos and videos live on the host
UPLOAD_LOCATION=./library
# Where the Postgres database files live on the host
DB_DATA_LOCATION=./postgres
# Your timezone
TZ=America/Chicago
# Pin a specific version instead of tracking "release"
IMMICH_VERSION=release
# Database credentials, change the password to something random
DB_PASSWORD=postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immichTwee dingen verdienen hier aandacht. Ten eerste: wijzig DB_PASSWORD naar een lange willekeurige string voordat je de stack ooit start. Het achteraf wijzigen, nadat de database is geïnitialiseerd, betekent data migreren, en dat is gedoe dat je volledig kunt voorkomen met dertig seconden vooruit plannen.
Ten tweede: zet IMMICH_VERSION vast op een specifieke tag, bijvoorbeeld een waarde als v2.7.5, in plaats van het op release te laten staan. Immich gaat snel, en een grote versie zoals het aankomende v3.0 kan oudere functies verwijderen. Vastzetten betekent dat een update alleen gebeurt wanneer jij dat besluit, nadat je hebt gelezen wat er is veranderd.
UPLOAD_LOCATION is de allerbelangrijkste instelling in het bestand. Het is de directory waarin elke foto staat waarvan je een back-up maakt, dus zet het op een schijf met ruimschoots de ruimte en zorg ervoor dat het vanaf dag één deel uitmaakt van je back-upplan.
Breng vanuit ~/services/immich de stack omhoog:
docker compose up -dDocker haalt de vier images op en start ze in volgorde. De eerste start duurt een paar minuten terwijl de database initialiseert, dus raak niet in paniek als de webinterface niet meteen beschikbaar is. Je kunt de voortgang volgen met:
docker compose logs -f immich-serverZodra de server meldt dat hij klaar is, open je http://your-server-ip:2283 in een browser. Je komt op de registratiepagina voor de admin terecht. Het eerste account dat je aanmaakt is de beheerder, dus stel het in, log in, en je kijkt naar een lege tijdlijn die wacht op foto's.
Dit is de functie die Google Photos daadwerkelijk vervangt. Installeer de Immich-app uit de App Store of Google Play en wijs hem vervolgens naar je server.
Voer op het inlogscherm je server-URL in. Op je lokale netwerk is dat http://your-server-ip:2283. Zodra je een reverse proxy met een echt domein hebt ingesteld (hieronder behandeld), gebruik je in plaats daarvan het HTTPS-adres. Log in met het account dat je hebt aangemaakt, open de back-upinstellingen van de app, kies de albums waarvan je een back-up wilt (meestal je camerarol), en schakel back-up op de achtergrond in.
De app houdt bij welke foto's al geüpload zijn, dus je kunt hem gerust continu laten draaien. Hij uploadt nieuwe foto's op de achtergrond zodra je ze maakt, precies het gedrag dat je gewend bent van Google Photos.
Nieuwe foto's worden door de app afgehandeld, maar je wilt ook alles overzetten dat al in de cloud van Google staat. Gebruik Google Takeout om je bestaande bibliotheek te exporteren, en upload de export vervolgens via de Immich-webinterface of de bulk-uploader van immich-cli. Voor grote archieven is de command-line-uploader sneller en makkelijker te hervatten als hij onderbroken raakt.
Twee onderdelen van Immich worden sneller met hardwareversnelling: de machine learning-container die gezichtsherkenning en zoeken afhandelt, en het transcoderen van video dat op de server-container gebeurt. Immich levert hiervoor aparte Compose-override-bestanden, die je naast het hoofdbestand downloadt. De exacte configuratie hangt af van of je Intel QuickSync, een NVIDIA GPU of een andere accelerator hebt, en het staat uitgebreid gedocumenteerd op de pagina over hardwareversnelling van Immich.
Als je alleen op CPU draait, werkt Immich nog steeds prima. Machine learning-taken duren simpelweg langer, wat vooral van belang is tijdens de eerste import en daarna nauwelijks nog, zodra je bibliotheek geïndexeerd is en alleen nog nieuwe foto's hoeft bij te houden.
Om Immich van buiten je netwerk te bereiken en de mobiele app via HTTPS te laten verbinden, zet je het achter een reverse proxy die naar poort 2283 van de server-container wijst. Caddy, Traefik en Nginx kunnen dit allemaal goed aan. Foto- en video-uploads kunnen groot zijn, dus zorg dat je proxy geen kleine limiet op de grootte van requests oplegt; bij Nginx wil je client_max_body_size verhogen, terwijl Traefik geen standaardlimiet heeft.
Omdat je hele fotogeschiedenis gevoelig is, denk goed na over blootstelling. Als je geen publieke toegang nodig hebt, is Immich alleen bereikbaar houden via een VPN zoals WireGuard of Tailscale de veiligere keuze, en de mobiele app verbindt net zo gemakkelijk met een privé-hostnaam als met een publieke. Hoe dan ook, het draaien op infrastructuur met sterke praktijken op het gebied van privacy en gegevensbescherming doet ertoe wanneer het gaat om je familiefoto's.
Dit is de stap die je niet mag overslaan. Een complete back-up van Immich bestaat uit twee dingen, en je hebt beide nodig:
UPLOAD_LOCATION-directory, waarin de daadwerkelijke foto- en videobestanden staan.pg_dump vanuit de database-container.Een back-up van de bibliotheek zonder de database laat je achter met een map vol bestanden zonder enige ordening. Een back-up van de database zonder de bestanden laat je achter met metadata die naar niets verwijst. Pas hier een echte 3-2-1-back-upstrategie toe, boven elke andere service die je draait, want de prijs van een fout maken is onvervangbaar. Dagelijkse back-ups op serverniveau zijn een goed vangnet, maar ze vervangen niet je eigen off-site kopieën van iets dat zo belangrijk is.
Omdat je IMMICH_VERSION hebt vastgezet, is upgraden een bewuste handeling in plaats van iets dat je overkomt. Lees de release-notes voor de versie waar je naartoe gaat, controleer of je back-up net is gelopen, verhoog de versie-tag in .env, en pull en hercreëer vervolgens:
docker compose pull
docker compose up -dDatabasemigraties draaien automatisch bij het starten. De release-notes lezen en de versie vastgezet houden is wat voorkomt dat het snelle ontwikkeltempo van Immich je verrast.
Immich zelf hosten geeft je een snellere, private en reclamevrije fototijdlijn die lokaal gezichtsherkenning en slim zoeken doet, automatisch je telefoon back-upt, en alles opslaat op schijven die je zelf beheert. Het is een van de meest bevredigende zelfgehoste vervangingen die je kunt doen, en ook degene waarbij goede back-ups het meest tellen.
Bedankt voor het lezen! Als je een plek zoekt om het te draaien, biedt QDE krachtige VPS-hosting in Nederland met pure NVMe-opslag, 10 Gbps uplinks en EU-gebaseerde infrastructuur, wat goed past bij een privacygerichte fotoserver. RAM en opslag worden nooit oververkocht, dus de resources die Immich nodig heeft zijn de resources die je daadwerkelijk krijgt, en betaalopties met crypto maken het makkelijk om de hele opstelling privé te houden.
Klaar om te beginnen of wil je advies over het juiste formaat VPS voor Immich? Neem contact op met ons team om de beste match voor je project te vinden.
Ja, voor de meeste mensen is het de dichtstbijzijnde zelfgehoste tegenhanger die beschikbaar is. Het biedt automatische back-up vanaf je telefoon, gezichtsherkenning, zoeken in natuurlijke taal, gedeelde albums en een kaartweergave, allemaal draaiend op je eigen hardware zonder scanning en zonder opslagquota anders dan je eigen schijf.
Immich draait op Linux met Docker. Reken op minstens 2 CPU-cores en 4 GB RAM als ondergrens, met 6 tot 8 GB aanbevolen zodra je bibliotheek groeit. Opslag moet je ruwe bibliotheek dekken plus 10 tot 20% overhead voor thumbnails en transcodes, plus 1 tot 3 GB voor de database.
Absoluut, en een VPS past uitstekend als je je foto's overal wilt kunnen bereiken zonder hardware thuis te laten draaien. Een plan met NVMe-opslag en genoeg RAM voor de machine learning-container geeft je een soepele ervaring.
Nee. Een GPU versnelt de eerste machine learning-indexering en het transcoderen van video, maar Immich werkt prima op servers met alleen een CPU. De ML-taken draaien dan gewoon langzamer, wat vooral de eerste import raakt en niet zozeer het dagelijks gebruik.
Maak een back-up van twee dingen: je upload-bibliotheek-directory en de PostgreSQL-database. De bestanden zijn je foto's, en de database bevat de albums, gezichten en metadata die ze ordenen. Je hebt beide nodig, plus off-site kopieën, volgens een 3-2-1-back-upaanpak.
Gebruik Google Takeout om je bibliotheek te exporteren, en upload het vervolgens via de Immich-webinterface of de command-line bulk-uploader. De CLI-uploader is de betere optie voor grote archieven omdat hij sneller is en makkelijk te hervatten.