Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Immich Setup on Synology NAS

Installation Overview

Immich is installed on Synology NAS using Container Manager at /volume1/immich/

Directory Structure

/volume1/immich/
├── docker-compose.yml    # Container configuration
├── .env                  # Environment variables
├── upload/               # Photo and video storage
├── database/             # PostgreSQL data
└── model-cache/          # Machine learning models (Docker volume)

Configuration Files

docker-compose.yml

Defines 4 services:

  • immich-server: Main application (port 3001)
  • immich-machine-learning: AI/ML processing
  • redis: Caching
  • database: PostgreSQL with vector extension

Important: All services use network_mode: host for Synology compatibility. This allows containers to use the host's network directly, bypassing Docker bridge networking issues.

.env

Key settings:

  • UPLOAD_LOCATION=/volume1/immich/upload
  • DB_DATA_LOCATION=/volume1/immich/database
  • DB_PASSWORD=<secure_random_password>
  • IMMICH_VERSION=release

Container Management

Start/Stop Services

In Container Manager:

  • Project tab → Select "immich" → Start/Stop/Build

View Logs

  • Container tab → Select container → Logs

Update Immich

  1. Stop the project
  2. Image tab → Pull latest images
  3. Start the project

Access

Web Interface: http://192.168.4.190:3001

Port Note: With host networking mode, Immich uses port 3001 (the container's internal port) directly.

First Time Setup:

  1. Create admin account (first user becomes admin)
  2. Configure mobile app connection
  3. Set up automatic backup from phones

Mobile Apps

Download from:

  • iOS: App Store
  • Android: Google Play Store

Configure with server URL: http://192.168.4.190:3001

Migrating from Other Services

Google Photos Migration (via Google Takeout)

  1. Request Your Data:

    • Visit https://takeout.google.com/
    • Deselect all products, then select only "Google Photos"
    • Choose file type: .zip or .tgz
    • Select file size: 50GB per archive recommended
    • Delivery method: "Send download link via email"
    • Click "Create export"
  2. Download Archives:

    • Google will email you when export is ready (may take hours or days)
    • Download all archive files
    • Extract to a temporary folder on your Mac
  3. Upload to Immich:

    Via Web Interface:

    • Open http://192.168.4.190:3001
    • Click upload icon
    • Drag and drop the extracted Takeout folder
    • Immich will automatically deduplicate and import metadata

    Via CLI (Recommended for large libraries):

    # Install Immich CLI
    npm install -g @immich/cli
    
    # Get API key from Immich: Account Settings → API Keys
    immich login http://192.168.4.190:3001
    
    # Upload all photos
    immich upload /path/to/google-photos-takeout

Notes:

  • Google Takeout includes JSON files with metadata (dates, locations, descriptions)
  • Immich will preserve original dates and EXIF data
  • Albums may need to be manually recreated
  • Verify uploads before deleting from Google Photos
  • Large libraries (100GB+) can take several hours

Amazon Photos Migration

  1. Download via Web Browser:

  2. Alternative - Use Amazon Photos Desktop App:

    • Install Amazon Photos desktop app (Windows/Mac)
    • Use "Download" feature to save locally
    • More reliable for large libraries
  3. Upload to Immich:

    • Same upload process as Google Photos (web UI or CLI)
    • Use immich-cli for faster bulk uploads:
    immich upload /path/to/amazon-photos-download

Amazon Photos Notes:

  • No bulk export like Google Takeout
  • Must download in batches or use desktop app
  • EXIF metadata usually preserved in original files
  • Consider downloading by year/album to organize process

iCloud Photos Migration

Method 1: macOS Photos App (Easiest for Mac users)

  1. Download iCloud Photos to Mac:

    • System Settings → Apple ID → iCloud → Photos
    • Enable "Download Originals to this Mac"
    • Wait for all photos to download (check Photos app for progress)
    • Photos stored at: ~/Pictures/Photos Library
  2. Export from Photos App:

    • Open Photos app
    • Select all photos (⌘+A)
    • File → Export → Export Unmodified Original
    • Choose destination folder
    • Check "Export IPTC as XMP" to preserve metadata
  3. Upload to Immich:

    immich upload /path/to/exported-photos

Method 2: iCloud.com (No Photos App needed)

  1. Download from iCloud.com:

    • Go to https://www.icloud.com/photos
    • Sign in with Apple ID
    • Select photos (up to 1,000 at a time)
    • Click download icon
    • Repeat for entire library in batches
  2. Upload to Immich: Same process as other migrations

Method 3: iCloud Photos Downloader (Open Source Tool)

For large libraries, use the command-line tool:

# Install icloudpd
pip3 install icloudpd

# Download all photos
icloudpd --directory ~/icloud-export --username your@email.com

# Upload to Immich
immich upload ~/icloud-export

iCloud Notes:

  • Photos app method preserves all metadata (best option)
  • iCloud.com limits downloads to 1,000 items at once
  • Live Photos download as separate image + video files
  • Shared albums must be downloaded separately
  • "Optimize Storage" on Mac means photos aren't locally stored yet

General Migration Tips

  • Get API Key: Account Settings → API Keys → Create (needed for CLI uploads)
  • Batch uploads: For 100GB+ libraries, upload in smaller batches
  • Deduplication: Immich automatically detects and skips duplicate files
  • Keep originals: Don't delete from source until verified in Immich
  • Monitor space: Check NAS storage capacity before large imports
  • Machine learning: First upload triggers ML processing (face detection, object recognition)

Backup

Important folders to backup:

  • /volume1/immich/upload/ - All photos and videos
  • /volume1/immich/database/ - Database with metadata, faces, etc.

Troubleshooting

Connection Refused or Reset

Symptom: Cannot access web interface, connection resets immediately.

Solution: Synology Container Manager requires host networking mode for proper operation.

Ensure your docker-compose.yml has network_mode: host for all services:

services:
  immich-server:
    network_mode: host
    # No ports section needed with host networking
    
  redis:
    network_mode: host
    
  database:
    network_mode: host

With host networking:

  • Containers bind directly to host ports
  • Remove any ports: mappings from docker-compose.yml
  • Services connect via localhost (DB_HOSTNAME=localhost, REDIS_HOSTNAME=localhost)
  • Access Immich at http://nas-ip:3001 (not 2283)

Check Container Status

Container Manager → Container tab → Check all 4 containers are "Running"

View Container Logs

Select container → Logs button

Database Issues

If database won't start, check:

  • Database folder permissions
  • Sufficient disk space
  • Database port 5432 not in use

Reset Everything

  1. Stop project
  2. Delete containers
  3. Clear database folder: rm -rf /volume1/immich/database/*
  4. Restart project (will reinitialize database)

Mounted Path

When accessing from Mac: /Volumes/immich/ Actual NAS path: /volume1/immich/

Notes

  • Machine learning requires significant RAM (8GB+ recommended)
  • First download of ML models takes time and disk space
  • Upload folder will grow with your photo library
  • Regular backups recommended

About

Immich container for running on Synology NAS Container Manager

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors