Telefonunuzdaki binlerce fotoğrafın nerede saklandığını hiç düşündünüz mü? Çoğumuz için cevap belli: Google Fotoğraflar, iCloud ya da bir başka büyük şirketin sunucuları. Bu servisler pratik olsa da, en özel anılarınızın başka birinin veri merkezinde durması, ücretsiz kotanın dolduğunda gelen ödeme uyarıları ve fotoğraflarınızın yapay zeka modellerini eğitmek için kullanılabileceği ihtimali giderek daha fazla insanı rahatsız ediyor. İşte tam bu noktada Immich devreye giriyor. Immich, telefonunuzdaki fotoğraf ve videoları tıpkı Google Fotoğraflar gibi otomatik olarak yedekleyen, ancak bunu tamamen sizin kontrolünüzdeki bir sunucuda yapan açık kaynak bir platformdur.
Bir kıdemli sistem yöneticisi olarak müşterilerime sık sık şunu söylüyorum: veriniz kendi sunucunuzdaysa, kuralları siz koyarsınız. Immich bu felsefeyi fotoğraf yönetimine taşıyor. Mobil uygulaması Google Fotoğraflar'a çok benzer bir deneyim sunarken, arka planda çalışan yapay zeka motoru yüzleri tanıyor, nesneleri etiketliyor ve "geçen yaz denizde çektiğim fotoğraflar" gibi doğal aramalar yapmanıza izin veriyor. Üstelik tüm bunlar için aylık abonelik ödemiyorsunuz; sadece bir sunucu ve biraz depolama alanı yeterli. Bu rehberde Immich'in ne olduğunu, Docker Compose ile nasıl kurulduğunu, mobil uygulamanın nasıl bağlandığını ve albüm paylaşımının nasıl çalıştığını adım adım anlatacağım.
Immich Nedir ve Neden Kendi Sunucunuzda Barındırmalısınız?#
Immich, 2022'de başlayan ve kısa sürede açık kaynak dünyasının en hızlı büyüyen projelerinden biri haline gelen, kendi kendine barındırılan (self-hosted) bir fotoğraf ve video yönetim platformudur. Amacı basit ama iddialı: Google Fotoğraflar'ın kullanıcı deneyimini birebir yakalamak, ancak veri egemenliğini kullanıcıya geri vermek. Bunu yaparken de modern bir mimari kullanıyor; PostgreSQL veritabanı, Redis önbelleği ve makine öğrenmesi için ayrı bir servis, hepsi Docker konteynerleri içinde birlikte çalışıyor.
Kendi sunucunuzda fotoğraf barındırmanın somut avantajları var. Birincisi maliyet: Google, 15 GB ücretsiz alanın ötesinde her ay para istiyor ve 2 TB fotoğraf arşivi olan biri için bu yıllık ciddi bir rakama ulaşıyor. Kendi sunucunuzda ise sabit diskinizin boyutu sınırınızdır. İkincisi gizlilik: fotoğraflarınız hiçbir üçüncü tarafın erişemeyeceği bir yerde durur, kimse yüzünüzü profillemek veya reklam hedeflemek için kullanamaz. Üçüncüsü ise özgürlük: istediğiniz an tüm arşivi indirebilir, taşıyabilir veya silebilirsiniz; hiçbir "hesabınız askıya alındı" mesajıyla anılarınızı kaybetmezsiniz. Immich'i bir VDS sunucu veya güçlü bir sanal sunucu üzerinde çalıştırmak, bu bağımsızlığı elde etmenin en pratik yoludur.
Immich'in Öne Çıkan Özellikleri#
Immich'i basit bir dosya deposundan ayıran şey, üzerine inşa edilmiş akıllı özelliklerdir. Bunların başında otomatik yedekleme gelir: mobil uygulamayı bir kez yapılandırdıktan sonra, çektiğiniz her fotoğraf ve video, telefonunuz Wi-Fi'ye bağlandığında sessizce sunucunuza yüklenir. Uygulama, arka planda hangi dosyaların yüklendiğini takip eder ve aynı dosyayı iki kez göndermez.
Yapay zeka özellikleri Immich'in en etkileyici tarafıdır. Makine öğrenmesi servisi, yüklenen her görselde çalışır ve şunları yapar:
- Yüz tanıma: Fotoğraflardaki insan yüzlerini tespit eder, benzer yüzleri gruplar. Bir yüze isim verdiğinizde, o kişinin tüm fotoğraflarına tek tıkla ulaşırsınız.
- Nesne ve sahne tanıma: "araba", "plaj", "kedi", "doğum günü pastası" gibi kavramları otomatik etiketler. Arama kutusuna Türkçe veya İngilizce yazarak bu içerikleri bulabilirsiniz.
- CLIP tabanlı akıllı arama: Görselleri anlamsal olarak indeksler, böylece "karlı dağ manzarası" gibi tarif ettiğiniz sahneleri, hiç etiketlemeseniz bile bulur.
- Otomatik anı üretimi: "Bir yıl önce bugün" gibi geçmişe dönük anı koleksiyonları oluşturur.
Bunların yanında EXIF verisiyle konum haritası, çoklu kullanıcı desteği, harici kitaplık tarama (mevcut fotoğraf klasörlerinizi sunucuda tarayarak içeri alma) ve mükerrer fotoğraf tespiti gibi güçlü araçlar da vardır. Tüm bu yapay zeka işlemleri sunucunuzda yerel olarak çalışır; hiçbir görsel dışarıya gönderilmez.
Immich ve Google Fotoğraflar Karşılaştırması#
Karar vermeden önce iki platformu yan yana koymak faydalı olur. Aşağıdaki tablo, günlük kullanımda önem taşıyan başlıkları özetliyor.
| Özellik | Immich (Self-Hosted) | Google Fotoğraflar |
|---|---|---|
| Depolama sınırı | Diskiniz kadar | 15 GB ücretsiz, sonrası ücretli |
| Aylık ücret | Yok (sunucu maliyeti hariç) | 2 TB için sürekli abonelik |
| Veri sahipliği | Tamamen sizde | Google'ın sunucusunda |
| Yüz tanıma | Var (yerel AI) | Var |
| Akıllı arama | Var (CLIP) | Var |
| Gizlilik | Verileriniz dışarı çıkmaz | Veriler işlenir/profillenir |
| Kurulum zorluğu | Orta (Docker gerekir) | Yok (hazır servis) |
| Bakım sorumluluğu | Sizde | Google'da |
Görüldüğü gibi Immich, kontrol ve gizlilik konusunda açık ara öndedir; karşılığında ise kurulum ve bakım sorumluluğunu üstlenmeniz gerekir. Bu sorumluluk sandığınızdan hafiftir; düzgün bir kurulumdan sonra sistem büyük ölçüde kendi kendine çalışır. Yine de sunucu yönetimiyle uğraşmak istemiyorsanız, sunucu yönetimi hizmetimizle bu yükü bize devredebilirsiniz.
Docker Compose ile Immich Kurulumu#
Immich, resmi olarak yalnızca Docker üzerinden dağıtılır ve bu iyi bir şeydir; çünkü tüm bileşenler tek bir yapılandırma dosyasıyla, birbiriyle uyumlu sürümlerde çalışır. Kuruluma başlamadan önce sunucunuzda Docker ve Docker Compose'un yüklü olduğundan emin olun. Ubuntu üzerinde kurulum şöyle yapılır:
# Docker ve Compose eklentisini kur
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Oturumu yenilemek için çıkıp tekrar girin
docker compose version
Ardından Immich için ayrı bir dizin oluşturup resmi örnek dosyaları indirin:
mkdir -p /opt/immich && cd /opt/immich
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
Şimdi en önemli adım, .env dosyasını kendi ortamınıza göre düzenlemek. Bu dosya fotoğrafların nereye kaydedileceğini ve veritabanı parolasını belirler:
# Fotoğraf ve videoların saklanacağı dizin
UPLOAD_LOCATION=/opt/immich/library
# Veritabanı verisinin saklanacağı dizin
DB_DATA_LOCATION=/opt/immich/postgres
# Güçlü ve benzersiz bir parola belirleyin
DB_PASSWORD=cok-guclu-bir-parola-buraya
# Zaman dilimini ayarlayın (anı tarihleri için önemli)
TZ=Europe/Istanbul
# Immich sürümü (release olarak bırakmak en güvenlisidir)
IMMICH_VERSION=release
DB_PASSWORD alanına mutlaka rastgele ve güçlü bir parola girin; bunu openssl rand -base64 24 komutuyla üretebilirsiniz. Yapılandırma hazır olduğunda konteynerleri başlatın:
docker compose up -d
İlk çalıştırmada makine öğrenmesi modelleri indirileceği için birkaç dakika bekleyebilirsiniz. Konteynerlerin durumunu docker compose ps ile kontrol edin; hepsi healthy göründüğünde Immich hazırdır. Artık tarayıcıdan http://sunucu-ip:2283 adresine giderek yönetici hesabınızı oluşturabilirsiniz.
Eğer birden fazla Docker uygulamasını görsel bir arayüzden yönetmek istiyorsanız, konteynerlerinizi tek panelden izlemek için Portainer kurmanızı tavsiye ederim; Immich yığınını Portainer üzerinden başlatmak ve güncellemek oldukça kolaylaşır.
Alan Adı ve HTTPS ile Güvenli Erişim#
Immich'e IP adresi üzerinden erişmek geliştirme için yeterli olsa da, mobil uygulamanın güvenli çalışması ve dışarıdan erişim için bir alan adı ve HTTPS sertifikası kullanmanız gerekir. Örneğin foto.alanadiniz.com gibi bir alt alan adını sunucunuza yönlendirebilirsiniz. Bunun için bir A kaydı oluşturmanız yeterli:
foto.alanadiniz.com. IN A 203.0.113.10
Sonrasında Nginx'i ters proxy olarak yapılandırıp Immich'i 443 portundan yayınlayabilirsiniz. Aşağıdaki yapılandırma, büyük fotoğraf yüklemelerine izin verecek şekilde ayarlanmıştır:
server {
listen 443 ssl http2;
server_name foto.alanadiniz.com;
ssl_certificate /etc/letsencrypt/live/foto.alanadiniz.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/foto.alanadiniz.com/privkey.pem;
# Video ve büyük fotoğraf yüklemeleri için sınırı yükselt
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
client_max_body_size değerini yüksek tutmak önemlidir; aksi halde uzun videolarınız "413 Request Entity Too Large" hatasıyla reddedilir. Ücretsiz ve otomatik yenilenen bir Let's Encrypt sertifikası kullanabileceğiniz gibi, kurumsal bir güvenlik istiyorsanız SSL sertifikası hizmetimizle daha güçlü bir doğrulama seçeneğine de geçebilirsiniz. Sunucunuzu dışarıya açtığınızda kaba kuvvet saldırılarına karşı WAF ve DDoS koruma çözümlerini de değerlendirmenizi öneririm.
Mobil Uygulamayı Bağlamak ve Otomatik Yedekleme#
Immich'in kalbi mobil uygulamadır. Uygulamayı Google Play veya App Store'dan indirdikten sonra ilk açılışta sizden sunucu adresini ister. Buraya HTTPS ile yayınladığınız alan adını, örneğin https://foto.alanadiniz.com yazarsınız. Ardından yönetici panelinden oluşturduğunuz kullanıcı adı ve parolayla giriş yaparsınız.
Otomatik yedeklemeyi açmak için uygulamada yedekleme bölümüne gidip yüklemek istediğiniz albümleri seçersiniz. Genellikle telefonun ana "Kamera" albümünü seçmek yeterlidir. Yedekleme ayarlarında dikkat etmeniz gereken birkaç nokta var:
- Yalnızca Wi-Fi'de yükleme: Mobil veriyi tüketmemek için bu seçeneği açık tutun.
- Arka planda yedekleme: Telefon kilitliyken bile yüklemenin devam etmesini sağlar. iOS'ta bu özellik biraz daha kısıtlıdır; en güvenilir yedekleme uygulama açıkken olur.
- Orijinal kaliteyi koru: Immich sıkıştırma yapmaz, fotoğraflarınız çekildiği kalitede saklanır.
İlk yedekleme, arşivinizin boyutuna göre saatler sürebilir; binlerce fotoğrafı ilk kez gönderirken telefonu şarjda ve Wi-Fi'de bırakmanız en iyisidir. Bu ilk toplu yükleme tamamlandıktan sonra sistem yalnızca yeni çekilen fotoğrafları gönderdiği için çok hafif çalışır. Uygulamanın üst kısmındaki durum göstergesi, kaç dosyanın kaldığını ve senkronizasyonun tamamlandığını gösterir.
Yüz Tanıma ve Yapay Zeka Aramasını Kullanmak#
Fotoğraflarınız yüklendikten sonra Immich'in makine öğrenmesi servisi arka planda çalışmaya başlar. Bu işlem sunucunuzun gücüne bağlı olarak biraz zaman alır; on binlerce fotoğrafı olan biri için ilk indeksleme bir gece sürebilir. İşlem bittiğinde web arayüzündeki "Kişiler" bölümünde otomatik olarak gruplanmış yüzleri görürsünüz.
Bir yüz grubuna tıklayıp isim atadığınızda, Immich o kişinin tüm fotoğraflarını birbirine bağlar. Bazen sistem aynı kişiyi iki farklı grup olarak algılayabilir; bu durumda grupları birleştirebilir veya yanlış eşleşen bir yüzü gruptan çıkarabilirsiniz. Zamanla model, sizin düzeltmelerinizle daha isabetli hale gelir.
Akıllı arama ise günlük kullanımda en çok işe yarayan özelliktir. Arama kutusuna yazdığınız bir ifade, dosya adıyla değil, görselin içeriğiyle eşleştirilir. Örneğin şu tür aramalar çalışır:
# Web arayüzündeki arama kutusuna yazabileceğiniz örnekler
"deniz kenarında gün batımı"
"kar altında araba"
"doğum günü pastası"
"beyaz kedi"
Bu aramalar CLIP adı verilen bir modelin görselleri anlamsal olarak indekslemesi sayesinde çalışır. Yani bir fotoğrafı hiç etiketlememiş olsanız bile, içeriğini tarif ederek bulabilirsiniz. Makine öğrenmesi servisi kaynak tükettiği için, çok sayıda kullanıcı ve büyük arşivlerde daha fazla CPU ve RAM'e sahip bir VDS sunucu tercih etmek performansı belirgin şekilde iyileştirir.
Albüm Oluşturma ve Fotoğraf Paylaşma#
Immich sadece kişisel bir arşiv değil, aynı zamanda bir paylaşım aracıdır. Web arayüzünde veya mobil uygulamada fotoğrafları seçip yeni bir albüm oluşturabilirsiniz. Albümler, belirli bir tatili, etkinliği veya projeyi bir araya toplamak için idealdir. Bir albümü oluşturduktan sonra ona başka kullanıcıları davet edebilir, böylece ailenizin herkesi kendi telefonundan aynı düğün albümüne fotoğraf ekleyebilir.
Dışarıdaki insanlarla paylaşım için "paylaşılan bağlantı" özelliği vardır. Bu, Immich hesabı olmayan birinin bile albümünüzü görüntülemesini sağlar. Paylaşılan bağlantıları güvenli tutmak için birkaç seçenek sunulur:
- Parola koruması: Bağlantıyı açan kişiden bir parola istenir.
- Son kullanma tarihi: Bağlantı belirli bir süre sonra otomatik geçersiz olur.
- İndirmeyi engelleme: Ziyaretçilerin yalnızca görüntülemesine izin verir, indirmelerini engeller.
Bu esneklik, örneğin bir düğün fotoğrafçısının müşterisine tüm albümü güvenli bir bağlantıyla teslim etmesi veya bir ailenin tatil fotoğraflarını akrabalarıyla paylaşması için çok kullanışlıdır. Tüm bu paylaşımlar sizin sunucunuz üzerinden gittiği için, üçüncü tarafların içeriğe erişimi yoktur.
Immich'e ek olarak dosya, takvim ve doküman senkronizasyonu da istiyorsanız, daha genel amaçlı bir bulut için Nextcloud kurabilir ve iki uygulamayı aynı sunucuda birlikte çalıştırabilirsiniz. Bu tür kendi kendine barındırılan uygulamaların hepsi için hazır kurulum şablonlarına App Center üzerinden göz atabilirsiniz.
Güncelleme, Yedekleme ve Bakım#
Immich hızlı gelişen bir proje olduğu için düzenli güncelleme almanız faydalıdır. Docker Compose ile güncelleme oldukça basittir; sadece yeni imajları çekip konteynerleri yeniden başlatırsınız:
cd /opt/immich
docker compose pull
docker compose up -d
Ancak güncelleme yapmadan önce her zaman sürüm notlarını okuyun; bazı büyük sürümlerde veritabanı geçişleri olabilir. Kritik olan şey ise yedeklemedir. Immich'te iki tür veri yedeklenmelidir: fotoğrafların bulunduğu UPLOAD_LOCATION dizini ve PostgreSQL veritabanı. Fotoğraflar zaten dosya sistemindedir, ancak veritabanı albüm, kişi ve arama indeksi bilgilerini tutar. Veritabanını düzgün yedeklemek için pg_dump kullanın:
docker exec -t immich_postgres pg_dumpall --clean --if-exists \
--username=postgres | gzip > immich-db-$(date +%F).sql.gz
Bu komutu bir cron görevine bağlayarak her gece otomatik yedek alabilirsiniz. Fotoğraf dizinini de düzenli olarak harici bir konuma kopyalamak için rsync idealdir. Kendi sunucunuzu yönetiyor olsanız bile, bağımsız ve otomatik bir kopya için yedekleme hizmetimizi katman olarak eklemenizi öneririm; çünkü tek bir sunucuda tek bir kopya, gerçek bir yedekleme stratejisi değildir. Anılarınızın değeri düşünüldüğünde, üç kopya, iki farklı ortam, bir de sunucu dışı kopya kuralına uymak en akıllıca yaklaşımdır. Bir alan adına henüz sahip değilseniz domain sayfamızdan uygun bir ad kaydedebilir, altyapınız için ise güçlü bir sunucu seçebilirsiniz.
Sıkça Sorulan Sorular#
Immich tamamen ücretsiz mi?#
Evet, Immich açık kaynak bir yazılımdır ve AGPL lisansıyla ücretsiz dağıtılır. Yazılımın kendisi için hiçbir lisans ücreti ödemezsiniz. Tek maliyetiniz, uygulamayı çalıştıracağınız sunucu ve depolama alanıdır. Ekip, isteğe bağlı satın alınabilen bir destek lisansı da sunar, ancak bu tamamen gönüllüdür ve yazılımın hiçbir özelliğini kilitlemez.
Immich çalıştırmak için ne kadar güçlü bir sunucu gerekir?#
Küçük bir kişisel arşiv için 2 çekirdekli işlemci ve 4 GB RAM yeterli olur, ancak yapay zeka özellikleri kaynak tükettiği için rahat bir deneyim için en az 4 çekirdek ve 6-8 GB RAM öneririm. Asıl belirleyici faktör depolama alanıdır; fotoğraf ve video arşiviniz zamanla büyüyeceği için diski geniş tutmanız gerekir. Yüz tanıma ve indeksleme işlemleri geçici olarak CPU'yu zorlar, bu yüzden çok kullanıcılı kurulumlarda daha güçlü bir yapılandırma tercih edilmelidir.
iPhone'da otomatik yedekleme düzgün çalışır mı?#
iOS'ta arka plan yedeklemesi Android'e göre biraz daha kısıtlıdır, çünkü Apple uygulamaların arka planda çalışmasını sıkı kurallarla sınırlar. En güvenilir yedekleme, uygulama açık ve telefon şarjdayken gerçekleşir. Immich uygulaması arka plan yenileme iznini kullanır, ancak yine de düzenli olarak uygulamayı açıp senkronizasyonu kontrol etmeniz önerilir. Bu davranış Immich'e özgü değildir; aynı kısıtlama iOS'taki tüm benzer uygulamalar için geçerlidir.
Fotoğraflarım Immich sunucusu dışına gönderiliyor mu?#
Hayır, Immich'in en önemli özelliği tüm işlemlerin sizin sunucunuzda yerel olarak yapılmasıdır. Yüz tanıma, nesne etiketleme ve akıllı arama için kullanılan yapay zeka modelleri sunucunuza indirilir ve orada çalışır. Hiçbir fotoğraf veya video herhangi bir dış servise gönderilmez. Bu, Immich'i büyük bulut sağlayıcılarından ayıran temel gizlilik avantajıdır.
Google Fotoğraflar'dan Immich'e nasıl geçiş yaparım?#
Google'ın Google Takeout aracını kullanarak tüm fotoğraf arşivinizi bir arşiv dosyası olarak indirebilirsiniz. İndirdiğiniz dosyaları çıkardıktan sonra, Immich'in komut satırı yükleme aracı olan CLI'yi kullanarak toplu olarak sunucunuza aktarabilirsiniz. Takeout arşivinde gelen JSON meta veri dosyaları sayesinde çekim tarihleri ve konum bilgileri de büyük ölçüde korunur. Geçiş, arşiv büyüklüğüne göre biraz zaman alsa da tek seferlik bir işlemdir ve sonrasında tüm anılarınız kendi kontrolünüzde olur.
Immich üretim ortamında güvenilir mi?#
Immich aktif olarak geliştirilen olgun bir projedir ve on binlerce kişi tarafından günlük olarak kullanılmaktadır. Yine de proje ekibi, kararlı sürümlere geçilene kadar tek yedeğe güvenmemeniz gerektiğini açıkça belirtir. Bu, aslında her sistem için geçerli olan sağduyulu bir tavsiyedir. Düzenli veritabanı yedeği alır ve fotoğraf dizinini sunucu dışına kopyalarsanız, Immich'i günlük fotoğraf arşiviniz olarak güvenle kullanabilirsiniz.
Kapanış#
Immich, fotoğraflarınızın kontrolünü büyük teknoloji şirketlerinden geri almanın en pratik yollarından biridir. Google Fotoğraflar'ın tanıdık deneyimini sunarken, otomatik yedekleme, yerel yapay zeka ile yüz ve nesne tanıma, akıllı arama ve esnek albüm paylaşımı gibi güçlü özellikleri kendi sunucunuzda çalıştırmanıza imkan verir. Docker Compose sayesinde kurulumu birkaç komuta iner, bir alan adı ve SSL ile de her yerden güvenle erişebilirsiniz. Anılarınız artık başkasının kotasına ve gizlilik politikasına bağlı olmaz.
Kendi fotoğraf bulutunuzu kurmaya hazırsanız, Clou.TR olarak size uçtan uca destek veriyoruz. Immich'i sorunsuz çalıştıracak güçlü bir VDS sunucu veya sanal sunucu seçebilir, teknik yükü üstlenmemizi istiyorsanız sunucu yönetimi hizmetimizden yararlanabilir, arşivinizi güvence altına almak için yedekleme çözümümüzü ekleyebilirsiniz. Kurulum, alan adı ve güvenlik konularında yardıma ihtiyaç duyarsanız ekibimiz her adımda yanınızda. Verinize sahip çıkın, anılarınızı kendi bulutunuzda saklayın.