Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

For most households, a self-hosted photo library needs a modest computer, not a workstation. Plan around the application you choose and the size and format of your collection. Immich currently lists 6 GB of RAM and two CPU cores as minimums, recommending 8 GB and four cores. PhotoPrism lists two CPU cores, 3 GB of physical memory and at least 4 GB of swap. Keep the database and cache on a local SSD, store originals on capacity-priced storage, and leave room for generated thumbnails, transcoded video, future imports and backups.

A GPU is optional. A Raspberry Pi 4 or 5 can handle a lighter PhotoPrism installation with at least 4 GB of RAM and a 64-bit operating system, but indexing and video transcoding can be noticeably slower. The right build depends on workload, not on a universal “photo server” specification.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start with the software’s published minimums

Hardware requirements differ because each project indexes, searches, generates previews and processes video differently. Treat the figures below as a floor for a basic installation, not as a guarantee for a large first import or several simultaneous users.

Application Published baseline Storage guidance What can require more headroom
Immich 6 GB RAM minimum; 8 GB recommended; 2 CPU cores minimum; 4 cores recommended PostgreSQL database files are typically 1–3 GB and should ideally be on a local SSD; a network share is explicitly discouraged for the database Large initial imports, RAW files, video transcoding, multiple users and other services sharing the host
PhotoPrism At least 2 CPU cores, 3 GB physical memory and 4 GB swap Local SSD storage benefits indexing of large libraries, especially database and cache files Collection size, RAW and panorama processing, video work, concurrent users and other containers or services

These are project-specific requirements published by Immich and PhotoPrism in documentation accessed in 2026. They are not a universal specification for every self-hosted photo application. Requirements can change with a new release, so check the selected project’s current documentation immediately before deployment.

#1 Best Overall
Seagate IronWolf 4TB NAS Internal Hard Drive CMR 3.5 Inch SATA 6Gb/s 5400 RPM 64MB Cache for RAID Network Attached Storage Rescue Services (ST4000VNZ06/006)
  • 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

How much storage should you buy?

Capacity starts with the originals. Export or inspect the folder that contains your current photos and videos, record its size, then add the material you expect to import over the life of the server. Do not size a disk from the number of files alone: a phone JPEG, a 60-megapixel RAW file and a 4K video can differ by orders of magnitude.

Use a three-part capacity calculation

  1. Measure existing originals. Include every photo, video, RAW file, panorama and sidecar file that must remain available.
  2. Add growth. Estimate annual additions from phones, cameras and shared accounts, then choose a planning period such as three or five years. If your estimate is uncertain, use a larger allowance rather than filling a disk to its rated capacity.
  3. Add generated data and operating room. Immich says thumbnails and transcoded video increase library size by 10–20% on average. Use that as an Immich planning allowance, not as a rule for every application or media mix. Leave additional free space for temporary imports, database maintenance, updates and filesystem health.

A simple planning formula is: required capacity = current originals + projected new originals + generated-data allowance + free-space reserve. For an illustration, if an existing originals folder is 2 TB, expected growth is 600 GB and you apply a 15% Immich derivative allowance to the 2.6 TB media total, the working estimate is 2.99 TB before a separate free-space reserve. The numbers in this example are only arithmetic; measure your own library and choose the allowance that matches your application.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Account for formats that expand the estimate

  • RAW photography: files are substantially larger than typical phone JPEGs and may require more indexing time and cache space.
  • Video: transcoded versions can add significant capacity, particularly when several resolutions or codecs are generated.
  • Panoramas and high-resolution images: larger source files increase both storage use and processing time.
  • Duplicates and edits: decide whether your workflow keeps original and edited exports as separate files; the server cannot infer your retention policy.

PhotoPrism’s guidance is deliberately format-dependent: actual storage requirements vary with resolution and whether the collection contains RAW files, JPEGs, videos or combinations of them.

Put the database and cache on local SSD storage

Capacity storage and fast application storage serve different purposes. Keep originals on the medium that gives you the right usable capacity and recovery plan, but place the database, cache and frequently accessed application data on a local SSD when the project recommends it.

Immich’s database requirement

Immich reports typical PostgreSQL database files of 1–3 GB. The database should ideally reside on local SSD storage and not on a network share. This is separate from where you keep the photo and video originals: a large hard-drive pool can hold originals while a much smaller SSD handles database operations and thumbnails.

PhotoPrism’s indexing guidance

PhotoPrism states that indexing large photo and video collections benefits greatly from local SSD storage, especially for database and cache files. If your host has one SSD and one large hard drive, use the SSD for the operating system, containers, database and cache, and the larger drive for originals, subject to the application’s path and permission requirements.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Seagate 8TB BarraCuda Internal Hard Drive | SATA 6 Gb/s (ST8000DM004) | Desktop HDD for everyday PC storage, gaming, & computing. Trusted reliability with 2-Year Warranty + 2-Year Rescue
  • 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.

Do not confuse an SSD with a backup. An SSD can fail, and a database can be corrupted by an interrupted write or host failure. Keep a separate, recoverable copy of irreplaceable originals.

CPU and RAM: what affects real-world speed?

CPU cores and memory determine how comfortably the server can index a library while responding to searches and uploads. The published minimums are enough to start, but initial indexing is the most demanding period for many installations.

Initial indexing

Indexing reads every file, extracts metadata, creates thumbnails and may perform face or object analysis depending on the application and enabled features. A large first import can run for hours or longer. More cores can shorten that queue, while insufficient memory can cause swapping and make the system feel unresponsive.

Concurrent use and shared services

Reserve memory for the operating system, database and any other containers such as a reverse proxy, monitoring stack or file-sync service. A machine that exactly meets an application’s minimum can still run out of memory when several people upload photos while indexing is active. Immich’s 8 GB recommendation and four-core recommendation are a more practical starting point than its 6 GB and two-core minimum for a general household server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Swap is not a substitute for RAM

PhotoPrism specifies at least 4 GB of swap in addition to 3 GB of physical memory. Swap can prevent an abrupt out-of-memory failure, but it is much slower than RAM, especially on a busy or low-end storage device. Configure it as a safety margin, not as permission to run a workload that permanently exceeds physical memory.

Do you need a GPU?

No. A GPU is an optional accelerator, not a baseline purchase. Whether it helps depends on the application’s supported acceleration path, drivers, container configuration and the mix of tasks you run.

Rank #3
Seagate 8TB IronWolf Internal NAS Hard Drive | SATA 6 Gb/s (ST8000VNZ04) | 24/7 NAS-optimized HDD. AgileArray, All-CMR, RV sensors for multi-bay, 180TB/year. 3-Year Warranty + 3-Year Rescue
  • 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

What the published example shows

PhotoPrism reports that 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 that specific hardware and workload, not a general benchmark or a promise that buying a GPU will pay off for every library.

When a GPU is sensible

  • You have a large backlog and indexing time matters more than power use, purchase cost or noise.
  • Your chosen software documents support for your GPU model, driver and container runtime.
  • You already own compatible hardware and can provide adequate cooling and power.

Do not buy a GPU solely because a photo server can use one. Verify compatibility first, and compare the cost, electricity and maintenance of the accelerator with simply using a faster CPU or allowing indexing to run overnight.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can a Raspberry Pi run a self-hosted photo library?

For a light workload, yes. 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 suit a small personal library, occasional uploads and low concurrency.

Understand the limits

  • ARM hardware can take longer to index a large collection than a modern desktop-class CPU.
  • PhotoPrism warns that video transcoding is limited on Pi hardware and that software transcoding is generally slow.
  • Use an SSD rather than relying on a microSD card for database and cache activity; the application’s performance guidance specifically favors SSD storage.
  • Leave room for the operating system and swap instead of allocating every byte to originals.

A Pi is therefore a low-power option for lighter use, not an automatic substitute for a larger host when you have extensive video, frequent imports or several users.

Choosing the host: compact PC, NAS or Raspberry Pi

There is no universal price or capacity winner in the available guidance. Compare the platforms against your workload and recovery plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Consideration Compact used office PC NAS appliance or server Raspberry Pi 4 or 5
CPU and memory Often offers more CPU headroom for indexing and concurrent services; verify the exact processor and RAM Varies widely by model; confirm that the CPU and memory meet the application’s requirements Suitable for lighter workloads; indexing and video processing can be slower
Usable storage and expansion May need external disks or a separate storage pool; check drive bays and interfaces Usually provides the simplest multi-drive expansion, but usable capacity depends on the chosen layout External USB storage is normally required for a growing library
Local SSD for database/cache Usually straightforward if an SSD is installed internally Confirm that the application data can live on local SSD rather than a network-mounted share Use SSD storage for indexing data instead of a microSD card
Power, noise and size Moderate; varies by generation and cooling design Designed for always-on storage but can be larger or noisier with multiple drives Small and low-power
Video and machine-learning acceleration Depends on processor, optional GPU and software support Depends on the exact CPU, integrated graphics and supported accelerators Video transcoding is a known limitation for PhotoPrism on Pi hardware
Backup and recovery Must be designed with external or separate backup storage Drive redundancy may simplify recovery from a disk failure but is not itself a backup Requires a separate storage and backup plan for originals

For many households, a compact PC with an internal SSD and separate high-capacity storage is a balanced starting point. A NAS is attractive when multi-drive expansion and centralized storage are priorities. A Pi is appropriate when the library and processing demands are modest and low power matters most.

Rank #4
Western Digital 16TB WD Red Pro NAS Internal Hard Drive HDD - 7200 RPM, SATA 6 Gb/s, CMR, 512 MB Cache, 3.5" - WD161KFGX
  • 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
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

A practical build-and-deploy checklist

  1. Choose the application first. Record its current RAM, CPU, swap, operating-system and architecture requirements.
  2. Measure your originals. Include RAW files, videos, panoramas, sidecars and any duplicate exports you intend to keep.
  3. Project growth. Estimate additions over several years and add a conservative margin for uncertain video or camera use.
  4. Reserve derivative space. For Immich, begin with its documented 10–20% average allowance for thumbnails and transcoded video, then adjust for your media mix.
  5. Separate fast and bulk storage. Put the operating system, database and cache on local SSD; place originals on capacity storage that you can back up.
  6. Leave operating headroom. Do not allocate all RAM or disk space to the photo service. Account for the OS, swap, updates and other services.
  7. Decide whether acceleration is justified. Check documented GPU support before purchasing hardware; otherwise start with CPU processing.
  8. Test a representative import. Import a sample containing your largest RAW files, longest videos and typical phone images before committing to a full migration.
  9. Document recovery. Record where originals, database files and configuration live, and verify that you can restore an original from a separate backup.

Common sizing mistakes and fixes

Buying storage for today only

A disk that is nearly full leaves no room for new imports, generated files or safe maintenance operations. Recalculate capacity using originals, growth and derivatives before ordering drives.

Putting the database on a network share

Immich specifically discourages a network share for PostgreSQL data. Use local SSD storage for the database and keep network storage for originals only when the application’s documented setup supports that arrangement.

Assuming RAID equals backup

Drive redundancy can keep a service running after some disk failures, but it does not protect against deletion, ransomware, filesystem corruption, theft or a failed upgrade. Maintain a separate backup of irreplaceable originals and test recovery.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Underestimating video

Video can dominate both capacity and processing time. If your library is video-heavy, test transcoding on the proposed CPU or GPU and size storage for generated versions rather than using a photo-only estimate.

Ignoring architecture and drivers

ARM, x86, GPU drivers and container runtimes have different compatibility conditions. Confirm that the application build, acceleration method and operating system support your selected host before deployment.

Bottom line for a sensible first build

Use the application’s published requirements as the minimum, then add capacity and performance headroom for your actual collection. For Immich, 8 GB RAM and four CPU cores are the recommended figures, with its PostgreSQL database on local SSD. For PhotoPrism, start at 3 GB physical memory, two CPU cores and 4 GB swap, again favoring local SSD for database and cache. Size bulk storage from measured originals plus projected growth and generated files; Immich’s 10–20% figure is an application-specific starting allowance. Add a GPU only for a documented, worthwhile acceleration path, and choose a Raspberry Pi only when slower indexing and limited video transcoding fit your workload.

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.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.