Head to head
Immich vs Nextcloud for photos
One of these is a photo product and the other is a file server with a photo tab. The question is whether the photo tab is enough for you.
Do you need Immich if you already run Nextcloud?
If photo browsing matters to you, yes, because Nextcloud Photos is a timeline viewer over a folder rather than a photo product. Nextcloud's mobile client does auto-upload your camera roll, so the files get to the server either way; what it lacks out of the box is face grouping, natural-language search and a browsing experience built for 100,000 images, and adding those means community apps like Recognize and Memories that must stay compatible through three Nextcloud majors a year. Running Nextcloud alone is right when photos are a minor part of a general file and groupware need, or when you cannot spare the 6 to 8 GB of RAM Immich documents.
Say the uncomfortable thing first: Nextcloud Photos is not a competitor to Immich, and treating the comparison as close does readers a disservice.
Nextcloud is a file and groupware platform. Photos is an app that draws a timeline over image files that are already in your account, with albums and basic sharing. It is a viewer. Immich is a photo product: mobile apps built for background upload, face clustering, natural-language search over the library, memories, per-item sharing, duplicate detection, and a data model where a photo is the primary object rather than a file that happens to be a JPEG.
The interesting question is not which is better at photos. It is whether you need a photo product at all, because plenty of households genuinely do not.
What Nextcloud actually gives you for photos#
More than the dismissive version suggests, and it is worth being precise.
The Nextcloud mobile client does auto-upload. New camera roll items land in a server folder in the background, and that is the single feature people assume is missing. If your requirement is "the photos are off the phone and on my disk", Nextcloud satisfies it today with an app your family already has for files.
What you do not get is the rest of the product. The built-in Photos app is slow to browse at scale and has no face grouping or semantic search. The usual answers are community apps: Recognize for face and object recognition, Memories for a much better timeline. They work. They are also app store surface, and that is the cost line nobody puts in the comparison table: Nextcloud ships three majors a year, each supported for twelve months, you cannot skip one, and any third-party app not marked compatible with the incoming major gets disabled during the upgrade. Building your photo experience out of community apps means every upgrade window is also a photo outage risk.
Immich's equivalent risk is different: majors break things deliberately, but they arrive once or twice a year and the release notes tell you exactly what changed.
What the spec table is telling you#
Memory in use is the row to read: 3500 MB against 1800 MB. That is not Immich being wasteful, it is the machine learning container holding the CLIP and face recognition models resident. If you want search and faces, you pay it. If you do not, you do not need Immich.
| Specification | Immich | Nextcloud |
|---|---|---|
| Licence | AGPL-3.0 (Copyleft) | AGPL-3.0-or-later (Copyleft) |
| Written in | TypeScript / Node.js, Python (machine learning), Dart (mobile apps) | PHP, with Vue and TypeScript frontends |
| First release | 2022 | 2016 |
| Maturity | Stable | Mature |
| Datastore | PostgreSQL 14 with the VectorChord extension, plus Valkey/Redis for the job queue | MariaDB 10.11+/11.x or PostgreSQL 14 to 18, plus Redis for file locking and caching |
| Services to run | 4 | 4 |
| Idle memory | 900 MB | 600 MB |
| Memory in use | 3500 MB | 1800 MB |
| Operational load | 3 / 5, Moderate | 4 / 5, Heavy |
| Identity | Native OIDC | OIDC via plugin |
| arm64 builds | Yes | Yes |
| Default ports | 2283 | 80, 443, 8080 |
| Backup shape | Postgres dump | MySQL dump |
Operational load at 3 against 4 is the row that surprises people. Nextcloud is the heavier system to keep alive despite the lower memory number, because the release calendar, the PHP version coupling and the app compatibility matrix are ongoing obligations rather than one-time setup. Immich's four containers are more services and less homework. Stack planner will hold both figures against the rest of your box.
When running Nextcloud alone is the right call#
This is the case the internet under-argues, so here it is properly.
Run Nextcloud alone if photos are a minor part of a general problem. You want documents, calendar, contacts, shared links for the family, and the camera roll backed up so nothing is lost when a phone dies. You browse photos occasionally, by folder or by month, on a laptop. Nobody in the house has ever typed a search like "beach 2019" and expected it to work.
Run Nextcloud alone if your hardware says so. Immich's documented floor is 6 GB with 8 GB recommended, its Postgres directory must be on local disk rather than NFS or a mapped SMB share, and the amd64 machine learning image needs an x86-64-v2 CPU since v3.0.0, which strands older Xeons and Atoms. On a 4 GB NAS you can run Immich with IMMICH_MACHINE_LEARNING_ENABLED=false, but that removes search and face grouping, which is most of the reason to run it. If that is your situation, Nextcloud plus Recognize is a better use of the same memory. Choosing home server hardware has the sizing.
Run Nextcloud alone if one login, one backup and one upgrade window is worth more to you than face search. That is a legitimate trade and people who make it are not settling.
When you need Immich#
Run Immich if the photo library is the point. The tells are specific: more than one phone uploading, a library past about 30,000 images, anyone who expects to find a photo by describing it, or a household migrating off Google Photos and comparing the result to what they had. Replace Google Photos walks that migration, and the honest answer at the end of it is Immich, not a Nextcloud app.
The other tell is people. Immich's phone app is something you install on a relative's device once and never discuss again. The Nextcloud client is a file sync app with an upload setting, and the difference shows up the first time somebody has to be talked through re-enabling it.
Running both without duplicating your storage#
The common setup is Nextcloud for files and Immich for photos, and the mistake is letting both store the same images twice.
The cleaner arrangement is one owner per file. Either Immich owns photos in its own UPLOAD_LOCATION/library/ tree and Nextcloud never sees them, or Nextcloud owns the folder and Immich indexes it as an external library, read-only, referencing the files in place. The second option is attractive if your family already uses Nextcloud auto-upload and you do not want to change their phones.
Two things to know before you do it. External library folders are not backed up by Immich's own data surface, so they need their own coverage. And if Nextcloud moves or renames a file, Immich's reference goes stale until the next scan. Do not have both applications writing to the same directory.
Whichever way round, keep the databases separate and back them both up as dumps rather than volume snapshots. For Immich that is pg_dumpall plus the library/ tree, restored database first. For Nextcloud it is occ maintenance:mode --on, then config/, the data directory and a pg_dump or mariadb-dump --single-transaction taken together, or the files and the database will disagree about which uploads exist. Backing up a running database covers why that matters more than it sounds.
What happens on upgrade day#
Nextcloud: majors every four months, twelve month support, no skipping. Version 32 landed 27 September 2025, 33 on 18 February 2026, 34 on 9 June 2026. The documented path is latest point release of your current major, then the next major's latest point release, one at a time. Each step is gated on PHP (32 wants 8.1 to 8.4, 34 wants 8.2 to 8.5) and on every installed app being ready. Expect to run occ db:add-missing-indices afterwards, as the web server user, never as root.
Immich: semantic versioning since v2.0.0, so any 2.x app talks to any 2.x server and minor upgrades are boring. Majors are not. v3.0.0 (2 July 2026) removed pgvecto.rs entirely, so instances predating 1.133.0 must migrate to VectorChord first, and downgrades are unsupported even within a minor because migrations run forward only at startup.
The practical rule for running both: never upgrade them in the same window. You want to know which one broke. An update strategy that does not lose data is the routine.
The verdict, by situation#
| Situation | Pick | Why |
|---|---|---|
| Household leaving Google Photos, several phones | Immich, alongside Nextcloud | Nothing in the Nextcloud app store matches the mobile apps or the search |
| Photos are a folder you look at twice a year | Nextcloud alone | A second stack and a second backup for a feature you will not use |
| 4 GB of RAM on the whole server | Nextcloud alone, add Recognize | Immich without machine learning is Immich without its point |
| You already run Nextcloud auto-upload and it works | Nextcloud, with Immich as an external library | Keeps the phones untouched and adds search over the same files |
| Library past 30,000 images, browsing feels slow | Immich | Built for that scale; the Photos app is not, and Memories only partly helps |
| You want one login, one backup, one upgrade | Nextcloud alone | Two products is genuinely twice the operational surface |
| Archive already sorted into folders you like | PhotoPrism | Indexes in place, half the RAM, see Immich vs PhotoPrism |
| You only wanted files on two laptops | Syncthing | See Syncthing vs Nextcloud before you run a server at all |
What to do next#
Test the claim rather than the argument. Install the Memories and Recognize apps on your existing Nextcloud, let Recognize finish an indexing pass, and try to find three specific photos from five years ago. If you find them quickly, you do not need Immich and you have saved yourself 3.5 GB of RAM and a second backup target.
If it is slow, or the faces are wrong, or you find yourself scrolling by month, install Immich with 8 GB available, DB_DATA_LOCATION on an SSD, and MACHINE_LEARNING_WORKERS left at 1. Point it at a copy of one year of photos first and watch memory during the initial import, because that is when hosts fall over.
If the wider question is really about file sync rather than photos, Nextcloud vs Seafile covers the suite-versus-engine split and Seafile is the faster answer for sync alone. Document scanning has its own page in Paperless-ngx vs Nextcloud. The rest of the category is in Photos and files.
Questions#
Does Nextcloud back up photos from my phone?
Yes. The Nextcloud mobile client has an auto-upload feature that pushes new camera roll items into a folder on the server, and it works. That is the part people assume is missing and it is not. What Nextcloud does not give you out of the box is the rest of the product: face grouping, semantic search, a timeline built for tens of thousands of items, and per-item sharing designed around photos rather than files.
Can Nextcloud do face recognition?
Through the community Recognize app, which runs its own machine learning on the server, and it is decent. The Memories app gives a much better timeline than the built-in Photos app. Both are app store installs, and that is the operational cost: every third-party app has to be compatible with each incoming Nextcloud major or it gets disabled during upgrade, and Nextcloud ships three majors a year.
Can Immich read the photos Nextcloud already has?
Yes, as an external library. Immich can index a directory read-only and reference the files in place rather than importing them, so you can point it at the folder Nextcloud auto-upload writes into. Two caveats: external library folders need their own backup because Immich does not own them, and if Nextcloud moves or renames files, Immich sees the old entries as missing until it rescans.
How much RAM do I need to run both?
Budget 8 GB for the pair on a small household instance, and more if you edit documents. Immich documents 6 GB minimum and 8 GB recommended, with a running instance around 3.5 GB, mostly the machine learning container holding CLIP and face models resident. Nextcloud with its database and Redis is around 600 MB idle and 1.8 GB in use. Neither is happy sharing 4 GB with the other.
Which one is safer to leave running for years?
Immich, marginally, since it adopted semantic versioning at v2.0.0 on 1 October 2025. Nextcloud's problem is the calendar rather than the code: majors ship about every four months, each is supported for twelve, and you cannot skip one, so drifting turns a routine update into several sequential upgrades. Immich's majors do break things (3.0.0 removed pgvecto.rs) but they arrive once or twice a year.
Should I use Immich or PhotoPrism alongside Nextcloud?
Immich if the phones are the problem, PhotoPrism if the archive is. PhotoPrism indexes an existing folder in place without owning it, which composes neatly with a Nextcloud data directory and costs about half the RAM. Immich takes ownership of its own upload tree and gives you real mobile apps. Both can point at photos Nextcloud already stores, as long as only one application writes.
Sources#
- Immich docs, hardware requirements
- Immich blog, v2.0.0 stable release and semantic versioning
- Immich release notes, v3.0.0 breaking changes
- Immich docs, upgrading and downgrade policy
- Nextcloud admin manual, upgrade procedure
- Nextcloud maintenance and release schedule wiki
- Nextcloud admin manual, system requirements
- Nextcloud admin manual, backup procedure
Published . Last reviewed . Found something out of date? Tell us and we will fix it and log the change.