Kurulum öncesi mimari ve gereksinimler
- Ubuntu 24.04, Docker Engine ve Compose plugin
- En az 4 GB RAM; büyük kütüphane ve ML için daha fazla
- Orijinaller için yedekli ve kapasitesi planlanmış disk
- photos.example.com DNS kaydı
Ubuntu üzerinde resmî Docker Compose yöntemiyle Immich kurun; fotoğraf depolama yolları, PostgreSQL, mobil yedekleme, Nginx SSL, NVIDIA makine öğrenmesi, veritabanı yedeği ve geri yüklemeyi tamamlayın.

Ubuntu üzerinde resmî Docker Compose yöntemiyle Immich kurun; fotoğraf depolama yolları, PostgreSQL, mobil yedekleme, Nginx SSL, NVIDIA makine öğrenmesi, veritabanı yedeği ve geri yüklemeyi tamamlayın. Komutlar kopyalanabilir biçimde verilmiştir; örnek alan adları ve parolalar çalıştırılmadan önce kendi değerlerinizle değiştirilmelidir.
sudo 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.envUPLOAD_LOCATION=/srv/immich/library
DB_DATA_LOCATION=/srv/immich/postgres
IMMICH_VERSION=release
DB_PASSWORD=SADECE_HARF_VE_RAKAMDAN_OLUSAN_GUCLU_PAROLA
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
TZ=Europe/Istanbulsudo mkdir -p /srv/immich/library /srv/immich/postgres
sudo docker compose config
sudo docker compose up -d
sudo docker compose ps
curl -I http://127.0.0.1:2283nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 nvidia-smi
sudo docker compose exec immich-machine-learning nvidia-smisudo docker compose exec -T database pg_dumpall --clean --if-exists --username=postgres | gzip > immich-db-$(date +%F).sql.gz
gzip -t immich-db-$(date +%F).sql.gz
sha256sum immich-db-$(date +%F).sql.gzsudo rsync -aHAX --delete /srv/immich/library/ /mnt/uzak-yedek/immich-library/
sudo rsync -aHAX /opt/immich/ /mnt/uzak-yedek/immich-config/cd /opt/immich
sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --since 10m --tail 200sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/photos.example.com > /dev/null <<'NGINX'
server {
listen 80;
listen [::]:80;
server_name photos.example.com;
client_max_body_size 10G;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
location / {
proxy_pass http://127.0.0.1:2283;
proxy_http_version 1.1;
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_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
NGINX
sudo ln -s /etc/nginx/sites-available/photos.example.com /etc/nginx/sites-enabled/photos.example.com
sudo nginx -t
sudo systemctl reload nginxsudo certbot --nginx -d photos.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://photos.example.com
openssl s_client -connect photos.example.com:443 -servername photos.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates| Belirti / Symptom | Kök neden ve çözüm / Root cause and fix |
|---|---|
| Server offline/version unknown | Sunucu ve mobil uygulama sürümü, reverse proxy WebSocket/header ayarları ve /api erişimi kontrol edilir. |
| ML işi sürekli başarısız | Model cache izinleri, GPU runtime, sürücü sürümü ve makine öğrenmesi container logu incelenir. |
| Fotoğraflar görünmüyor | UPLOAD_LOCATION mount noktası, disk mount sırası, dosya izinleri ve library repair görevleri kontrol edilir. |
| Güncellemeden sonra DB açılmıyor | Release notundaki PostgreSQL/VectorChord migration adımı uygulanır; veritabanı yedeği olmadan volume silinmez. |
Evet; fakat örnek değerler değiştirilmeden, erişim sınırları uygulanmadan ve geri yükleme testi yapılmadan üretime alınmamalıdır.
Minimum değer yalnız kurulumun açılması içindir. Eş zamanlı kullanıcı, veri büyümesi ve arka plan işleri ölçülerek kaynak payı bırakılmalıdır.
Evet. SSL modu Full (strict), doğru origin sertifikası ve WebSocket/gerçek IP başlıkları uygulamanın gereksinimine göre ayarlanmalıdır.
Major sürümler otomatik güncellenmemelidir. Sürüm notu, veritabanı migration bilgisi, yedek ve geri dönüş imajı kontrol edilmelidir.
Veritabanı, yüklenen dosyalar, volume verileri, yapılandırma, şifreleme anahtarları ve kullanılan sürüm etiketi aynı geri dönüş setinde tutulmalıdır.
Web paneli ve standart iş yükleri için NVMe VPS yeterli olabilir. Model inference, OCR hızlandırma veya video transcoding varsa uygun GPU gerekir.
Ubuntu üzerinde resmî Docker Compose yöntemiyle Immich kurun; fotoğraf depolama yolları, PostgreSQL, mobil yedekleme, Nginx SSL, NVIDIA makine öğrenmesi, veritabanı yedeği ve geri yüklemeyi tamamlayın.