Self-Hosting
Immich vs PhotoPrism vs Nextcloud Photos: How to Choose
Compare phone backup, existing-folder libraries, search, GPU integrations and restore needs in Immich, PhotoPrism and Nextcloud with Memories.
Start here: Choose the workflow you actually need
List your phone platforms, existing photo folders, household accounts, sharing needs, search requirements and whether Nextcloud already runs. Keep a separate copy of original photos while evaluating.
Do not move the only copy of a photo library into an evaluation instance.
Problem summary
Choose by the job: Immich for a dedicated phone-photo service, PhotoPrism for browsing an existing folder archive, or Nextcloud with Memories when photos belong in an existing files platform. Run a small upload and restore trial before migrating the library; no app guarantees immediate iOS background uploads.
List your phone platforms, existing photo folders, household accounts, sharing needs, search requirements and whether Nextcloud already runs. Keep a separate copy of original photos while evaluating.
Mobile backup screen → upload one test album → open the server timeline and download an original
You have a short list of required jobs instead of a generic “best app” target.
Do not move the only copy of a photo library into an evaluation instance.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Choose the workflow you actually need
Check: List your phone platforms, existing photo folders, household accounts, sharing needs, search requirements and whether Nextcloud already runs. Keep a separate copy of original photos while evaluating.
Expected result: You have a short list of required jobs instead of a generic “best app” target.
If not: If the goal is only phone backup, test that path first; if it is browsing an existing folder archive, test indexing and original-file access.
Safe stop: Do not move the only copy of a photo library into an evaluation instance.
Test phone uploads in foreground, then background
Check: Upload a small album with the app open on your usual Wi-Fi, verify the files on the server, then test the same workflow with the screen locked over several days. Check app/server compatibility and photo permissions.
Expected result: New originals arrive and can be downloaded; you observe background behavior on your own devices.
If not: iOS decides when background tasks run. An app supporting background upload is not a guarantee of an immediate or complete background backup. Do not use an unmeasured reliability ranking.
Test the search feature and its actual compute path
Check: Try representative faces and text queries. For Immich inspect its machine-learning service and supported acceleration backend. For PhotoPrism distinguish built-in TensorFlow from optional Ollama captions/labels. For Nextcloud distinguish Memories gallery from Recognize processing.
Expected result: The required feature works with acceptable latency and resource use on the chosen configuration.
If not: A GPU-supported integration does not imply identical face recognition or semantic search support. PhotoPrism can use a GPU-backed self-hosted Ollama service for captions/labels; do not call the whole application CPU-only.
Prove a complete backup and restore before migration
Check: Back up original files and the platform database/configuration. Restore a small library into a separate instance and check users, dates, albums, shares and downloaded originals. Use the Immich recovery guide for its database-plus-files restore.
Expected result: The restored application contains the intended library and original files, not just a healthy login screen.
If not: Originals remain valuable independently, but copying them alone does not recreate every application’s database state. PhotoPrism can re-index originals, while albums/metadata/settings may still require database and storage backups.
Pick using observed results and maintenance cost
Check: Compare your upload tests, search results, restore exercise, upgrades and resource use. Immich suits a dedicated phone-photo workflow; PhotoPrism suits an existing folder archive; Nextcloud plus Memories can fit an already-operated files platform.
Expected result: The choice follows your required workflow and evidence from the same trial library.
If not: If none meets a must-have requirement, retain the existing backup and extend the evaluation rather than promising that a feature badge will solve it.
Did this help you choose?
Your answer helps us improve this page.
No account or personal details. We store the page, answer, optional reason and day with a 90-day retention period. A random reference in this browser prevents repeat votes. Feedback privacy
Decision tree
If: Your priority is a dedicated phone-photo workflow
Then: Immich provides a focused mobile/server photo stack
Action: Trial foreground and background uploads plus a restore on your own phone/server before moving the library.
If: Your priority is browsing an existing folder archive
Then: PhotoPrism’s indexing workflow may fit that starting point
Action: Test indexing a copy and preserve originals plus database/storage backups; re-indexing is not full-state recovery.
If: Nextcloud already hosts your household files
Then: Memories can fit the existing files platform, with additional app/job administration
Action: Verify Memories/Recognize and the mobile upload path rather than assuming the file-sync client supplies every photo feature.
If: You want GPU-backed captions/labels in PhotoPrism
Then: An optional self-hosted Ollama service is a distinct compute path
Action: Test the integration and its privacy/resource requirements; do not infer native face-recognition parity.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| Your priority is a dedicated phone-photo workflow | Your selected albums, upload completion and original-file download checks | Immich provides a focused mobile/server photo stack | Trial foreground and background uploads plus a restore on your own phone/server before moving the library. |
| Your priority is browsing an existing folder archive | Original folder layout, indexing results and restored metadata | PhotoPrism’s indexing workflow may fit that starting point | Test indexing a copy and preserve originals plus database/storage backups; re-indexing is not full-state recovery. |
| Nextcloud already hosts your household files | Installed app versions, completed background jobs and phone upload behavior | Memories can fit the existing files platform, with additional app/job administration | Verify Memories/Recognize and the mobile upload path rather than assuming the file-sync client supplies every photo feature. |
| You want GPU-backed captions/labels in PhotoPrism | Configured model engine, where inference runs and which feature uses it | An optional self-hosted Ollama service is a distinct compute path | Test the integration and its privacy/resource requirements; do not infer native face-recognition parity. |
Commands and settings paths
Immich upload proof
Mobile backup screen → upload one test album → open the server timeline and download an originalWhere: Phone and server web UI
Expected: Every selected test asset is present and its original can be downloaded
Failure means: Queued counts or a thumbnail do not establish successful original-file backup
Safe next step: Compare foreground and background separately and preserve your original copies.
PhotoPrism AI settings
PhotoPrism configuration → built-in TensorFlow and optional Ollama / OpenAI model engineWhere: PhotoPrism and the configured model service
Expected: You can identify which task uses which model and where it runs
Failure means: A remote API is not local inference; an Ollama GPU does not accelerate every PhotoPrism feature
Safe next step: Check privacy, service reachability and resource use before enabling an integration.
Nextcloud gallery boundaries
Nextcloud Apps → Memories and Recognize; Administration → background jobsWhere: Nextcloud admin UI
Expected: Required apps are installed and their jobs complete
Failure means: A working file-sync client alone does not prove gallery or recognition jobs work
Safe next step: Verify each required app and its current support/documentation independently.
Hardware and platform boundary
Change only when
- Add compute only after the trial shows a required processing bottleneck.
Evidence that matters
- Your phone upload behavior, original-file restore, feature-specific compute path, privacy and administrator time.
Evidence that does not matter
- A headline stream count without a reproducible workload.
Avoid
- Do not treat thumbnails as a backup, or assume all GPU integrations provide the same feature.
Related problems
Last reviewed
2026-09-27 · Reviewed by HomeTechOps. Reviewed 2026-09-27 against first-party project documentation. Removed unsupported iOS reliability rankings and the blanket claim that only Immich benefits from GPU resources. No comparative device benchmark or universal winner is claimed.
Sources/assumptions
- First-party feature documentation reviewed 2026-09-27. No measured cross-platform upload reliability ranking or identical GPU feature support is assumed.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.
Planning a purchase?
We keep a source-backed, price-free comparison so you can buy once and right. No star ratings, every spec cited.
Synology vs UGREEN vs DIY NAS in 2026 →Get the deal & firmware alerts
Home Stack Field Notes: NAS deals, firmware changes worth acting on, restore-test reminders, and new decision guides — plus the capacity & backup sizing cheatsheets from our calculators. Unsubscribe anytime.
Subscribe on beehiiv