You can run a self-hosted photo library without a high-end workstation. The right build starts with the application’s documented minimums, then adds headroom for your collection size, initial indexing, RAW files, video, users, and any other services sharing the machine. In most installations, a modest x86 computer or NAS with a local SSD for the database and cache, plus separate capacity for originals, is a better design than spending first on a powerful GPU.
Start with the photo application’s requirements
There is no universal hardware specification for every self-hosted photo server. Immich and PhotoPrism publish different baselines, and both assume a particular software stack. Treat those figures as a floor for a basic installation, not as a guarantee of fast imports or smooth operation under load.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →| Application | Published CPU baseline | Published memory baseline | Storage guidance |
|---|---|---|---|
| Immich | 2 CPU cores minimum; 4 cores recommended | 6 GB RAM minimum; 8 GB recommended | PostgreSQL files are typically 1–3 GB and should ideally be on a local SSD, never a network share |
| PhotoPrism | At least 2 CPU cores | 3 GB physical memory minimum, plus at least 4 GB swap | Local SSD storage benefits indexing of large libraries, especially database and cache files |
These are project-specific requirements documented by the projects and accessed in 2026. A machine that barely meets them may work for a small library but leave little capacity for a large first import, face or object analysis, video conversion, multiple users, containers, or unrelated services.
How much RAM does Immich need?
Immich lists 6 GB of RAM as a minimum and recommends 8 GB. Use the recommendation as your starting point for a normal single-user server, then allow more if the host will index a large collection, process many videos, run machine-learning jobs, or host additional applications. Memory pressure can make indexing appear stalled even when the storage is fast, so check actual usage during the first import rather than judging only from idle readings.
#1 Best Overall
- IronWolf internal hard drives are the ideal solution for up to 8-bay, multi-user NAS environments craving powerhouse performance
- Store more and work faster with a NAS-optimized hard drive providing ultra-high capacity up to 16TB and cache of up to 256MB
- Purpose built for NAS enclosures, IronWolf delivers less wear and tear, little to no noise/vibration, no lags or down time, increased file-sharing performance, and much more
- Easily monitor the health of drives using the integrated IronWolf Health Management system and enjoy long-term reliability with 1M hours MTBF
- Three-year limited warranty protection plan included and three year Rescue Data Recovery Services included
What does PhotoPrism require?
PhotoPrism’s getting-started guidance specifies at least 2 CPU cores and 3 GB of physical memory, with at least 4 GB of swap. Swap is an emergency cushion, not a substitute for adequate RAM: sustained swapping makes database access and indexing much slower. A host that meets the published minimum should therefore be monitored closely during the initial index and video work.
Size the CPU and memory for your workload
Indexing is bursty. The server must read every file, extract metadata, create thumbnails, and possibly run classification or face-recognition tasks. Video adds decoding and transcoding. Once the library is indexed, browsing may be light, but background jobs can still compete with other services.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Light workload
A small personal library, one user, and mostly JPEG images can run close to the published baselines. Choose an operating system and container setup you can maintain, and leave enough memory for the database, the photo application, and the host itself. An SSD for application data matters more than buying a discrete GPU for this scenario.
Typical home workload
For a growing mixed photo-and-video collection, use the recommended rather than minimum application figures and reserve headroom for the first import. Four CPU cores and 8 GB of RAM align with Immich’s recommendation, while a PhotoPrism installation should have more than its minimum if other containers share the host. The exact amount depends on file formats, concurrent users, and enabled analysis features; neither project publishes one universal “large library” specification.
Heavy or shared workload
Large RAW collections, panoramas, extensive video, several users, and other self-hosted services increase CPU, memory, and temporary-storage demand at the same time. Add resources incrementally after observing indexing, database, and swap usage. If jobs queue for long periods while CPU is saturated, more cores help; if the system starts swapping, more RAM helps. Faster hardware cannot compensate for an undersized originals volume or an unreliable backup.
Design storage in separate roles
Think of storage as three related layers rather than one large disk.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
- Store more, compute faster, and do it confidently with the proven reliability of BarraCuda internal hard drives
- Build a power house gaming computer or desktop setup with a variety of capacities and form factors
- The go to SATA hard drive solution for nearly every PC application from music to video to photo editing to PC gaming. Ax. Sustained transfer rate OD: 190MB/s
- Confidently rely on internal hard drive technology backed by 20 years of innovation
- Frustration Free Packaging - This is just an anti-static bag. No cables, no box.
Original media
Keep the full-resolution photos and videos on storage sized for what you already own plus future growth. RAW files, high-resolution JPEGs, panoramas, and video consume very different amounts, so calculate from your actual files instead of assuming an average photo size. A NAS hard drive or another large-capacity volume is a natural choice for originals when it provides the reliability and expansion path you need.
Database and cache
Place the database and frequently accessed application data on a local SSD whenever the project recommends it. Immich states that its PostgreSQL database files are typically 1–3 GB and explicitly says they should never be stored on a network share. PhotoPrism likewise says local SSD storage greatly benefits indexing of large photo and video collections, particularly for database and cache files.
“Local” means directly attached to the host running the database, not merely a fast share elsewhere on the network. You can keep originals on a separate disk or NAS while retaining database, cache, and other latency-sensitive files on the host SSD.
Generated derivatives
Thumbnails and transcoded video require additional capacity beyond the originals. Immich estimates that these generated files increase library size by 10–20% on average. That is an Immich planning allowance, not a universal rule: a video-heavy or unusually high-resolution collection may fall outside it, and PhotoPrism does not publish the same percentage.
For an Immich example, 8 TB of originals would imply roughly 8.8–9.6 TB after applying that average 10–20% allowance, before leaving room for operating-system files, database growth, temporary work, and backups. Recalculate with your own original size and keep free space available so imports do not fill the volume.
Do you need a GPU?
No. A GPU is an optional accelerator, not a baseline requirement for either application. CPU-only operation is the sensible default when your priority is a dependable, low-power server and your indexing workload is moderate.
Rank #3
- IronWolf internal hard drives are the ideal solution for up to 8-bay, multi-user NAS environments craving powerhouse performance.date transfer rate:6.0 gigabits_per_second
- Store more and work faster with a NAS-optimized hard drive providing 8TB and cache of up to 256MB
- Purpose built for NAS enclosures, IronWolf delivers less wear and tear, little to no noise/vibration, no lags or down time, increased file-sharing performance, and much more
- Easily monitor the health of drives using the integrated IronWolf Health Management system and enjoy long-term reliability with 1M hours MTBF
- Three-year limited product warranty protection plan and three year Rescue Data Recovery Services included
When acceleration can help
GPU usefulness depends on the application’s supported acceleration path, drivers, container runtime, and the specific tasks you enable. PhotoPrism reports an example in which indexing about 2,400 photos on an RTX 4060 was 1.8 times faster than on an Intel Core i7-14700 alone, with up to about 6 GB of GPU memory used during indexing. That is a project-reported result for one setup, not a general benchmark or a promise that the same gain will occur with your files.
Consider a GPU when repeated indexing or machine-learning processing is a demonstrated bottleneck and your chosen software officially supports the card. Verify compatibility before buying: a card that lacks the required runtime, driver, or memory can add complexity without improving the workload you care about.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why not buy one by default?
A GPU adds power use, heat, noise, cost, and another device to maintain. It does not increase the capacity of your originals volume or replace a backup. For occasional imports, the money is usually better spent on an SSD for application data, larger or better-protected media storage, or a second backup copy.
Can a Raspberry Pi run a photo library?
Yes, for lighter workloads. PhotoPrism recommends a Raspberry Pi 4 or 5 with at least 4 GB of RAM and a 64-bit operating system, and recommends SSD storage for indexing. This can be an attractive low-power, compact host for a modest personal library.
Expect trade-offs. Indexing and video processing may be slower than on a modern x86 computer, and PhotoPrism warns that video transcoding is limited on Pi hardware while software transcoding is generally slow. If your collection contains substantial video or you need rapid first-time indexing, use a more capable host or plan for long processing times.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Regardless of platform, keep the database and cache on SSD where supported, monitor temperatures and memory, and avoid placing a database on a network share. A small computer is not a small storage plan: the originals and backups still need capacity sized to the collection.
Rank #4
- Available in capacities ranging from 2 to 22TB(1) | (1) 1GB = 1 billion bytes and 1TB = 1 trillion bytes. Actual user capacity may be less depending on operating environment.
- For RAID-optimized NAS systems with unlimited number of bays
- Rated for 550TB/yr workload rate(2) | (2) Annualized Workload Rate = TB transferred x (8760 / recorded power-on hours). The maximum rated workload is specified for operating at typical temperature of 40C. Workload Rate will vary depending on your hardware and software components and configurations.
- Designed to handle the demands of high-intensity 24x7 multi-user NAS environments
- Western Digital partners with a wide range of NAS system vendors for extensive testing to ensure compatibility with most NAS enclosures
Choosing a host: compact PC, NAS, or Raspberry Pi
The best platform depends on how much processing you need and how you intend to protect the files. The official documentation does not establish an apples-to-apples price or performance winner, so compare the characteristics that affect your workload.
| Host type | Processing and services | Storage and expansion | Power, noise, and recovery considerations |
|---|---|---|---|
| Used compact office PC | Usually the most flexible option for CPU cores, memory upgrades, containers, and software-supported GPU or integrated-video features | Often needs an added SSD or external/NAS volume for originals; expansion depends on the chassis | Typically compact and efficient; plan a separate backup because the internal disk is not a backup |
| NAS | Convenient for centralized storage and services; CPU and memory vary widely, so check that the model meets your application’s requirements | Large, straightforward media capacity and drive expansion; ensure the database can live on local SSD storage rather than a share | Designed for always-on use; redundancy can improve availability but does not replace an independent backup |
| Raspberry Pi 4 or 5 | Suitable for lighter libraries; indexing and video transcoding can be slower, especially with software transcoding | Use SSD storage for indexing and attach or mount appropriately sized media storage | Very low power and small; recovery depends on your separate backup and the reliability of attached storage |
A practical sizing and deployment sequence
- Inventory the collection. Measure the current originals volume and identify the mix of JPEG, RAW, panorama, and video files. Record expected annual growth and the number of users.
- Choose the application first. Read the current requirements for the exact release you will deploy. Use Immich’s or PhotoPrism’s published baseline as the minimum, then add headroom for indexing and other services.
- Separate fast and large storage. Reserve local SSD space for the database, cache, and application data. Put originals on the large volume that offers the capacity and expansion you need.
- Calculate capacity. Start with originals, add an Immich 10–20% allowance for thumbnails and transcoded video if you are using Immich, then add room for growth, temporary processing, and backups. Do not apply that percentage automatically to every application or media mix.
- Install and observe the first index. Watch CPU utilization, RAM, swap, SSD free space, database growth, and job queues while importing a representative sample. This reveals whether your actual workload needs more resources than the published floor.
- Move or configure paths before a full import. Confirm that the application’s database and cache paths resolve to local SSD and that originals resolve to the intended media volume. Test permissions and a restore of a sample file.
- Add acceleration only for a measured bottleneck. If CPU indexing or supported machine-learning tasks are unacceptably slow, check the project’s current GPU compatibility guidance before purchasing hardware.
Common mistakes and how to avoid them
Treating minimums as performance targets
Minimum requirements describe what can run, not how quickly a large import will finish. Leave headroom for the initial index, RAW files, video, concurrent users, and other containers.
Putting the database on a network share
Immich explicitly discourages a network share for PostgreSQL data. Keep database files local to the host, preferably on SSD, and use network storage for originals only when the application and your network design support it.
Buying capacity without accounting for derivatives
The originals are not the whole library. Account for thumbnails, transcoded video, database growth, temporary files, and future imports. Immich’s 10–20% figure is an average planning aid, not a guarantee for every collection.
Assuming RAID is a backup
Drive redundancy can keep a service running after some hardware failures, but it does not protect against deletion, corruption, theft, ransomware, or a failed rebuild. Keep a separate backup of irreplaceable originals and test that you can restore files and the application’s data.
Ignoring software and platform changes
Requirements and supported acceleration methods can change. Confirm the selected project’s current release documentation immediately before deployment, especially when using a new GPU, ARM board, operating-system image, or container runtime.
Bottom line
Build around the application and the library, not a shopping-list specification. A local SSD for database and cache, enough RAM and CPU headroom for indexing, correctly sized originals storage, and an independent backup matter more than a high-end GPU. Immich’s documented baseline is 6 GB RAM minimum and 8 GB recommended with 2 or 4 CPU cores; PhotoPrism documents 2 cores, 3 GB physical memory, and 4 GB swap as its starting point. Use those figures as floors, measure your first import, and scale the part of the system that actually becomes the bottleneck.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

