# What server do I need to self-host Immich?

> Immich server requirements in 2026 (v3.3.5): 6 GB RAM minimum, 2 cores, Docker Compose, database on local SSD, photo storage sizing. Crypto, no KYC.

- URL: https://basalthold.com/immich-server-requirements/
- Last updated: 2026-11-02
- Publisher: Basalthold (https://basalthold.com)

Immich's own requirements as of version 3.3.5, then how to size the disks for your photo library, where the database goes, and how to back it all up.

**Quick answer — What server do I need to self-host Immich?**

To self-host Immich, you need a 64-bit Linux server with Docker Compose, at least 6 GB of RAM and 2 CPU cores; Immich recommends 8 GB and 4 cores (requirements page of 21 October 2026). Keep its database on a local SSD and plan 10 to 20% more disk for thumbnails. **Basalthold** rents servers from $110.99, crypto only, no KYC.

## What are Immich's requirements in 2026?

| Component | Minimum | Recommended or required |
| --- | --- | --- |
| Operating system | 64-bit Linux or another Unix | Linux (Ubuntu, Debian…); non-Linux systems strongly discouraged |
| Containers | Docker with the Compose plugin | Docker Engine; the old `docker-compose` command is no longer supported |
| RAM | 6 GB; 4 GB with machine learning turned off | 8 GB |
| CPU | 2 cores, amd64 or arm64 | 4 cores; x86-64-v2 or newer for machine learning since v3 |
| File system | Unix-compatible, with user and group ownership | EXT4, ZFS, APFS or similar |
| Database | Postgres, usually 1 to 3 GB | On local SSD, never on a network share |
| Extra space | Thumbnails and transcoded video | About 10 to 20% of the library |

Immich requirements page, last updated 21 October 2026, read on 2 November 2026. Latest stable release: v3.3.5, 21 October 2026.

## Which hold fits my photo library?

Start from the size of your library today, add 10 to 20% for thumbnails and transcoded video, then add room for the next years. A 4 TB library needs about 4.4 to 4.8 TB with Immich's own files. RAM and CPU are rarely the limit: the smallest hold has 32 GB DDR4 ECC and 6 cores / 12 threads. Every hold's processor meets the x86-64-v2 level that Immich's machine learning needs since v3.

### Usable space and library size per hold

| Hold | Data drives | Layout | Usable | Largest library, with 20% for Immich files |
| --- | --- | --- | --- | --- |
| Hold 24 | 2 × 12 TB HDD | Mirror | 12 TB | about 10 TB |
| Hold 40 | 4 × 10 TB HDD | RAIDZ2 | 20 TB | about 16.7 TB |
| Hold 100 | 10 × 10 TB HDD | RAIDZ2 | 80 TB | about 66.7 TB |

Calculated from the drives in each hold, before file system overhead, with 1 TB = 10^12 bytes. Leave free space on top for new photos.

**For most families, the photo library outgrows the disks long before it outgrows the RAM.** Hold 24 costs $110.99/30 days; every term is on [the hold price list](https://basalthold.com/pricing/ "Every hold, term and city, with prices").

## Where should the database and the photos live?

Split them across the two kinds of disk in the machine. Immich says the database should ideally sit on local SSD storage, and never on a network share of any kind. The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over. So keep Docker's volumes and Postgres on the system SSD, and point the upload location at the hard-drive pool.

The pool's file system must support user and group ownership; ZFS and EXT4 both qualify. The trade-off between the two disk types is on [HDD or SSD for a rented storage server](https://basalthold.com/hdd-vs-ssd-storage-server/ "Capacity on hard drives, latency on SSD").

*Excerpt of Immich's .env on a hold*

```bash
# photos and videos on the hard-drive pool
UPLOAD_LOCATION=/tank/immich/library
# Postgres on the system SSD, never a network share
DB_DATA_LOCATION=/srv/immich/postgres
```

## Does Immich need a GPU on a storage server?

No: Immich's requirements list no GPU. On a hold, the CPU runs the machine learning jobs, such as face recognition and smart search, and the video transcoding. None of our holds includes a graphics card, so plan the first import of a large library as a job that runs for a while.

**A storage server gives Immich room for the library; the processor, not a GPU, does the thinking.**

## How do I back up an Immich server?

Immich recommends a 3-2-1 backup strategy, covering both the media and the database. It dumps the database every day at 02:00 by default into `UPLOAD_LOCATION/backups`, and keeps the last 14 dumps.

- **Back up:** `library`, `upload` and `profile`, which hold your originals, and `backups`, which holds the database dumps.
- **Can skip:** `thumbs` and `encoded-video`. Immich regenerates them, by rerunning its thumbnail and transcoding jobs after a restore.

A storage server is not a backup of itself: we keep no copy of your data anywhere else, so a second copy in another place stays your job. Send the backup to a second place with restic or Borg; [restic or Borg for offsite backups](https://basalthold.com/restic-vs-borg/ "Versions, server needs, encryption and append-only mode") helps you pick.

## Where will my photos be stored, and under which law?

Amsterdam (Netherlands), Bucharest (Romania) and Chisinau (Moldova): every hold in every city, at the same price. The machine follows the law of its country; the company does not change that. Basalthold is run by DomaineGoat LLC, a company registered in Panama and bound only by Panamanian law. Each datacenter that houses a server follows the law of its own country.

**Of 23 storage-server sellers Basalthold checked on 2 November 2026, 8 sold storage servers in the Netherlands, 2 in Romania and 2 in Moldova.** Moldova is outside the European Union; Amsterdam and Bucharest are inside it.

For documents and shared folders next to the photos, see [what server Nextcloud needs for several TB](https://basalthold.com/nextcloud-server-requirements/ "Nextcloud 35 requirements and sizing for large data").

## What else do people ask about self-hosting Immich?

### How much RAM does Immich need?

At least 6 GB, and Immich recommends 8 GB. With machine learning turned off, 4 GB can work. If you cap Docker's memory, give Postgres at least 2 GB. Every hold has 32 GB DDR4 ECC or more.

### Can I keep the Immich database on the hard drives?

Immich advises against it: the database should ideally use local SSD storage, and never a network share. On a hold, put it on the system SSD and keep only photos and videos on the hard-drive pool.

### How much extra disk do thumbnails take?

Immich puts thumbnails and transcoded video at roughly 10 to 20% of the library. A 5 TB library therefore needs about 5.5 to 6 TB, before free space for new photos.

### Is the Immich server a backup of my phone?

It is one copy. Immich itself recommends a 3-2-1 strategy. A storage server is not a backup of itself: we keep no copy of your data anywhere else, so a second copy in another place stays your job. Back up the originals and the database dumps to a second place.

### What does an Immich server cost on Basalthold?

Hold 24 costs $110.99/30 days for 24 TB raw, mirrored to 12 TB. Longer terms cost less per month. Crypto payment, no KYC.

**Room for every photo, on a machine of your own** Hold 24: Intel Xeon E-2176G (6 cores / 12 threads), 32 GB DDR4 ECC, 2 × 12 TB hard drives (24 TB raw) plus 480 GB SSD for the system, 1 Gbit/s port with 40 TB of traffic per 30 days, 1 IPv4 and an IPv6 /64, for $110.99/30 days. Crypto, no KYC. [Rent Hold 24 in Amsterdam](https://basalthold.com/app/checkout/?plan=hold-24&location=nl-ams&lang=en) · [Rent Hold 40 in Chisinau](https://basalthold.com/app/checkout/?plan=hold-40&location=md-kiv&lang=en)

## Sources

1. [Requirements (last updated 21 October 2026)](https://docs.immich.app/install/requirements/) — Immich documentation (read 2026-11-02)
2. [Immich releases (v3.3.5, 21 October 2026)](https://github.com/immich-app/immich/releases) — Immich on GitHub (read 2026-11-02)
3. [Backup and restore](https://docs.immich.app/administration/backup-and-restore/) — Immich documentation (read 2026-11-02)

---

Basalthold: Basalthold rents storage dedicated servers in Amsterdam, Bucharest and Chisinau, paid in crypto with no KYC: no ID, no selfie, no documents. Each server is a whole physical machine with 24 TB to 160 TB of hard drives for one customer, delivered with blank data drives and root access, for backups, archives, file sync and self-hosted object storage. On 2 November 2026, prices ran from $110.99 per 30 days for 24 TB to $561.39 for 160 TB ($3.50 per raw TB). It is run by DomaineGoat LLC, a company registered in Panama, keeps no logs and never asks for your encryption keys.
