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?
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:
- Automatic phone backup — iOS and Android apps that sync photos and videos in the background
- AI-powered search — find photos by describing what’s in them (“dog on the beach”, “birthday cake”)
- Face recognition — automatic face detection and grouping across your entire library
- Timeline view — browse your photos by date with a smooth, responsive UI
- Shared albums — create albums and share them with family and friends
- Map view — see where your photos were taken on a world map
- Memories — “On this day” style flashbacks from past years
- Partner sharing — share your entire library with a partner account
- Video support — full video playback with transcoding and thumbnail generation
- EXIF data — full metadata viewing and editing
Why Choose Immich Over Google Photos?
- Complete privacy — your photos never touch Google, Apple, or any third party
- No storage limits — limited only by your VPS disk space, not a subscription tier
- No AI training — your family photos aren’t training someone else’s model
- Full data ownership — export everything, anytime, in original quality
- No compression — originals stored as-is, no “storage saver” downgrades
- Open source — actively developed with a passionate community
Why Host Immich on a VPS?
- Access anywhere — your photo library on any device with a web browser or the mobile app
- Automatic backup — phones back up over cellular or Wi-Fi, no matter where you are
- Better uptime — data center reliability beats a home server on your DSL line
- Faster uploads — data center bandwidth for smooth photo sync
- No port forwarding — no fiddling with your home router or dynamic DNS
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:
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU | 4+ vCPU |
| RAM | 4GB | 8GB+ |
| Storage | 50GB SSD | 200GB+ NVMe |
| Bandwidth | 2TB | Unmetered |
| OS | Ubuntu 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:
- 8GB RAM handles Immich’s ML processing comfortably
- 2 vCPU is enough for face recognition and smart search
- 20TB included bandwidth — sync your entire phone gallery without worry
- EU and US data centers — good for GDPR compliance
- Attach Hetzner Volumes for expandable photo storage (€4.40/mo per 100GB)
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:
- 4 vCPU powers through initial ML processing of your backlog
- 8GB RAM for smooth operation even during heavy indexing
- 50GB NVMe base — upgrade to 400GB for larger libraries
- Unlimited bandwidth — back up every photo without throttling
- Storage add-ons available at competitive rates
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:
- 4GB RAM works for Immich with ML features (tight but functional)
- 50GB NVMe — enough for ~10,000 photos to start
- 24/7 live chat support for VPS beginners
- 4TB bandwidth
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:
- Block storage volumes for expandable photo storage
- Automated backups and snapshots — protect your memories
- Excellent monitoring dashboards
- Great documentation and community tutorials
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:
- 25 data center locations — pick the one closest to you
- Fast NVMe storage for snappy thumbnail loading
- Hourly billing — test before committing
- $100 free credit for new users
- Block storage available for photo storage
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.
Step 6: Set Up Reverse Proxy (Recommended)
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
- Download Immich from the App Store or Google Play
- Enter your server URL (
https://photos.yourdomain.com) - Log in with your admin account
- Enable automatic backup in the app settings
- Select which albums to back up
Provider Comparison
| Provider | RAM | CPU | Price | Storage | Bandwidth |
|---|---|---|---|---|---|
| Hetzner | 8GB | 2 vCPU | €5.83 | 40GB SSD | 20TB |
| Contabo | 8GB | 4 vCPU | €4.99 | 50GB NVMe | Unlimited |
| Hostinger | 4GB | 1 vCPU | $5.99 | 50GB NVMe | 4TB |
| DigitalOcean | 4GB | 4 vCPU | $24 | 80GB SSD | 4TB |
| Vultr | 2GB | 2 vCPU | $12 | 55GB NVMe | 2TB |
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:
- Upload in batches rather than all at once
- Run the import overnight when you don’t need the server
- Monitor with
docker statsand restart ML container if it OOMs:
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
| Feature | Immich | Google Photos |
|---|---|---|
| Price | Free (you pay for VPS) | Free (15GB) / $2.99/mo (100GB) |
| Storage limit | Your VPS disk | Subscription-based |
| Privacy | Complete — self-hosted | Google scans and indexes photos |
| AI search | Yes (on your server) | Yes (on Google’s servers) |
| Face recognition | Yes | Yes |
| Original quality | Always | Only on paid plans |
| Sharing | Albums + partner sharing | Albums + shared libraries |
| Mobile app | iOS + Android | iOS + Android |
| Offline access | Via mobile app cache | Via mobile app cache |
| Data portability | Full — it’s your filesystem | Google Takeout (slow, messy) |
| AI training | Never | Potentially |
| Open source | Yes (AGPL-3.0) | No |
FAQ
How much storage do I need for Immich?
Rough estimates based on photo quality:
- 5,000 photos (smartphone): ~25-50GB
- 20,000 photos: ~100-200GB
- 50,000+ photos with videos: ~500GB-1TB+
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:
- Immich — mobile-first, better phone backup experience, faster development, more features
- Photoprism — more mature, lower resource usage, better for browsing existing collections
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:
- Export from Google Takeout (select Google Photos, choose .zip format)
- Download and extract the archives
- 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:
- 8GB RAM at €5.83/mo — essential for Immich’s ML features (face detection, smart search)
- 20TB bandwidth — sync every photo from every device without worrying about limits
- Expandable volumes for growing libraries at just €4.40/mo per 100GB
- EU and US data centers for privacy-conscious users
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.
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
// related guides
AWS EC2 Alternatives 2026: Cheaper, Simpler VPS Hosting
Best AWS EC2 alternatives for cheaper VPS hosting. Compare Hetzner, Vultr, DigitalOcean, and more — save 70%+ with simpler billing.
reviewCheapest VPS Hosting 2026 — Best Budget Servers From $2.50
We compared 10 budget VPS providers on price, specs, and support. Here are the cheapest worth using — from $2.50/mo with real performance data.
reviewBest GPU VPS in 2026 — Cheapest NVIDIA Servers Compared
Rent GPU servers from $0.50/hr. We compare 8 GPU VPS providers for AI training, inference, and rendering — NVIDIA A100, H100, and RTX options.
reviewBest macOS VPS for iOS Development in 2026
Need a macOS VPS for iOS app development? We review the best providers offering macOS virtual servers for Xcode, Swift, and App Store publishing.
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.