Het alternatief voor Google Foto’s: maak kennis met Immich
Minder afhankelijk worden van een grootmacht als Google is soms makkelijker gezegd dan gedaan. Het project Immich blijkt echter een meer dan geslaagde poging om Google Foto’s te vervangen. De gebruikersinterface oogt modern en werkt vlot. Je kunt albums maken, foto’s op de kaart weergeven en gezichten laten herkennen. Bovendien zijn er uitstekende begeleidende apps voor Android en iOS. Al is de software nog volop in ontwikkeling: het is tijd een verkenning.
In dit artikel laten we zien hoe je Immich gebruikt als alternatief voor Google Foto’s: • Installeer Immich op je eigen server met behulp van Docker en Docker Compose. • Configureer een beheeraccount en voeg foto's toe. • Gebruik de Immich-app voor automatische back-ups van foto’s en video’s vanaf je smartphone. Google Foto's is meer dan een opslaglocatie: AI in Google Foto's: van snapshot naar showstopper
Toeristen met een camera om hun nek behoren tot een uitstervend ras. De smartphone domineert en stelt zelfs de kritische fotograaf steeds vaker tevreden, dankzij grote sensors en vaak een combinatie van camera’s voor verschillende doeleinden. Google Foto’s is binnen Android meestal de aangewezen tool om al je landschappen, portretten, en close-ups te beheren. Het maakt je wel afhankelijk van Google. Veel mensen hikken bovendien aan tegen de opslaglimiet van 15 GB, die ook nog eens met Gmail en Google Drive wordt gedeeld.
Door je bibliotheek met foto’s en video’s zelf te hosten, ben je van die beperking af. Maar er zijn niet veel tools die kwalitatief op een vergelijkbaar niveau zitten. Het relatief nieuwe Immich komt goed in de buurt. Het oogt en voelt modern, met een vlotte gebruikersinterface die lijkt op die van Google Foto’s. Je kunt foto’s en video’s via een tijdlijn bekijken, maar ook zelf albums maken.
Die albums kun je bovendien eenvoudig via een link delen met familie en vrienden. Verder kun je op kaartniveau of plaatsnaam door foto’s en video’s bladeren, en herkent Immich automatisch gezichten. Alles kun je zowel via een browser als app (Android en iOS) gebruiken. Ook handig: de app kan de nieuwste media uploaden naar je server. In dit artikel behandelen we de installatie Immich op je server en gaan we ook met de app aan de slag.
Steun ontwikkeling met vrijwillige licentie
Onlangs werd een licentiemodel voor Immich geïntroduceerd. De software blijft desondanks gratis en de GNU AGPL v3-licentie waaronder de broncode wordt uitgebracht, blijft onveranderd. Met een licentie steun je dus vooral de ontwikkeling. Er zijn geen beperkingen als je besluit geen licentie te kopen. Er is keuze tussen een levenslange gebruikerslicentie (zo'n 25 euro) en een levenslange serverlicentie (zo'n 95 euro). Je hebt niet beide nodig. Voor één of enkele gebruikers zijn individuele gebruikerslicenties voordeliger. Vanaf vier gebruikers is het aantrekkelijker om een serverlicentie te kiezen.
1 Voorbereiden
In dit artikel gaan we Immich installeren op een server met Docker en Docker Compose. Zorg dat deze tools zijn geïnstalleerd. Hoewel je een experimenteel installatiescript zou kunnen gebruiken, maakt dat óók weer gebruik van Docker Compose, waardoor dat niet de voorkeur heeft. Raadpleeg eventueel de gids voor Ubuntu 24.04. Dat is het besturingssysteem dat we voor dit artikel gebruiken. Wat werkgeheugen betreft is 4 GB het minimum, maar 6 GB wordt aanbevolen. Wil je een idee hebben van het eindresultaat, dan kun je op de website van Immich alvast wat rondneuzen of de online demo bekijken. Daar kun je alle mogelijkheden verkennen, maar geen foto’s of video’s uploaden. Op het moment van schrijven gebruikten wij versie 1.111. De ontwikkelingen gaan echter snel, omdat de software zeer actief wordt ontwikkeld. Het is daarom slim om ook de documentatie op de Immich-site te raadplegen, want de software is ongetwijfeld alweer versies verder.
Via de website heb je onder meer toegang tot de uitgebreide demo.
2 Installatie
Begin met het maken van een mapje op je systeem voor Immich. In die map gaan we twee bestanden plaatsen, genaamd docker-compose.yml en .env. Het eerste bestand dient voor Docker Compose: het beschrijft de containers en instellingen. Haal het op met de volgende opdracht:
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
Het tweede bestand heet .env. Hierin kun je enkele omgevingsvariabelen instellen. Je haalt het op met de volgende opdracht:
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
Doorgaans hoef je alleen enkele parameters in het .env-bestand aan te passen. Het bestand docker-compose.yml bevat voor belangrijke parameters namelijk een verwijzing naar dat bestand. De aanpassingen behandelen we in de volgende stap. Hoewel de mogelijkheid er is, maken we in dit artikel geen gebruik van de optionele hardware-versnelling met de hulp van een grafische kaart (zie gelijknamige kader). Wil je dit proberen, dan kun je de configuratie daarop aanpassen.
Het bestand voor Docker Compose hoef je in principe niet aan te passen.
Hardware-versnelling met grafische kaart
Optioneel kun je hardware-transcoderen gebruiken, waarbij een grafische kaart helpt om de processorbelasting te beperken. Daarnaast kun je een grafische kaart inzetten voor machine learning, om taken als gezichtsherkenning te versnellen. Deze mogelijkheden vragen wat extra configuratie. Als je geen enorme bibliotheek hebt, kun je prima zonder.
3 Configuratie aanpassen
We maken alleen aanpassingen in het .env-bestand. Open dit met bijvoorbeeld de gebruiksvriendelijke teksteditor nano met de opdracht nano .env. Stel de juiste tijdzone in door het commentaarteken (#) weg te halen bij de regel met TZ. Voer de tijdzone als volgt in: TZ=Europe/Amsterdam.
Achter UPLOAD_LOCATION verwijs je naar een map op de server met voldoende opslagruimte. Standaard worden extra bestanden, zoals thumbnails, op diezelfde locatie bewaard. Op de achtergrond wordt PostgreSQL als database gebruikt. Je kunt achter DB_PASSWORD eventueel een krachtiger wachtwoord invullen. Gebruik eventueel een tool als pwgen om een sterk wachtwoord te genereren. Je installeert het met:
apt install pwgen
Om een enkel wachtwoord met twaalf karakters te maken, geef je deze opdracht:
pwgen 12 1
Start ten slotte Immich met:
docker compose up -d
Alle benodigde images zullen vervolgens worden opgehaald. Dit kan even duren, gezien de omvang hiervan. Er worden vier images gebruikt: voor een PostgreSQL-database, voor Redis dat als cache dient om de toegang te versnellen, een Immich-server voor de software zelf en Immich-machine-learning voor specifieke taken zoals gezichtsherkenning. Open Immich via het ip-adres van het systeem en poort 2283 (http://ipadres:2283). Hier zie je als alles goed is gegaan het welkomstscherm van Immich.
Na de installatie zie je als het goed is het welkomstscherm van Immich.
4 Beheeraccount maken
Klik op Aan de slag om te beginnen. Nu kun je een eerste account maken dat als beheeraccount wordt geregistreerd. Vervolgens kies je een kleurenthema (licht of donker) voor de applicatie. Dit thema kun je ook naderhand via een knop eenvoudig wijzigen. In de volgende stap geef je aan of je een opslagtemplate wilt gebruiken. Standaard is deze functie uitgeschakeld. Via zo’n template bepaal je binnen welke mappenstructuur en met welke bestandsnaam nieuwe foto’s en video’s moeten worden opgeslagen. Voor dit artikel laten we de optie uitgeschakeld, maar je kunt het naar voorkeur gebruiken of achteraf activeren (zie kader ‘Opslagtemplate gebruiken’). We ronden de installatieprocedure af met Klaar.
Begin met het maken van een beheerdersaccount.
Opslagtemplate gebruiken
Hoewel niet standaard actief, kan Immich foto’s en video’s automatisch in een bepaalde mappenstructuur bewaren, zoals jaar/datum/bestand of een variant. Dit is een logische indeling en helpt bij het maken van back-ups. Je kunt de opslagtemplate tijdens de installatie maar ook achteraf activeren. Daarvoor ga je naar Beheer / Instellingen. Onder Opslagtemplate kies je Engine voor opslagtemplate inschakelen. Controleer de template of pas deze naar voorkeur aan. Kies dan Opslaan. Wijzigingen in de template worden alleen toegepast op nieuw toegevoegde items. Je kunt de template met terugwerkende kracht toepassen op eerder geüploade foto’s en video’s. Ga hiervoor naar Taken en klik bij Opslagtemplate migratie op Start.
Je kunt een opslagtemplate achteraf toepassen op alle foto’s en video’s.
5 Materiaal toevoegen
Na bovenstaande installatiestappen kom je direct in de modern ogende gebruikersinterface van Immich. Je begint in het onderdeel Foto’s, wat je als een tijdlijn kunt zien. Je foto’s en video’s worden hier steeds in chronologische volgorde weergegeven, met de nieuwste bovenaan. Als je wat meer foto’s hebt, ga je via een tijdlijn in de rechterkantlijn snel naar een bepaalde datum. De online demo geeft een goede indruk hoe dat werkt.
Voordat we de andere opties gaan verkennen, is het handig alvast wat foto’s en/of video’s te uploaden. Dat kan simpelweg door ze naar het hoofdscherm te slepen. Hierna blader je razendsnel door het beeldmateriaal.
De moderne en vlotte gebruikersinterface van Immich.
6 Weergaven
Er zijn meerdere manieren om je foto’s en video’s te bekijken. Naast de eerdergenoemde tijdlijn worden items ook meteen ‘op de kaart’ gezet onder Kaart. Hiervoor worden de gps-coördinaten in de bestanden gebruikt. De meeste smartphone bewaren deze gegevens automatisch.
Verder worden onder Verkennen alle plaatsen getoond waar foto’s zijn gemaakt. Ook zie je hier de gezichten die op foto’s zijn gevonden. We raden aan om de relevante gezichten een naam te geven, zoals van vrienden en familie. Niet-relevante personen kun je verbergen via een optie in het menu. Open je een foto, dan zie je onder Info de herkende personen, waar je soms wat correcties toe moet passen.
Bij foto’s kun je verder de beschrijving aanpassen en een foto als favoriet markeren, archiveren of verwijderen. Alle als favoriet gemarkeerde foto’s zie je onder Favorieten. De gearchiveerde foto’s verschijnen alleen onder Archief en dus niet meer in overzichten. Verwijderde foto’s vind je in het menu Prullenbak waar items na dertig dagen worden weggegooid.
Foto’s kun je weergeven op een kaart.
7 Albums maken en delen
Je kunt eenvoudig albums maken binnen Immich. In je tijdlijn kun je foto’s individueel of in één keer per dag selecteren, waarna je ze via het plusteken aan een nieuw of bestaand album toevoegt. Een item kan in meerdere albums bestaan, zodat je bijvoorbeeld een album van je vakantie hebt, maar ook van de mooiste bloemen of uitzichten. Onder Albums vind je alle albums terug, waar je ook een titel en beschrijving kunt invullen.
Een album kun je vervolgens in één keer als zip-bestand downloaden, maar ook delen met andere gebruikers via een link en optioneel een wachtwoord. Ideaal om je vakantiefoto’s te delen met familie en vrienden!
Als je albums gaat delen, is toegang van buitenaf via bijvoorbeeld een reverse proxy zeker aan te raden (zie stap 8 ‘Reverse proxy’).
Je kunt een album eenvoudig delen via een link met optioneel wachtwoord.
8 Reverse proxy
Voor het delen van albums en om de app onderweg te kunnen gebruiken, is het nodig om via internet toegang tot Immich te hebben. De beste manier om dat te regelen, is met een reverse proxy. Op deze webpagina vind je voorbeelden voor de configuratie van onder meer Nginx en Apache. Gebruik je Nginx Proxy Manager, zet dan bij het bewerken van de host onder Details een vinkje bij Websockets Support. Op het tabje Advanced vul je de onderstaande regels in.
proxy_read_timeout 600s;
proxy_send_timeout 600s;
send_timeout 600s;
client_max_body_size 50000M;
De langere timeouts die we hier toevoegen, kunnen nodig zijn voor bepaalde servertaken, zoals reparaties. Verder passen we een limiet aan om het uploaden van grote bestanden mogelijk te maken, zoals video’s.
Met Nginx Proxy Manager stel je relatief snel een reverse proxy voor Immich in.
9 Apps gebruiken
Voor Immich zijn ook apps beschikbaar voor Android en iOS. Deze worden net als de software zelf actief onderhouden. Als voorbeeld kijken we naar de Android-app. Heel praktisch is dat de app automatisch nieuwe foto’s en video’s kan uploaden. Hierdoor heb je ook bij verlies van je toestel nog een back-up.
Bij het eerste gebruik vul je bij Server-URL de locatie van je server in, in de vorm http://ipadres:2283/api. Als je een reverse proxy gebruikt, voor toegang van buitenaf, is dat adres doorgaans iets als https://subdomein.domein.nl/api.
Wil je meteen handmatig een back-up van foto’s en video’s veiligstellen? Tik daarvoor rechtsboven op het cloud-icoontje en dan op Toestemming verlenen zodat Immich toegang tot je foto’s en video’s heeft. Via Selecteer kies je de albums waarvan je een back-up wilt maken. Wij tikken op de map Camera dat onze zelfgemaakte foto’s en video’s bevat. Je kunt ook bijvoorbeeld foto’s en video’s van WhatsApp meenemen in de back-up. Hierna start je de back-up via Back-up uitvoeren.
Je kunt kiezen van welke albums een back-up moet worden gemaakt.
10 Automatische back-up
Maak je een nieuwe foto of video, dan zul je die in de Immich-app in je tijdlijn zien, waarbij een icoontje verraadt dat het bewuste item nog niet in de cloud bestaat. Bij een volgende handmatige back-up zullen alleen ontbrekende items worden geüpload. Via de instellingen kun je ook kiezen voor een automatische back-up.
Als je rechtsboven op het icoontje met je initiaal tikt, kun je via Instellingen enkele voorkeuren instellen. De automatische back-up vind je onder Back-up. De eerste optie maakt een back-up op de voorgrond. Steeds als je de Immich-app opent, zullen ontbrekende items worden geüpload.
De tweede optie zorgt voor een automatische achtergrondback-up. Hierbij wordt direct een back-up van nieuwe bestanden veiliggesteld op je server zonder dat je de app hoeft te openen. Je kunt bij deze laatste optie ook nog kiezen om dit alleen te doen als er een wifi-verbinding is en/of alleen tijdens het opladen van het toestel.
Je kunt automatisch een back-up laten maken van nieuwe foto’s en video’s.
11 Updates installeren
Er verschijnen regelmatig updates voor Immich. Omdat de software zo actief in ontwikkeling is, is het raadzaam hier zorgvuldig mee om te gaan. Er kunnen ingrijpende veranderingen zijn. Lees daarom altijd de notities bij de release. Zorg dat je eerst een back-up hebt gemaakt. Er kunnen ook veranderingen zijn in het bestand docker-compose.yml. Haal daarom bij voorkeur het nieuwe bestand op:
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
Heb je handmatig aanpassingen gemaakt (wat zoals eerder aangegeven in principe niet nodig zal zijn), dan moet je die aanpassingen opnieuw maken.
Stop hierna eventueel de containers met deze opdracht (al mag je deze stap eventueel overslaan):
docker compose down
Je kunt de nieuwe images ophalen met:
docker compose pull
Start hierna je containers met:
docker compose up -d
De containers waarvoor een image is gewijzigd, zullen opnieuw worden opgebouwd.
Er verschijnt regelmatig een nieuwe versie van Immich.
12 Externe bibliotheken
In Immich kun je een externe bibliotheek op bijvoorbeeld een NAS koppelen als alleen-lezen. Er zullen dus geen veranderingen in die mappen worden aangebracht. Zorg dat de externe map is gekoppeld via Docker Compose, onder volumes. Je kunt eventueel de optie ro (read-only) gebruiken.
Ga dan in Immich naar Instellingen / Externe bibliotheken om de externe bibliotheek toe te voegen. Hierna kun je het import-pad opgeven en de scaninstellingen bewerken. Foto’s van externe bibliotheken verschijnen in alle weergaven zoals je tijdlijn.
Een alternatief is het importeren van je foto’s via bijvoorbeeld de command-line-interface (immich cli).
Je kunt een opslaglocatie zoals op een NAS als externe bibliotheek koppelen.