स्व-होस्टिंग इम्मिच: निजी फोटो क्लाउड

आपके स्व-होस्टेड AI-सक्षम बैकअप पर फोटो

Page content

Immich एक क्रांतिकारी ओपन-सोर्स, सेल्फ-होस्टेड फोटो और वीडियो मैनेजमेंट सॉल्यूशन है जो आपको अपने यादों पर पूर्ण नियंत्रण प्रदान करता है। Google Photos के समान विशेषताओं के साथ - जिसमें AI-सक्षम चेहरा पहचान, स्मार्ट सर्च, और स्वचालित मोबाइल बैकअप शामिल हैं - जबकि आपका डेटा आपकी अपनी सर्वर पर प्राइवेट और सुरक्षित रहता है।

जिस तरह Personal Knowledge Management आपको अपने विचारों और जानकारी को संगठित और संरक्षित करने में मदद करता है, उसी तरह Immich आपको अपने दृश्य यादों को संगठित और संरक्षित करने में मदद करता है।

immich

Immich क्या है?

Immich एक ओपन-सोर्स, सेल्फ-होस्टेड विकल्प है जो Google Photos और iCloud जैसे प्रोप्राइटरी क्लाउड फोटो सर्विसेज के लिए है। टाइपस्क्रिप्ट, पोस्टग्रेसक्यूएल, और मशीन लर्निंग जैसे आधुनिक तकनीकों के साथ बनाया गया, Immich फोटो और वीडियो संग्रह को बैकअप, संगठित करने और ब्राउज़ करने के लिए एक फीचर-रिच प्लेटफॉर्म प्रदान करता है।

मुख्य विशेषताएं

प्राइवसी-फर्स्ट डिजाइन: आपके सभी फोटो आपकी इन्फ्रास्ट्रक्चर पर रहते हैं। कोई थर्ड-पार्टी सर्वर नहीं, कोई डेटा माइनिंग नहीं, कोई प्राइवसी चिंताएं नहीं। आपके याद आपकी हैं।

स्वचालित मोबाइल बैकअप: नेटिव iOS और Android ऐप्स स्वचालित बैकग्राउंड बैकअप प्रदान करते हैं, Google Photos के समान। आपके फोटो उन क्षणों के बाद सुरक्षित होते हैं जब आप उन्हें लेते हैं।

AI-सक्षम सर्च: CLIP और चेहरा पहचान जैसे मशीन लर्निंग मॉडल्स का उपयोग करके, Immich सेमांटिक सर्च सक्षम करता है। “बीच सनसेट”, “कुत्ता खेल रहा है”, या विशिष्ट लोगों के लिए सर्च करें बिना मैन्युअल टैगिंग के।

चेहरा पहचान: फोटो में चेहरों का स्वचालित पता लगाना और क्लस्टर करना। Immich आपके पूरे लाइब्रेरी में लोगों की पहचान करता है, जिससे विशिष्ट व्यक्तियों के फोटो ढूँढना आसान हो जाता है।

आधुनिक वेब इंटरफेस: फोटो ब्राउज़, संगठित करने और किसी भी ब्राउज़र वाले डिवाइस से शेयर करने के लिए सुंदर, रिस्पॉन्सिव वेब इंटरफेस।

मल्टी-यूजर सपोर्ट: परिवार के सदस्यों के लिए खाते बनाएं, हर एक के पास अपना प्राइवेट लाइब्रेरी। चयनित एल्बम शेयर करें जबकि व्यक्तिगत फोटो के लिए प्राइवसी बनाए रखें।

लाइव फोटो सपोर्ट: iOS लाइव फोटो और Android मोशन फोटो का पूर्ण सपोर्ट, स्टिल इमेज और वीडियो दोनों घटकों को संरक्षित करता है।

मेटाडेटा संरक्षण: लोकेशन, कैमरा सेटिंग्स, और टाइमस्टैम्प्स सहित EXIF डेटा संरक्षित रहता है। GPS कोऑर्डिनेट्स के आधार पर अपने फोटो को एक मैप पर देखें।

एक्सटर्नल लाइब्रेरी सपोर्ट: बाहरी स्टोरेज से मौजूदा फोटो लाइब्रेरी आयात करें बिना फाइलों को कॉपी किए, डिस्क स्पेस बचाएं। जिस तरह Obsidian टेक्स्ट-आधारित ज्ञान को प्रबंधित और संगठित करने में मदद करता है, उसी तरह Immich दृश्य मीडिया के लिए शक्तिशाली संगठन प्रदान करता है।

अपने फोटो को सेल्फ-होस्ट करने के लिए क्यों?

पूर्ण प्राइवसी नियंत्रण

जब आप वाणिज्यिक क्लाउड सर्विसेज का उपयोग करते हैं, तो आपके फोटो उन सर्वर पर स्टोर होते हैं जिन पर आपका नियंत्रण नहीं होता। उन्हें विज्ञापन के लिए विश्लेषण किया जा सकता है, मशीन लर्निंग ट्रेनिंग डेटा में शामिल किया जा सकता है, या थर्ड पार्टियों द्वारा एक्सेस किया जा सकता है। Immich के साथ, आपके फोटो आपकी सर्वर से बाहर नहीं जाते जब तक कि आप उन्हें स्पष्ट रूप से शेयर नहीं करते।

कोई स्टोरेज सीमाएं नहीं

क्लाउड सर्विसेज स्टोरेज टीयर्स के आधार पर चार्ज करती हैं। सेल्फ-होस्टिंग के साथ, आपका एकमात्र सीमा आपकी हार्डवेयर क्षमता है। एक 10TB हार्ड ड्राइव दो साल के प्रीमियम क्लाउड स्टोरेज से कम महंगा है।

लागत कुशलता

प्रारंभिक हार्डवेयर निवेश के बाद, सेल्फ-होस्टिंग में न्यूनतम चल रही लागत होती है। कोई मासिक सब्सक्रिप्शन नहीं, कोई स्टोरेज सीमाओं को पार करने पर आश्चर्यजनक चार्ज नहीं।

डेटा लॉन्गेविटी

क्लाउड सर्विसेज शर्तें बदल सकती हैं, कीमतें बढ़ा सकती हैं, या पूरी तरह से बंद हो सकती हैं। आपका सेल्फ-होस्टेड सॉल्यूशन अनिश्चित काल तक आपकी नियंत्रण में रहता है।

सीखने का अवसर

Immich सेल्फ-होस्टिंग Docker, रिवर्स प्रॉक्सी, SSL सर्टिफिकेट्स, डेटाबेस प्रबंधन, और सर्वर प्रशासन के साथ हाथों-हाथ अनुभव प्रदान करता है - किसी भी डेवलपर या DevOps पेशेवर के लिए मूल्यवान कौशल।

आर्किटेक्चर ओवरव्यू

Immich एक माइक्रोसर्विसेस आर्किटेक्चर का पालन करता है जिसमें कई घटक शामिल हैं:

Immich सर्वर: मुख्य API सर्वर जो ऑथेंटिकेशन, फोटो अपलोड, और डेटाबेस ऑपरेशंस को हैंडल करता है। Node.js और टाइपस्क्रिप्ट के साथ बनाया गया।

Immich मशीन लर्निंग: चेहरा पहचान, ऑब्जेक्ट डिटेक्शन, और CLIP-आधारित सेमांटिक सर्च के लिए टेंसरफ्लो मॉडल्स चलाने वाला अलग Python सर्विस।

Immich वेब: उपयोगकर्ता-फेसिंग एप्लिकेशन प्रदान करने वाला रिएक्ट-आधारित वेब इंटरफेस।

पोस्टग्रेसक्यूएल: मेटाडेटा, उपयोगकर्ता जानकारी, और फोटो, लोगों, और एल्बम्स के बीच संबंधों को स्टोर करने वाला रिलेशनल डेटाबेस।

रेडिस: सेशन प्रबंधन और जॉब क्यू कोऑर्डिनेशन के लिए इन-मेमोरी कैश।

टाइपसेंस (वैकल्पिक): बेहतर सर्च क्षमता और प्रदर्शन के लिए सर्च इंजन।

सभी घटक Docker कंटेनर्स के रूप में चलते हैं, Docker Compose के साथ ऑर्केस्ट्रेटेड किए जाते हैं ताकि डिप्लॉयमेंट और प्रबंधन सरल हो।

हार्डवेयर आवश्यकताएं

न्यूनतम विनिर्देश

  • CPU: 2 कोर (x86_64 या ARM64)
  • RAM: 4GB (8GB अनुशंसित)
  • स्टोरेज: 10GB एप्लिकेशन के लिए + फोटो लाइब्रेरी का आकार
  • नेटवर्क: 100 Mbps स्थानीय एक्सेस के लिए

अनुशंसित विनिर्देश

  • CPU: 4+ कोर अच्छे सिंगल-थ्रेड प्रदर्शन के साथ
  • RAM: 8-16GB (बड़े लाइब्रेरी के लिए अधिक)
  • स्टोरेज: डेटाबेस और एप्लिकेशन के लिए SSD, फोटो स्टोरेज के लिए HDD
  • GPU: वैकल्पिक लेकिन ML टास्कों को महत्वपूर्ण रूप से तेज करता है (NVIDIA CUDA सपोर्ट के साथ)

स्टोरेज विचार

अपनी वर्तमान फोटो लाइब्रेरी के आकार के लगभग 1.15x के लिए योजना बनाएं ताकि थंबनेल्स और कई रिज़ॉल्यूशन के लिए खाता हो। PostgreSQL डेटाबेस के लिए बेहतर प्रदर्शन के लिए SSD स्टोरेज का उपयोग करें।

बड़े लाइब्रेरी (100,000+ फोटो) के लिए विचार करें:

  • RAID के साथ NAS डेटा रिडंडेंसी के लिए
  • डेटाबेस के लिए अलग SSD
  • अक्सर एक्सेस किए जाने वाले फोटो के लिए NVMe कैश टियर

इंस्टॉलेशन गाइड

प्रीरेक्विसाइट्स

Immich इंस्टॉल करने से पहले, सुनिश्चित करें कि आपके पास है:

  1. लिनक्स सर्वर: Ubuntu 22.04 LTS या Debian 12 अनुशंसित है (हमारी व्यापक गाइड How to Install Ubuntu 24.04 & useful tools पर विस्तृत सेटअप निर्देशों के लिए देखें)
  2. Docker: वर्जन 20.10 या नया
  3. Docker Compose: वर्जन 2.0 या नया
  4. डोमेन नाम: बाहरी एक्सेस के लिए वैकल्पिक लेकिन अनुशंसित
  5. रिवर्स प्रॉक्सी: Nginx या Caddy SSL टर्मिनेशन के लिए

चरण-दर-चरण इंस्टॉलेशन

1. Docker और Docker Compose इंस्टॉल करें

# सिस्टम पैकेज अपडेट करें
sudo apt update && sudo apt upgrade -y

# Docker इंस्टॉल करें
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# यूजर को docker ग्रुप में जोड़ें
sudo usermod -aG docker $USER

# Docker Compose इंस्टॉल करें
sudo apt install docker-compose-plugin

curl कमांड्स और विकल्पों के बारे में अधिक विवरण के लिए, हमारी cURL Cheatsheet देखें। अगर आप Docker के नए हैं, तो हमारी Docker Cheatsheet आवश्यक कमांड्स और अवधारणाओं प्रदान करती है।

2. Immich डायरेक्टरी संरचना बनाएं

# एप्लिकेशन डायरेक्टरी बनाएं
mkdir -p ~/immich/{library,database,machine-learning}
cd ~/immich

# docker-compose.yml डाउनलोड करें
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

अगर आप bash स्क्रिप्टिंग और कमांड-लाइन ऑपरेशंस के नए हैं, तो हमारी Bash Cheat Sheet आम कमांड्स और डायरेक्टरी ऑपरेशंस के लिए मददगार संदर्भ प्रदान करती है।

3. एन्वायरनमेंट वेरिएबल्स कॉन्फ़िगर करें

.env फ़ाइल को अपने सेटिंग्स के साथ संपादित करें:

# डेटाबेस कॉन्फ़िगरेशन
DB_PASSWORD=your_secure_password_here
DB_DATABASE_NAME=immich
DB_USERNAME=postgres

# अपलोड लोकेशन
UPLOAD_LOCATION=./library

# मशीन लर्निंग
MACHINE_LEARNING_ENABLED=true

# टाइमज़ोन
TZ=America/New_York

# पब्लिक URL (बाहरी एक्सेस के लिए)
IMMICH_SERVER_URL=https://photos.yourdomain.com

महत्वपूर्ण: DB_PASSWORD के लिए एक मजबूत रैंडम पासवर्ड जनरेट करें:

openssl rand -base64 32

4. Immich लॉन्च करें

# सभी सर्विसेज स्टार्ट करें
docker compose up -d

# सर्विस स्टेटस चेक करें
docker compose ps

# लॉग देखें
docker compose logs -f

ये बस बेसिक्स हैं - Docker Compose कमांड्स और ऑपरेशंस के लिए एक व्यापक संदर्भ के लिए, हमारी Docker Compose Cheatsheet देखें।

5. वेब इंटरफेस एक्सेस करें

http://your-server-ip:2283 पर जाएं और अपना एडमिन खाता बनाएं। यह पहला खाता सिस्टम एडमिनिस्ट्रेटर बन जाता है।

बाहरी एक्सेस सेटअप

सुरक्षित बाहरी एक्सेस के लिए, एक रिवर्स प्रॉक्सी कॉन्फ़िगर करें:

Nginx कॉन्फ़िगरेशन उदाहरण

server {
    listen 443 ssl http2;
    server_name photos.yourdomain.com;

    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;

    client_max_body_size 50000M;

    location / {
        proxy_pass http://localhost: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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

Caddy कॉन्फ़िगरेशन उदाहरण (स्वचालित HTTPS के साथ सरल)

photos.yourdomain.com {
    reverse_proxy localhost:2283

    @uploads {
        path /api/upload/*
    }
    request_body @uploads {
        max_size 50GB
    }
}

मोबाइल ऐप सेटअप

iOS

  1. App Store से Immich डाउनलोड करें
  2. सर्वर URL दर्ज करें (https://photos.yourdomain.com)
  3. अपने क्रेडेंशियल्स के साथ लॉगिन करें
  4. सेटिंग्स में स्वचालित बैकअप सक्षम करें
  5. बैकअप करने के लिए एल्बम्स चुनें (या सभी फोटो)
  6. बैकअप सेटिंग्स कॉन्फ़िगर करें (WiFi-केवल, चार्जिंग-केवल, आदि)

Android

  1. Google Play Store या F-Droid से Immich डाउनलोड करें
  2. सर्वर URL और क्रेडेंशियल्स दर्ज करें
  3. फोटो/वीडियो एक्सेस अनुमतियाँ दें
  4. स्वचालित बैकअप सेटिंग्स कॉन्फ़िगर करें
  5. विश्वसनीय बैकग्राउंड बैकअप के लिए फॉरग्राउंड सर्विस सक्षम करें

बैकअप कॉन्फ़िगरेशन टिप्स

  • WiFi केवल: मोबाइल डेटा चार्ज से बचने के लिए सक्षम करें
  • चार्जिंग केवल: बड़े अपलोड्स के दौरान बैटरी ड्रेन से बचें
  • वीडियो शामिल करें: वीडियो महत्वपूर्ण स्टोरेज और बैंडविड्थ का उपयोग करते हैं
  • बैकग्राउंड ऐप रिफ्रेश: विश्वसनीय सिंक्रनाइज़ेशन के लिए iOS पर सक्षम करें
  • फॉरग्राउंड सर्विस: Android पर स्थिर बैकअप के लिए सक्षम करें

मशीन लर्निंग फीचर्स

चेहरा पहचानना

Immich का चेहरा पहचानना स्वचालित रूप से आपके लाइब्रेरी में चेहरे का पता लगाता है और उन्हें क्लस्टर करता है:

  1. प्रारंभिक प्रोसेसिंग: अपलोड के बाद, ML सेवा हर फोटो में चेहरे का विश्लेषण करती है
  2. चेहरा क्लस्टरिंग: समान चेहरे एक साथ समूहीकृत किए जाते हैं
  3. मैनुअल असाइनमेंट: क्लस्टर का समीक्षा करें और लोगों को नाम असाइन करें
  4. कंटीन्यूअस लर्निंग: जैसे-जैसे आप और फोटो टैग करते हैं, सटीकता बढ़ती है

कॉन्फ़िगरेशन:

# In docker-compose.yml, ML service environment
MACHINE_LEARNING_MODEL_CACHE=/cache
MACHINE_LEARNING_WORKERS=1  # अधिक CPU कोर के साथ बढ़ाएं

ऑब्जेक्ट डिटेक्शन और CLIP सर्च

Immich CLIP (Contrastive Language-Image Pre-training) का उपयोग सेमांटिक सर्च के लिए करता है:

  • टैग के बिना अवधारणाओं का खोज करें: “पर्वत दृश्य”, “बर्थडे केक”, “लाल कार”
  • प्राकृतिक भाषा क्वेरी संदर्भ और संबंधों को समझती हैं
  • यह कई भाषाओं में काम करता है (हालांकि अंग्रेजी आमतौर पर सर्वोत्तम परिणाम देती है)

GPU त्वरक

मशीन लर्निंग प्रोसेसिंग के लिए महत्वपूर्ण रूप से तेज़, GPU समर्थन सक्षम करें:

NVIDIA GPU with CUDA

# In docker-compose.yml, ML service
services:
  immich-machine-learning:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

निविडिया कंटेनर टूलकिट इंस्टॉल होने का सुनिश्चित करें:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

बैकअप रणनीतियाँ

जबकि Immich आपके फोटो को मोबाइल डिवाइस से बैकअप करता है, आपको Immich खुद को भी बैकअप करना चाहिए:

बैकअप करने के लिए क्या

  1. फोटो लाइब्रेरी: UPLOAD_LOCATION डायरेक्टरी जिसमें मूल फोटो होते हैं
  2. डेटाबेस: PostgreSQL डेटाबेस जिसमें मेटाडेटा और संबंध होते हैं
  3. कॉन्फ़िगरेशन: .env फ़ाइल और docker-compose.yml

डेटाबेस बैकअप

स्वचालित दैनिक बैकअप स्क्रिप्ट

#!/bin/bash
# save as ~/immich/backup.sh

BACKUP_DIR=~/immich-backups
DATE=$(date +%Y%m%d_%H%M%S)

# बैकअप डायरेक्टरी बनाएं
mkdir -p $BACKUP_DIR

# PostgreSQL डेटाबेस बैकअप
docker exec -t immich-postgres pg_dumpall -c -U postgres | \
    gzip > $BACKUP_DIR/immich_db_$DATE.sql.gz

# केवल पिछले 30 दिनों के बैकअप रखें
find $BACKUP_DIR -name "immich_db_*.sql.gz" -mtime +30 -delete

echo "बैकअप पूरा हुआ: $BACKUP_DIR/immich_db_$DATE.sql.gz"

एक्सीक्यूटेबल बनाएं और क्रॉन के साथ शेड्यूल करें:

chmod +x ~/immich/backup.sh
crontab -e
# पंक्ति जोड़ें: 0 2 * * * ~/immich/backup.sh

बैश स्क्रिप्टिंग, स्वचालन, और क्रॉन जॉब्स के बारे में अधिक जानकारी के लिए, हमारी व्यापक Bash Cheat Sheet पर संदर्भ लें।

फोटो लाइब्रेरी बैकअप

आपकी फोटो लाइब्रेरी को अलग से किसी अन्य स्थान पर बैकअप करना चाहिए:

विकल्प 1: Rsync to NAS

rsync -avz --delete ~/immich/library/ nas:/backups/immich-photos/

विकल्प 2: क्लाउड बैकअप (एन्क्रिप्टेड)

# rclone का उपयोग करके एन्क्रिप्शन
rclone sync ~/immich/library/ remote:immich-backup-encrypted/ --encrypt

विकल्प 3: स्थानीय बाहरी ड्राइव

rsync -avz --delete ~/immich/library/ /mnt/backup-drive/immich/

रखरखाव और अपडेट

नियमित रखरखाव कार्य

डिस्क स्पेस का निगरानी

# डिस्क उपयोग का जांच
df -h ~/immich/library
df -h ~/immich/database

# Docker volumes का जांच
docker system df

प्रदर्शन का निगरानी

# संसाधन उपयोग देखें
docker stats

# विशिष्ट सेवा लॉग्स देखें
docker compose logs immich-server --tail=100
docker compose logs immich-machine-learning --tail=100

Immich को अपडेट करना

Immich नियमित रूप से नए फीचर्स और बग फिक्स के साथ अपडेट होता है। नियमित रूप से अपडेट करें:

cd ~/immich

# अपडेट से पहले डेटाबेस बैकअप करें
docker exec -t immich-postgres pg_dumpall -c -U postgres > backup_pre_update.sql

# नवीनतम इमेजेस पुल करें
docker compose pull

# पुराने कंटेनर्स को रोकें और हटाएं
docker compose down

# नए इमेजेस के साथ शुरू करें
docker compose up -d

# किसी भी समस्या के लिए लॉग्स देखें
docker compose logs -f

डेटाबेस रखरखाव

नियमित डेटाबेस रखरखाव सुनिश्चित करता है कि प्रदर्शन अच्छा रहे:

# डेटाबेस को वैक्यूम और विश्लेषण करें
docker exec -it immich-postgres psql -U postgres -d immich -c "VACUUM ANALYZE;"

# डेटाबेस साइज का जांच
docker exec -it immich-postgres psql -U postgres -d immich -c \
    "SELECT pg_size_pretty(pg_database_size('immich'));"

प्रदर्शन अनुकूलन

स्टोरेज अनुकूलन

डेटाबेस के लिए SSD का उपयोग करें: PostgreSQL को SSD स्टोरेज से महत्वपूर्ण लाभ होता है। विचार करें:

volumes:
  pgdata:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /mnt/ssd/immich-db

अलग फोटो स्टोरेज: बड़े फोटो लाइब्रेरी को HDD पर रखें जबकि डेटाबेस SSD पर रहे:

UPLOAD_LOCATION=/mnt/hdd/immich-photos

डेटाबेस प्रदर्शन ट्यूनिंग

50,000+ फोटो वाले लाइब्रेरी के लिए, PostgreSQL को ट्यून करें:

# In docker-compose.yml, postgres service environment
POSTGRES_SHARED_BUFFERS=256MB
POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
POSTGRES_MAINTENANCE_WORK_MEM=64MB
POSTGRES_CHECKPOINT_COMPLETION_TARGET=0.9
POSTGRES_WAL_BUFFERS=16MB
POSTGRES_DEFAULT_STATISTICS_TARGET=100

मशीन लर्निंग प्रदर्शन

बैच प्रोसेसिंग: एक साथ कई फोटो प्रोसेस करें:

MACHINE_LEARNING_WORKERS=4  # CPU कोर काउंट के साथ मिलाएं

GPU त्वरक: जैसा कि पहले उल्लेख किया गया है, GPU त्वरक ML टास्क के लिए 5-10x स्पीडअप प्रदान करता है।

सुरक्षा सर्वोत्तम प्रथाएँ

प्रमाणिकरण और एक्सेस कंट्रोल

  1. मजबूत पासवर्ड: पासवर्ड मैनेजर का उपयोग करें ताकि जटिल पासवर्ड बनाए और स्टोर करें
  2. दो-कारक प्रमाणिकरण: अगर आपकी संस्करण में समर्थन है तो एडमिन अकाउंट के लिए 2FA सक्षम करें
  3. नियमित एक्सेस समीक्षा: समय-समय पर उपयोगकर्ता अकाउंट्स की समीक्षा करें और अनुपयोगी अकाउंट्स हटाएं

नेटवर्क सुरक्षा

रिवर्स प्रॉक्सी के साथ SSL: कभी भी Immich को HTTPS के बिना इंटरनेट पर एक्सपोज न करें:

# Let's Encrypt के लिए मुफ्त SSL सर्टिफिकेट्स का उपयोग करें
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d photos.yourdomain.com

फायरवॉल कॉन्फ़िगरेशन:

# केवल आवश्यक पोर्ट्स की अनुमति दें
sudo ufw allow 22/tcp    # SSH
sudo ufw allow 80/tcp    # HTTP (HTTPS में रीडायरेक्ट)
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable

VPN या Tailscale: अधिकतम सुरक्षा के लिए, Immich को VPN के माध्यम से एक्सेस करें:

  • सर्वर और डिवाइस पर Tailscale इंस्टॉल करें
  • Tailscale IP (100.x.x.x) के माध्यम से एक्सेस करें
  • कोई पोर्ट सार्वजनिक इंटरनेट पर एक्सपोज न करें

कंटेनर सुरक्षा

नियमित अपडेट: सुरक्षा कमजोरियों को पैच करने के लिए Docker इमेजेस अपडेट रखें

रूटलेस मोड में चलाएं: अतिरिक्त आइसोलेशन के लिए Docker रूटलेस मोड कॉन्फ़िगर करें

संसाधन सीमाएँ: DoS हमलों को रोकने के लिए कंटेनर संसाधनों की सीमा लगाएं:

services:
  immich-server:
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4G

सामान्य समस्याओं का समाधान

अपलोड विफलताएँ

लक्षण: मोबाइल ऐप से फोटो अपलोड नहीं हो रहे हैं

समाधान:

  • सर्वर डिस्क स्पेस का जांच करें: df -h
  • रिवर्स प्रॉक्सी client_max_body_size सेटिंग का सत्यापन करें
  • सर्वर लॉग्स देखें: docker compose logs immich-server
  • सुनिश्चित करें कि मोबाइल ऐप का नवीनतम संस्करण है

मशीन लर्निंग प्रोसेसिंग नहीं हो रही

लक्षण: चेहरा पहचान या सर्च काम नहीं कर रहा है

समाधान:

  • ML कंटेनर स्टेटस का जांच करें: docker compose ps immich-machine-learning
  • ML लॉग्स देखें: docker compose logs immich-machine-learning
  • ML सेवा को रीस्टार्ट करें: docker compose restart immich-machine-learning
  • मॉडल फाइलों के डाउनलोड होने का सत्यापन करें: ls ~/immich/machine-learning/cache/

डेटाबेस कनेक्टिविटी त्रुटियाँ

लक्षण: वेब इंटरफेस डेटाबेस कनेक्टिविटी त्रुटियाँ दिखाता है

समाधान:

  • PostgreSQL कंटेनर चल रहा है इसका सत्यापन करें: docker compose ps immich-postgres
  • डेटाबेस लॉग्स देखें: docker compose logs immich-postgres
  • .env फ़ाइल में सही पासवर्ड होने का सत्यापन करें
  • कनेक्टिविटी का परीक्षण करें: docker exec -it immich-postgres psql -U postgres

धीमा प्रदर्शन

लक्षण: वेब इंटरफेस या सर्च धीमे हैं

समाधान:

  • सिस्टम संसाधनों का जांच करें: CPU, RAM, डिस्क I/O
  • डेटाबेस वैक्यूम चलाएं: VACUUM ANALYZE;
  • सेवाओं को रीस्टार्ट करें: docker compose restart
  • PostgreSQL प्रदर्शन सेटिंग्स की समीक्षा करें
  • हार्डवेयर अपग्रेड का विचार करें (SSD, अधिक RAM)

मोबाइल ऐप सिंक्रनाइज़ नहीं हो रहा

लक्षण: मोबाइल डिवाइस से फोटो बैकअप नहीं हो रहे हैं

समाधान:

  • बैकग्राउंड रिफ्रेश सक्षम है इसका सत्यापन करें (iOS)
  • फॉरग्राउंड सर्विस सक्षम करें (Android)
  • यदि मोबाइल डेटा पर हैं तो WiFi-केवल सेटिंग्स का जांच करें
  • सुनिश्चित करें कि सर्वर URL मोबाइल नेटवर्क से एक्सेस योग्य है
  • ऐप के लिए फोटो एक्सेस के लिए अनुमतियों की समीक्षा करें
  • ऐप कैश क्लियर करें और पुनः लॉगिन करें

अन्य सेवाओं से माइग्रेशन

Google Photos से

अपने डेटा का निर्यात करें:

  1. Google Takeout (takeout.google.com) पर जाएं
  2. Google Photos का चयन करें
  3. निर्यात फॉर्मेट और साइज का चयन करें
  4. आर्काइव्स डाउनलोड करें

Immich में आयात करें:

  1. डाउनलोड किए गए आर्काइव्स को एक्सट्रैक्ट करें
  2. Immich CLI टूल या वेब अपलोड का उपयोग करें
  3. JSON साइडकार फाइलों से मेटाडेटा संरक्षित रहता है
# Immich CLI का उपयोग (रिलीज से इंस्टॉल करें)
immich upload --recursive /path/to/google-photos-export/

iCloud Photos से

निर्यात:

  1. iCloud.com पर जाएं
  2. डाउनलोड करने के लिए फोटो का चयन करें
  3. या iCloud for Windows/Photos ऐप निर्यात का उपयोग करें

आयात: Google Photos के समान, वेब इंटरफेस या CLI टूल के माध्यम से अपलोड करें

स्थानीय स्टोरेज से

एक्सटर्नल लाइब्रेरी फीचर: अपलोड करने के बजाय, Immich को मौजूदा फोटो डायरेक्टरी पर इशारा करें:

  1. एडमिनिस्ट्रेशन > External Libraries पर जाएं
  2. लाइब्रेरी पथ जोड़ें (डॉकर कंटेनर से एक्सेस योग्य होना चाहिए)
  3. Immich फाइलों को कॉपी किए बिना स्कैन और इंडेक्स करता है
  4. महत्वपूर्ण डिस्क स्पेस और समय बचाता है
# In docker-compose.yml, volume mount जोड़ें
volumes:
  - /mnt/existing-photos:/mnt/external-library:ro

समुदाय और समर्थन

आधिकारिक संसाधन

  • GitHub: https://github.com/immich-app/immich
  • दस्तावेज़ीकरण: https://immich.app/docs
  • Discord: वास्तविक समय की मदद के लिए सक्रिय समुदाय
  • Reddit: चर्चा और टिप्स के लिए r/immich

योगदान

Immich ओपन-सोर्स है और योगदान स्वागत करता है:

  • बग रिपोर्ट: GitHub पर विस्तृत इश्यू रिपोर्ट सबमिट करें
  • फीचर रिक्वेस्ट: Discord या GitHub Discussions पर चर्चा करें
  • कोड योगदान: योगदान दिशानिर्देशों का पालन करते हुए पुल रिक्वेस्ट सबमिट करें
  • दस्तावेज़ीकरण: बेहतर उपयोगकर्ता अनुभव के लिए दस्तावेज़ सुधारें
  • अनुवाद: Immich को अपने भाषा में स्थानीयकृत करने में मदद करें

वैकल्पिक उपकरण

अगर Immich आपकी आवश्यकताओं को पूरा नहीं करता है, तो विचार करें:

  • PhotoPrism: अधिक परिपक्व, फीचर-समृद्ध, अलग आर्किटेक्चर
  • Piwigo: पारंपरिक गैलरी-शैली इंटरफेस
  • Nextcloud Photos: बड़े Nextcloud पारिस्थितिकी तंत्र का हिस्सा
  • Photoview: सरल, हल्का वैकल्पिक
  • LibrePhotos: एक और Google Photos वैकल्पिक जिसमें AI फीचर्स हैं

निष्कर्ष

स्व-होस्टिंग Immich एक शक्तिशाली, निजी विकल्प प्रदान करता है वाणिज्यिक क्लाउड फोटो सेवाओं के लिए। जबकि यह प्रारंभिक तकनीकी सेटअप और निरंतर रखरखाव की आवश्यकता होती है, पूर्ण गोपनीयता नियंत्रण, कोई स्टोरेज सीमाएं नहीं, और सब्सक्रिप्शन फीस से मुक्ति के लाभ इसे बहुत से उपयोगकर्ताओं के लिए लाभदायक बनाते हैं।

स्वचालित मोबाइल बैकअप, AI-सक्षम खोज, चेहरा पहचान, और आधुनिक इंटरफेस का संयोजन एक अनुभव बनाता है जो वाणिज्यिक प्रस्तावों के समान है, जबकि आपका डेटा आपकी नियंत्रण में रहता है। चाहे आप एक गोपनीयता उत्साही हों, बड़े फोटो लाइब्रेरी वाले लागत-चेतन उपयोगकर्ता, या हाथों-हाथ अनुभव चाहते हैं, Immich एक आकर्षक समाधान प्रदान करता है।

एक होम सर्वर या VPS के साथ छोटे स्तर से शुरू करें, अपने फोटो लाइब्रेरी के एक उप-सेट के साथ परीक्षण करें, और जैसे-जैसे आप प्रणाली से परिचित होते हैं, धीरे-धीरे माइग्रेट करें। सक्रिय समुदाय और नियमित अपडेट सुनिश्चित करते हैं कि Immich लगातार सुधरता रहेगा और नए फीचर्स जोड़ेगा।

आपके स्मृतियाँ कीमती हैं - उन्हें Immich के साथ नियंत्रित करें।

उपयोगी लिंक