Language: uz
Immich: VPS’da foto va videolar uchun shaxsiy bulut yaratish
Immich — fotosurat va videolarni saqlash hamda avtomatik yuklash uchun self-hosted xizmat. Unda mobil ilovalar, web-interfeys, albomlar, aqlli qidiruv va yuzni tanish funksiyalari bor, kutubxona esa siz tanlagan serverda qoladi.
Quyida Immich talablari, Ubuntu’da Docker Compose bilan o‘rnatish, HTTPS’ni sozlash, telefonni ulash va tashqi zaxira nusxalarini ko‘rib chiqamiz.
Immich olti bosqichda
- Yetarli RAM va disk hajmiga ega Linux VPS yarating.
- Masalan,
photos.example.comsubdomenini server IP manziliga yo‘naltiring. - Docker’ni o‘rnating va Immich’ning rasmiy konfiguratsiyasini yuklab oling.
- Media kutubxonasi va ma’lumotlar bazasi yo‘llarini ko‘rsating, so‘ng konteynerlarni ishga tushiring.
- Ichki portni yoping va HTTPS’ni yoqing.
- Mobil ilovani o‘rnating va tashqi zaxira nusxasini sozlang.
Immich nima?
Immich — shaxsiy foto va video kutubxonangizni boshqarish uchun ochiq kodli dastur. Fotosuratlar vaqt jadvalida ko‘rinadi, albomlarga guruhlanadi, qidiruv orqali topiladi va telefondan serverga avtomatik yuklanadi.
Oddiy bulutli foto xizmatidan asosiy farqi — server tomonini to‘liq nazorat qilishdir. Fayllar VPS yoki uy serveringizda saqlanadi, ammo bo‘sh joy, yangilanishlar, xavfsizlik va zaxira nusxalari uchun egasining o‘zi javob beradi.
| Parametr | Bulutli foto xizmati | Immich |
|---|---|---|
| Fayllar qayerda saqlanadi | Provayder infratuzilmasida | Sizning serveringizda |
| Xizmat ko‘rsatish | Provayder bajaradi | Egasi bajaradi |
| Xarajatlar | Saqlash hajmiga asoslangan reja | VPS, disk hajmi va zaxira nusxalari |
Immich’ning o‘zi zaxira nusxasi emas. Fotosuratlar faqat bitta VPS’da bo‘lsa, disk nosozligi yoki tasodifiy o‘chirish arxivni yo‘q qilishi mumkin.
Immich’ning asosiy imkoniyatlari
- Avtomatik yuklash. Android va iOS ilovalari tanlangan albomlardan fotosurat va videolarni yuklaydi. Sukut bo‘yicha Wi-Fi ishlatiladi, avvaldan mavjud fayllar esa checksum asosida o‘tkazib yuboriladi.
- Aqlli qidiruv. Xizmat odamlar, joylashuv, sana, kamera, rasmdagi matn va kontent tavsifi bo‘yicha qidirishi mumkin. Yuzlar guruhlanadi va ularga nom berish mumkin.
- Albomlar va ulashish. Immich bir nechta foydalanuvchi, umumiy albomlar, hamkor bilan ulashish hamda parol va amal qilish muddati bo‘lgan ochiq havolalarni qo‘llab-quvvatlaydi.
- Xarita va metama’lumotlar. Immich EXIF ma’lumotlarini o‘qiydi, fotosurat olingan joyni ko‘rsatadi, xotiralar yaratadi va sevimlilar, arxiv hamda tashqi kutubxonalarni qo‘llab-quvvatlaydi.
Machine learning dastlabki import vaqtida CPU va RAM’ga eng katta yukni tushiradi. Eskizlar va indekslar yaratilgach, kundalik resurs sarfi odatda kamayadi.
Immich serveriga qo‘yiladigan talablar
Joriy versiyalar uchun rasmiy talablar:
- 64 bitli Linux yoki Unix-like tizim;
- kamida 2 ta CPU yadrosi, 4 ta yadro tavsiya etiladi;
- kamida 6 GB RAM, 8 GB tavsiya etiladi;
docker composeplagini bilan Docker Engine;- PostgreSQL ma’lumotlar bazasi uchun mahalliy SSD;
- asl fayllar, eskizlar va transkodlangan videolar uchun joy.
Machine learning funksiyalari o‘chirilsa, Immich 4 GB RAM’li serverda ham ishlashi mumkin. Yuzni tanish va aqlli qidiruv uchun boshidanoq 8 GB tanlagan ma’qul.
Eskizlar va transkodlangan fayllar media kutubxonasi hajmiga o‘rtacha 10–20% qo‘shadi. 200 GB’lik arxiv uchun kamida 240–260 GB ajrating. DB_DATA_LOCATION ma’lumotlar bazasi katalogi tarmoq diskida emas, mahalliy SSD’da bo‘lishi kerak.
Amaliy boshlang‘ich konfiguratsiya: 4 vCPU, 8 GB RAM, Ubuntu 24.04 LTS va manba kutubxonadan 20–30% kattaroq SSD. Alohida grafik karta shart emas, lekin katta arxivni qayta ishlashni tezlashtirishi mumkin.
Immich’ni VPS’ga o‘rnatish
Misolda Ubuntu 24.04 va photos.example.com subdomenidan foydalaniladi.
1. DNS’ni sozlash va Ubuntu’ni tayyorlash
VPS’ning IPv4 manziliga yo‘naltirilgan A DNS yozuvini yarating. Keyin SSH orqali ulaning:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableYangi ulanish ishlashini tekshirmaguningizcha joriy SSH sessiyasini yopmang.
2. Docker va Docker Compose’ni o‘rnatish
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose versionAynan docker compose buyrug‘idan foydalaning: eskirgan docker-compose buyrug‘i endi loyiha tomonidan qo‘llab-quvvatlanmaydi.
3. Immich’ni yuklab olish va sozlash
mkdir -p /opt/immich /srv/immich-data
cd /opt/immich
curl -L -o docker-compose.yml \
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env \
https://github.com/immich-app/immich/releases/latest/download/example.envFaylni oching:
nano /opt/immich/.envAsosiy parametrlarni o‘zgartiring:
UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORDO‘zingizning vaqt mintaqangizni kiriting. PostgreSQL paroli lotin harflari va raqamlardan iborat bo‘lishi kerak; openssl rand -hex 24 buyrug‘i tasodifiy qiymat yaratadi. Qolgan qatorlarni joriy example.env faylidagi kabi qoldiring.
4. Ichki portni yopish va konteynerlarni ishga tushirish
docker-compose.yml ichida immich-server xizmati uchun portni toping:
ports:
- '2283:2283'Uni quyidagiga almashtiring:
ports:
- '127.0.0.1:2283:2283'Endi portga faqat VPS’ning o‘zidan kirish mumkin. Xizmatni ishga tushiring:
cd /opt/immich
docker compose up -d
docker compose psTashxis uchun docker compose logs --tail=200 buyrug‘idan foydalaning.
5. Caddy orqali HTTPS’ni yoqish
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
photos.example.com {
reverse_proxy 127.0.0.1:2283
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyDNS VPS’ga yo‘naltirilgan va 80 hamda 443 portlari ochiq bo‘lsa, Caddy sertifikatni avtomatik so‘raydi. Immich domen yoki subdomen ildizida ishlashi kerak; example.com/immich kabi manzil qo‘llab-quvvatlanmaydi.
6. Administrator yaratish va telefonni ulash
https://photos.example.com manzilini oching. Birinchi ro‘yxatdan o‘tgan foydalanuvchi administrator bo‘ladi va qo‘shimcha hisoblar yaratishi mumkin.
Immich’ni App Store yoki Google Play’dan o‘rnating. Kirish ekranida manzilni /apisiz kiriting:
https://photos.example.comAlbomlarni tanlang va backup’ni yoqing. Birinchi import biroz vaqt olishi mumkin: server eskizlar yaratadi, yuzlarni taniydi, qidiruv ma’lumotlarini indekslaydi va videolarni qayta ishlaydi.
Immich’ni yangilash
Yangilashdan oldin, ayniqsa yangi major versiyaga o‘tayotganda, reliz qaydlarini o‘qing:
cd /opt/immich
docker compose pull
docker compose up -d
docker image pruneAvval mobil ilovalarni, keyin serverni yangilang. Alohida ko‘rsatmalar berilmagan bo‘lsa, ma’lumotlar bazasini eski versiyaga qaytarish qo‘llab-quvvatlanmasligi mumkin.
Immich uchun zaxira nusxalari
Immich PostgreSQL dump’larini avtomatik yaratadi, ammo ularda faqat ma’lumotlar bazasi va metama’lumotlar bor, fotosuratlar va videolar yo‘q. To‘liq tiklash uchun quyidagilarni saqlang:
- butun
/srv/immich-datakatalogi; /opt/immich/.envvadocker-compose.yml;- Caddy konfiguratsiyasi.
Xuddi shu VPS’dagi nusxa disk nosozligi yoki server o‘chirilishidan himoya qilmaydi. Ma’lumotlarni alohida server, NAS yoki obyektli saqlashga yuboring va 3-2-1 zaxiralash strategiyasiga amal qiling. Zaxira fayllari borligini tekshirish bilan cheklanmay, vaqti-vaqti bilan tiklashni sinab ko‘ring.
Immich uchun qaysi VPS’ni tanlash kerak
Yuzni tanish va aqlli qidiruv bilan to‘liq ishlash uchun kamida 4 vCPU va 8 GB RAM’li VPS tanlash ma’qul. Disk hajmini media kutubxonasi asosida hisoblang va eskizlar, videolar hamda arxiv o‘sishi uchun qo‘shimcha joy qoldiring.
Statik IP manzili va SSD xotirasiga ega tropic.host Linux VPS’i bu vazifa uchun mos keladi. 8 GB RAM’li konfiguratsiyadan boshlash va kutubxona kattalashganda resurslarni oshirish mumkin. PostgreSQL bazasini tezkor mahalliy diskda, backup’ni esa ushbu VPS’dan tashqarida saqlang.
VPS har qanday tarmoqdan kecha-kunduz kirish uchun qulay. Bir necha terabaytlik arxiv uchun uy serveri arzonroq bo‘lishi mumkin, ammo elektr ta’minoti, tashqi kirish va zaxiralilikni o‘zingiz ta’minlaysiz.
Immich’ning cheklovlari
Self-hosting ishonchlilikni kafolatlamaydi. Kuchsiz parol, ochiq 2283 porti, eskirgan konteynerlar yoki tashqi backup yo‘qligi ma’lumotlar yo‘qolishi xavfini oshiradi.
Immich Google Photos yoki iCloud’ning aynan nusxasi ham emas: tahrirlash va fon sinxronizatsiyasi imkoniyatlari farq qiladi, tahlil tezligi esa uskunaga bog‘liq. Yagona arxivingizni ko‘chirishdan oldin xizmatni kichik kutubxonada sinab ko‘ring.
Xulosa
Immich mobil yuklash, albomlar, yuzni tanish, qidiruv va ulashish imkoniyatlariga ega shaxsiy foto galereya yaratishga yordam beradi. Joriy versiya uchun 4 yadroli, 8 GB RAM’li Linux VPS va kamida 20–30% bo‘sh joyi bor SSD tayyorlash ma’qul.
O‘rnatishdan so‘ng media katalogi va ma’lumotlar bazasi uchun HTTPS, yangilanishlar hamda tashqi backup’ni sozlang. Fotosuratlarni yo‘qotishdan self-hostingning o‘zi emas, aynan backup himoya qiladi.
FAQ
Immich bepulmi?
Immich serveri ochiq kodli va majburiy obunasiz ishlashi mumkin. Shunga qaramay, VPS, domen, disk hajmi va backup uchun to‘laysiz.
Immich’ga qancha RAM kerak?
Rasmiy minimum 6 GB RAM, tavsiya etiladigani esa 8 GB. 4 GB bilan machine learning’ni o‘chirishingiz kerak bo‘ladi.
Immich’ni domainsiz o‘rnatish mumkinmi?
Texnik jihatdan mumkin, lekin telefondan doimiy foydalanish uchun domen va HTTPS ishlatgan ma’qul. Bu autentifikatsiya va fayl uzatishni himoya qiladi.
Immich foto backup’ining o‘rnini bosadimi?
Yo‘q. Media kutubxonasi va ma’lumotlar bazasini boshqa qurilma yoki joyga alohida nusxalang.
Mavjud foto arxivini ko‘chira olamanmi?
Ha. Fayllarni web-interfeys yoki CLI orqali yuklash, yoxud katalogni tashqi kutubxona sifatida ulash mumkin. Katta importdan oldin manba ma’lumotlarining nusxasini yarating.
