Skip to content

Instantly share code, notes, and snippets.

@suleymanfatih
Last active October 30, 2025 11:13
Show Gist options
  • Select an option

  • Save suleymanfatih/7c2c12fae169e95c25f223e47dd2fd6e to your computer and use it in GitHub Desktop.

Select an option

Save suleymanfatih/7c2c12fae169e95c25f223e47dd2fd6e to your computer and use it in GitHub Desktop.
immich.md

🍓 RASPBERRY PI 4 ÜZERINDE IMMICH KURULUMU VE CLOUDFLARE TUNNEL ILE YAYINLAMA REHBERI

RASPBERRY PI’NIN HAZIRLANMASI

1- i̇şletim sistemini kurun ve güncelleyin

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget

2- diskin tanınması

Terminalde lsblk komutunu çalıştırın.

🧹 3- biçimlendirme (format)

Eğer diskiniz yeni veya içindeki veriler önemli değilse, onu ext4 formatında biçimlendirin. Uyarı: Bu işlem diskteki mevcut tüm verileri siler ...

Örneğin

sudo mkfs.ext4 /dev/sda1 -L immich

📦 4- mount noktası oluşturma

Immich verilerini koymak için bir dizin belirleyelim. Örneğin /

Immich dizinini kök dizinde kullanabiliriz (ya da /mnt/immich de olabilir). komutlar

sudo mkdir /immich
sudo chown -R 1000:1000 /immich

5- diski mount etme

Şimdi diskinizi bu klasöre bağlayalım. geçici olarak mount etmek için

sudo mount /dev/sda1 /immich

6- kalıcı montaj (fstab)

Diskinizin her sistem açılışında otomatik olarak /immich’e mount olmasını istiyoruz. Bunun için fstab dosyasına bir satır eklemeliyiz.

Bilgisini öğrenelim

sudo blkid /dev/sda1

Sonra fstab’ı açalım

sudo nano /etc/fstab

🐳 DOCKER KURULUMU

curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh

ARDINDAN, DOCKER’IN KOMUTLARINI KULLANIRKEN SUDO GEREKMEDEN ÇALIŞTIRMAK IÇIN MEVCUT KULLANICIYI (ÖRN.

Pi ) docker grubuna ekleyin

sudo usermod -aG docker $USER

🔐 Bu gruba ekleme işlemi ancak yeni oturumda aktif olur. yani ya logout/login yapman gerek ya da terminalde

newgrp docker

komutunu yazabilirsin. Bu, terminal oturumunu yeni grup bilgisiyle yeniden başlatır.

DOCKER COMPOSE DA ARTIK DOCKER’IN BIR PARÇASI OLARAK DOCKER COMPOSE KOMUTUYLA KULLANILABILIYOR.

AYRI BIR KURULUM YAPMAMIZA GEREK YOK, ZIRA DOCKER’IN BU KURULUM BETIĞI COMPOSE PLUGIN’I DE IÇERIYOR.

Emin olmak için şunu çalıştırabilirsiniz

docker compose version

⚙️ IMMICH’IN İNDIRILMESI VE YAPILANDIRILMASI

1- proje dizini oluşturma

Öncelikle Immich için bir dizin oluşturalım. Bu dizin, docker-compose dosyasını ve .env yapılandırma dosyasını barındıracak. Genelde /opt altında tutmak ...

Edilir, örneğin

sudo mkdir -p /opt/immich && sudo chown -R $USER:$USER /opt/immich
cd /opt/immich

2- DOCKER COMPOSE DOSYASINI İNDIRME:

Immich ekibi, GitHub üzerinde güncel bir docker-

Compose.yml dosyası sağlıyor. bunu doğrudan indirip kullanacağız. komut

wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

3- örnek ortam değişkeni dosyasını i̇ndirme (.env)

DOCKER COMPOSE DOSYASI, BAZI YAPILANDIRMA

değerlerini .env adlı bir dosyadan okur. Immich bu dosyanın bir ...

Bizim ihtiyaçlarımıza göre düzenleyeceğiz

wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

📝 ## 4- .env dosyasını düzenleme 📝 > Şimdi en kritik kısımlardan biri: .env dosyasını kendi sistemimize göre ...

Düzenleyici ile açın

nano .env

Videodaki değişiklikleri yaptıktan sonra dosyayı kaydedip kapatın (Nano’da Ctrl+O Enter, ... Özetle, en önemli değişiklikler UPLOAD_LOCATION (harici diske yol) ve DB_PASSWORD ... Immich’in verileri nereye koyacağı ve veritabanına nasıl bağlanacağıyla ilgiliydi. Geri ... varsayılanıyla bırakıldı.

▶️ 1- DOCKER COMPOSE ILE IMMICH’I BAŞLATMA: HER ŞEY HAZIRSA, ŞIMDI “SIHIRLI AN” GELDI. BULUNDUĞUNUZ

Dizinde ( /opt/immich ) aşağıdaki komutu çalıştırın

docker compose up -d

🌐 IMMICH’I İNTERNETE AÇMA (CLOUDFLARE TUNNEL ILE)

🧼 TEMIZ KURULUM

1. statik binary’yi indir

curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 -o cloudflared

(📌 arm64 = Raspberry Pi OS 64-bit. Eğer 32-bit isen ...

2. uygulanabilir yap ve sistem dizinine taşı

chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

Şimdi which cloudflared dersen /usr/local/bin/cloudflared görmelisin.

3. versiyonu test et

cloudflared --version

Çıktı şöyle bir şey olmalı: cloudflared version 2024.x.x (built xxxx)

4-cloudflare ile kimlik doğrulama

Şimdi Raspberry Pi’mizi Cloudflare hesabımıza tanıtacağız.

Yani cloudflared istemcisini, cloudflare’de tünel oluşturma izniyle ilişkilendireceğiz. bunun için

cloudflared tunnel login

5- tünel oluşturma

Cloudflare’de bir tünel tanımlaması yapalım. Bu tünel, bizim Pi’daki Immich

Servisiyle cloudflare arasında sanal bir bağlantı kimliği olacak. terminalde

cloudflared tunnel create immich-tunel

6- alan adını tünele yönlendirme

🌐 CLOUDFLARE TUNNEL, SIZIN BELIRLEDIĞINIZ BIR ALT ALAN ADINA GELEN

📡 istekleri tünel üzerinden sizin makinenize iletebiliyor. Bunun için Cloudflare DNS’de ... oluşturacak komutu verelim. Diyelim ki alan adınız evimiz.com ve Immich’i

Immich.evimiz.com subdomain’i üzerinden erişilebilir yapmak istiyorsunuz. terminalde

cloudflared tunnel route dns immich-tunel immich.evimiz.com

7- Tüneli Başlatıp Test Etme: Şimdi tüneli elle başlatıp Immich’e ...

Config dosyası vs yapmadık, doğrudan komutla çalıştıracağız

cloudflared tunnel run --url http://localhost:2283 immich-tunel

8- cloudflared için konfigürasyon dosyası oluşturma

Cloudflared’i servis olarak arka planda sürekli çalıştırmak ve her reboot’ta otomatik başlatmak istiyoruz. Bunun için config dosyası yazacağız.

Config Dosyasını Oluşturalım

nano ~/.cloudflared/config.yml
tunnel: immich-tunel
credentials-file: /home/pi/.cloudflared/3f9c5f6b-xxxx-yyyy-zzzz-1234567890ab.json

ingress:
  - hostname: immich.evimiz.com
    service: http://localhost:2283
  - service: http_status:404

Dosyayı kaydedip kapatın. Bu config ile cloudflared hangi tüneli açacağını ... artık biliyor.

1- cloudflared’i servis olarak kurma

Cloudflare istemcisi, kurulumu kolaylaştırmak için bir

Komut sunuyor. terminalde

sudo cloudflared --config /home/pi/.cloudflared/config.yml service install

▶️ 2- servisi etkinleştirme ve başlatma

Şimdi oluşturulan cloudflared servisinin otomatik başlaması için enable edelim ve hemen başlatalım

sudo systemctl enable cloudflared
sudo systemctl start cloudflared

Birinci komut, systemd üzerinde cloudflared servisini her boot’ta çalışacak şekilde ...

İkinci komut da anında başlatır . status ile durumuna bakabilirsiniz

systemctl status cloudflared
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment