Best VPS for Immich in 2026
REVIEW 12 min read fordnox

Best VPS for Immich in 2026

Looking for the best VPS to run Immich? We compare top VPS providers for self-hosting your own Google Photos alternative with full privacy.


Best VPS for Immich in 2026

Immich is the open-source, self-hosted photo and video management solution that works just like Google Photos — but you own every byte. Running it on a VPS gives you automatic phone backups, AI-powered search, shared albums, and a beautiful timeline accessible from anywhere. No subscriptions. No data mining. No storage limits beyond what you provision.

What is Immich?

What is Immich?

What is Immich?

Immich is a high-performance, self-hosted alternative to Google Photos and iCloud Photos. It’s designed from the ground up for speed and a native mobile experience:

Why Choose Immich Over Google Photos?

Why Host Immich on a VPS?

Immich VPS Requirements

Immich is more resource-hungry than most self-hosted apps because of machine learning features (face recognition, smart search, object detection). Here’s what you need:

RequirementMinimumRecommended
CPU2 vCPU4+ vCPU
RAM4GB8GB+
Storage50GB SSD200GB+ NVMe
Bandwidth2TBUnmetered
OSUbuntu 22.04+Ubuntu 24.04 LTS

Important: The machine learning features (face recognition, CLIP search) are the biggest resource consumers. Initial processing of your existing photo library will spike CPU and RAM hard. Once the backlog is processed, ongoing usage is much lighter. You can also disable ML features to run Immich on smaller instances.

Top VPS Picks for Immich

1. Hetzner Cloud (Best Overall)

€5.83/mo | 2 vCPU, 8GB RAM, 40GB SSD

Hetzner is the standout choice for Immich:

Why it’s best for Immich: The 8GB RAM at under €6/mo is critical. Immich’s ML models load into memory, and 4GB gets tight. Hetzner gives you breathing room at an unbeatable price.

2. Contabo (Best for Large Photo Libraries)

€4.99/mo | 4 vCPU, 8GB RAM, 50GB NVMe

For families or photographers with large collections:

Why it’s best for large libraries: The 4 vCPU at under €5/mo crushes through face recognition and smart search indexing. Unlimited bandwidth means your family can all sync simultaneously.

3. Hostinger VPS (Best Value Entry Point)

$5.99/mo | 1 vCPU, 4GB RAM, 50GB NVMe

A solid starting point for individuals:

Why it’s best for getting started: Lowest barrier to entry with decent support. Start here, and upgrade when your library grows.

4. DigitalOcean (Best Developer Experience)

$24/mo | 4 vCPU, 4GB RAM, 80GB SSD

For users who value managed infrastructure:

Note: DigitalOcean costs more per GB of RAM, but the platform reliability and backup features give peace of mind for something as precious as your photo library.

5. Vultr (Best Global Coverage)

$12/mo | 2 vCPU, 2GB RAM, 55GB NVMe

Good for low-latency access worldwide:

Note: 2GB RAM is tight for Immich with ML features enabled. Consider disabling smart search or upgrading to the 4GB plan ($18/mo).

Quick Immich Setup

Step 1: Get Your VPS

Choose a provider and select Ubuntu 24.04 LTS with at least 4GB RAM.

Step 2: Install Docker

apt update && apt upgrade -y

# Install Docker
curl -fsSL https://get.docker.com | sh

Step 3: Deploy Immich

# Create directory
mkdir -p /opt/immich && cd /opt/immich

# Download the official docker-compose and .env
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

# Configure storage location
sed -i 's|UPLOAD_LOCATION=./library|UPLOAD_LOCATION=/opt/immich/library|' .env

# Generate a secure database password
DB_PASSWORD=$(openssl rand -base64 32)
sed -i "s|DB_PASSWORD=postgres|DB_PASSWORD=$DB_PASSWORD|" .env

# Start Immich
docker compose up -d

Step 4: Configure Firewall

ufw allow 2283/tcp   # Immich web UI
ufw allow 22/tcp     # SSH
ufw enable

Step 5: Access the Web UI

Open http://your-server-ip:2283 in your browser. Create your admin account on the first visit.

For HTTPS and a clean URL:

apt install -y nginx certbot python3-certbot-nginx

cat > /etc/nginx/sites-available/immich << 'CONF'
server {
    listen 80;
    server_name photos.yourdomain.com;

    client_max_body_size 50000M;

    location / {
        proxy_pass http://127.0.0.1:2283;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_request_buffering off;
    }

    location /api {
        proxy_pass http://127.0.0.1:2283;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_request_buffering off;
    }
}
CONF

ln -s /etc/nginx/sites-available/immich /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d photos.yourdomain.com

Important: The client_max_body_size 50000M line is critical — without it, Nginx will reject large video uploads.

Step 7: Install the Mobile App

  1. Download Immich from the App Store or Google Play
  2. Enter your server URL (https://photos.yourdomain.com)
  3. Log in with your admin account
  4. Enable automatic backup in the app settings
  5. Select which albums to back up

Provider Comparison

ProviderRAMCPUPriceStorageBandwidth
Hetzner8GB2 vCPU€5.8340GB SSD20TB
Contabo8GB4 vCPU€4.9950GB NVMeUnlimited
Hostinger4GB1 vCPU$5.9950GB NVMe4TB
DigitalOcean4GB4 vCPU$2480GB SSD4TB
Vultr2GB2 vCPU$1255GB NVMe2TB

Immich Performance Tips

1. Allocate Enough RAM for Machine Learning

Immich’s ML models (face detection, CLIP for smart search) load into RAM. If you’re running tight on memory:

# Check current memory usage
docker stats --no-stream

# If ML is consuming too much, set limits in docker-compose.yml
# Under the immich-machine-learning service:
#   deploy:
#     resources:
#       limits:
#         memory: 3G

2. Disable ML Features on Small VPS

If your VPS has less than 4GB RAM, you can disable machine learning entirely and still get a great photo management experience:

In the Immich web UI: Administration > Machine Learning Settings > Disable all

You’ll lose smart search and face recognition but keep automatic backup, timeline, albums, and sharing.

3. Use External Storage for Photos

Keep your OS disk small and mount a separate volume for photos:

# Mount a Hetzner Volume or DO Block Storage
mkfs.ext4 /dev/sdb1
mkdir -p /mnt/photos
mount /dev/sdb1 /mnt/photos

# Add to fstab for persistence
echo '/dev/sdb1 /mnt/photos ext4 defaults 0 2' >> /etc/fstab

# Update Immich .env
# UPLOAD_LOCATION=/mnt/photos
docker compose down && docker compose up -d

4. Set Up Automatic Backups

Your photos are irreplaceable. Back them up:

# Daily backup of the database (photos are just files, back those up too)
cat > /etc/cron.daily/immich-backup << 'CRON'
#!/bin/bash
cd /opt/immich
docker compose exec -T immich_postgres pg_dumpall -U postgres | gzip > /opt/immich/backups/db-$(date +%Y%m%d).sql.gz
find /opt/immich/backups -name "*.sql.gz" -mtime +30 -delete
CRON
chmod +x /etc/cron.daily/immich-backup
mkdir -p /opt/immich/backups

5. Optimize Initial Import

When first uploading your existing photo library, expect heavy CPU usage for 24-48 hours as ML processes everything. Tips:

docker compose restart immich-machine-learning

6. Keep Immich Updated

Immich moves fast — updates bring performance improvements and new features:

cd /opt/immich
docker compose pull
docker compose up -d

Check the release notes before updating. Breaking changes are clearly documented.

Immich vs Google Photos: Quick Comparison

FeatureImmichGoogle Photos
PriceFree (you pay for VPS)Free (15GB) / $2.99/mo (100GB)
Storage limitYour VPS diskSubscription-based
PrivacyComplete — self-hostedGoogle scans and indexes photos
AI searchYes (on your server)Yes (on Google’s servers)
Face recognitionYesYes
Original qualityAlwaysOnly on paid plans
SharingAlbums + partner sharingAlbums + shared libraries
Mobile appiOS + AndroidiOS + Android
Offline accessVia mobile app cacheVia mobile app cache
Data portabilityFull — it’s your filesystemGoogle Takeout (slow, messy)
AI trainingNeverPotentially
Open sourceYes (AGPL-3.0)No

FAQ

How much storage do I need for Immich?

Rough estimates based on photo quality:

Smartphone photos average 3-8MB each. Videos are the real storage hogs — a single 4K video minute is ~350MB.

Can Immich handle multiple users?

Yes. Immich supports multiple user accounts, each with their own library, face recognition data, and album collections. Shared albums work across users. A VPS with 8GB RAM comfortably handles 3-5 active users.

Is Immich stable enough for production use?

Immich has matured significantly and is used by thousands of self-hosters daily. The developers are transparent about the project status and document any breaking changes. For extra safety, set up automatic database backups (see the backup section above).

How does Immich compare to Photoprism?

Both are excellent self-hosted Google Photos alternatives:

For most users who want automatic phone backup (the core Google Photos use case), Immich is the better choice.

Can I migrate from Google Photos to Immich?

Yes. Use Google Takeout to export your library, then upload to Immich:

  1. Export from Google Takeout (select Google Photos, choose .zip format)
  2. Download and extract the archives
  3. Use the Immich CLI to bulk upload:
npm i -g @immich/cli
immich upload --recursive /path/to/google-photos-export

The CLI preserves EXIF data and dates. Expect the process to take hours for large libraries.

Does Immich support RAW photos?

Yes. Immich supports RAW formats from major camera brands (Canon CR2/CR3, Nikon NEF, Sony ARW, Fuji RAF, etc). It generates JPEG previews for fast browsing while storing the original RAW file.

Conclusion

For self-hosting Immich, Hetzner Cloud is the clear winner:

If you have a large family library or want faster initial processing, Contabo delivers 4 vCPU and unlimited bandwidth at €4.99/mo. For a simple start, Hostinger at $5.99/mo gets you running with solid support.

Immich on a VPS gives you everything Google Photos offers — automatic backup, AI search, face recognition, shared albums — with complete privacy, no storage limits, and no monthly subscription creep. Your memories belong to you.

~/best-vps-for-immich/get-started

Ready to get started?

Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.

Get Hostinger VPS — $4.99/mo

// up to 75% off + free domain included

// related topics

best vps for immich immich hosting immich vps self-host immich immich photo backup vps google photos alternative vps

// related guides

Andrius Putna

Andrius Putna

I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.

// last updated: March 30, 2026. Disclosure: This article may contain affiliate links.