Workload · Keeping your photo library

Your own self-hosted Immich server for every photo you keep

An Immich server of your own needs less than you might think: Immich's documentation asks for a 64-bit Linux machine with Docker, 6 GB of memory (8 GB is better) and two processor cores (four is better). What really decides the server is storage, because the photos and videos need lots of room on big drives, while the small database wants a fast SSD.

The short version
  1. 8 GB of memory and 4 cores is the comfortable spec
  2. Big drives for photos, an SSD for the database
  3. Up and running with one Docker command
  4. Immich backs up its own database every night
  5. Your photos stay on hardware you choose

What will your Immich server need?

  • Memory: at least 6 GB, with 8 GB recommended. If you switch off the smart search and face recognition features, 4 GB can do.
  • Processor: two cores at the least, four recommended. For the machine-learning part, recent Immich versions need a reasonably modern 64-bit chip (what Immich calls x86-64-v2).
  • System: Linux, such as Ubuntu or Debian, with Docker. Immich says other systems give a poor Docker experience.
  • Disks: a normal Linux filesystem like EXT4 or ZFS, and an SSD in the machine itself for the database.

The database is small, usually 1 to 3 GB, but Immich says it should ideally sit on a local SSD and never, in any form, on a network share.

How much disk space should you plan for?

Start with the size of the library you already have. Immich then makes thumbnails and smaller versions of videos, which add roughly 10 to 20 percent on top. Then think about the next few years: phones keep getting better cameras, and families keep taking pictures.

Put those photos on more than one drive, set up as a RAID array, so a failed disk means swapping it out rather than losing pictures. Keep the database on its own SSD.

Up and running in an evening

  1. Order a server with Ubuntu and install Docker from Docker's own instructions, so you get the docker compose command Immich needs.
  2. Make a folder for Immich and download its two set-up files, docker-compose.yml and example.env, from the latest release on GitHub (save the second as .env).
  3. Open .env and set where your photos go (UPLOAD_LOCATION, on the big drives) and where the database goes (DB_DATA_LOCATION, on the SSD). Change DB_PASSWORD and set your time zone with TZ.
  4. In docker-compose.yml, change the server's port line from 2283:2283 to 127.0.0.1:2283:2283, so Immich answers only on the server itself. Then start everything with docker compose up -d.
  5. Reach port 2283 through an SSH tunnel (for example ssh -L 2283:localhost:2283 you@your-server, then open http://localhost:2283) and create your account. The first account becomes the administrator, so do this straight away.

For the phone apps to back up safely from anywhere, put a web server with HTTPS in front of Immich and close port 2283 itself to the outside world.

Backups you can rely on

Immich saves a copy of its database every night at 2 a.m. and keeps the last fourteen, inside the backups folder of your upload location. That copy only knows where the photos are, though, not the photos themselves.

The pictures you cannot replace are in the library, upload and profile folders. Copy them, together with the database backups, to somewhere else. Immich recommends the 3-2-1 rule: three copies, on two kinds of storage, one of them off-site. Stopping Immich while the copy runs keeps everything in step.

The server that fits

Photo libraries come in every size, which is why a custom-built server suits Immich better than a fixed plan. You pick the processor, memory, drives and how many, the RAID level and, if you want faster smart search and video conversion, a graphics card, and the monthly price updates as you go. The whole machine is yours.

Most builds are ready 4 to 24 hours after your order clears review, and if a racked server already matches your choice, it is yours about 30 minutes after approval. The port is unmetered, so uploading years of photos never adds to the bill. Just want lots of space without building it yourself? Our storage servers start from a ready design.

Is a dedicated server more than you need?

If one household with a modest collection is all you are serving, a small box at home may do. A dedicated server earns its place for a big family archive, several households sharing one Immich, or a photographer's studio: terabytes of pictures on enterprise drives in a data centre, not in a cupboard. Our Nextcloud guide covers files and documents in the same spirit.

Questions people ask

What is the minimum memory for Immich?
Immich lists 6 GB as the minimum and recommends 8 GB. With its machine-learning features switched off, 4 GB can be enough.
Can I keep my photos on a NAS?
The photos can live on slower, larger storage, but the database must never go on any sort of network share. Immich says it should ideally be on a local SSD.
How do I reach Immich after installing it?
Bind the port to the server itself first (127.0.0.1:2283:2283 in docker-compose.yml), then reach port 2283 through an SSH tunnel and create the first account, which becomes the administrator. After that, put an HTTPS web server in front for the phone apps.
Does Immich back itself up?
Only its database, every night, keeping fourteen copies. You still need to back up your photo folders yourself, ideally following the 3-2-1 rule.
Do I need a graphics card?
No, Immich runs without one. A card can speed up machine learning and video conversion, and you can add one when you build the server.
Why does the docker-compose command not work?
Immich needs the newer docker compose command, written with a space. The old docker-compose is not supported.

Get a server for your photos

Choose the drives, memory and RAID your library needs, with an unmetered port and nobody else on the machine.

Build my Immich server

Read next