Language: kk
Immich: VPS-те фотосуреттер мен бейнелерге арналған жеке бұлт жасау
Immich — фотосуреттер мен бейнелерді сақтау және автоматты түрде жүктеу үшін қолданылатын self-hosted қызмет. Ол мобильді қолданбаларды, веб-интерфейсті, альбомдарды, ақылды іздеуді және бет-әлпетті тануды ұсынады, ал медиатека сіз таңдаған серверде сақталады.
Төменде Immich талаптарын, Ubuntu жүйесінде Docker Compose арқылы орнатуды, HTTPS баптауын, телефонды қосуды және сыртқы резервтік көшірмелерді қарастырамыз.
Immich-ті алты қадамда іске қосу
- RAM және диск кеңістігі жеткілікті Linux VPS жасаңыз.
- Мысалы,
photos.example.comқосалқы доменін сервердің IP мекенжайына бағыттаңыз. - Docker орнатып, Immich-тің ресми конфигурациясын жүктеп алыңыз.
- Медиатека мен дерекқор жолдарын көрсетіп, контейнерлерді іске қосыңыз.
- Ішкі портты жауып, HTTPS-ті қосыңыз.
- Мобильді қолданбаны орнатып, сыртқы резервтік көшірмені баптаңыз.
Immich деген не?
Immich — жеке фото және бейне медиатекасын басқаруға арналған ашық бастапқы коды бар қолданба. Фотосуреттер уақыт шкаласында көрсетіледі, альбомдарға топтастырылады, іздеу арқылы табылады және телефоннан серверге автоматты түрде жүктеледі.
Кәдімгі бұлтты фото қызметінен басты айырмашылығы — сервер жағын толық бақылау. Файлдар VPS-те немесе үй серверінде сақталады, бірақ бос орынға, жаңартуларға, қауіпсіздікке және резервтік көшірмелерге иесі жауап береді.
| Параметр | Бұлтты фото қызметі | Immich |
|---|---|---|
| Файлдар қайда сақталады | Провайдердің инфрақұрылымында | Сіздің серверіңізде |
| Қызмет көрсету | Провайдер орындайды | Иесі орындайды |
| Шығындар | Сақтау көлеміне негізделген жоспар | VPS, диск кеңістігі және резервтік көшірмелер |
Immich өздігінен резервтік көшірме болып саналмайды. Фотосуреттер тек бір VPS-те тұрса, дискінің істен шығуы немесе кездейсоқ өшіру архивті жойып жіберуі мүмкін.
Immich-тің негізгі мүмкіндіктері
- Автоматты жүктеу. Android және iOS қолданбалары таңдалған альбомдардан фотосуреттер мен бейнелерді жүктейді. Әдепкі бойынша Wi-Fi қолданылады, ал бұрыннан бар файлдар checksum негізінде өткізіліп жіберіледі.
- Ақылды іздеу. Қызмет адам, орын, күн, камера, суреттегі мәтін және мазмұн сипаттамасы бойынша іздей алады. Беттер топтастырылып, кейін оларға атау беруге болады.
- Альбомдар және бөлісу. Immich бірнеше пайдаланушыны, ортақ альбомдарды, серіктеспен бөлісуді және құпиясөз бен жарамдылық мерзімі бар ашық сілтемелерді қолдайды.
- Карта және метадеректер. Immich EXIF деректерін оқиды, суреттің түсірілген орнын көрсетеді, естеліктер жасайды және таңдаулыларды, архивті әрі сыртқы медиатекаларды қолдайды.
Machine learning бастапқы импорт кезінде CPU мен RAM-ға ең көп жүктеме түсіреді. Нобайлар мен индекстер жасалғаннан кейін күнделікті ресурс шығыны әдетте төмендейді.
Immich серверіне қойылатын талаптар
Қазіргі нұсқаларға арналған ресми талаптар:
- 64 биттік Linux немесе Unix-like жүйесі;
- кемінде 2 CPU ядросы, 4 ядро ұсынылады;
- кемінде 6 GB RAM, 8 GB ұсынылады;
docker composeплагині бар Docker Engine;- PostgreSQL дерекқоры үшін жергілікті SSD;
- бастапқы файлдарға, нобайларға және транскодталған бейнелерге арналған орын.
Machine learning мүмкіндіктері өшірілсе, Immich 4 GB RAM бар серверде де жұмыс істей алады. Бетті тану және ақылды іздеу үшін бірден 8 GB таңдаған дұрыс.
Нобайлар мен транскодталған файлдар медиатека көлеміне орта есеппен 10–20% қосады. 200 GB архивке кемінде 240–260 GB бөліңіз. DB_DATA_LOCATION дерекқор каталогы желілік дискте емес, жергілікті SSD-де сақталуы керек.
Практикалық бастапқы конфигурация: 4 vCPU, 8 GB RAM, Ubuntu 24.04 LTS және бастапқы медиатекадан 20–30% үлкен SSD. Бөлек графикалық карта қажет емес, бірақ үлкен архивті өңдеуді жылдамдатуы мүмкін.
Immich-ті VPS-ке орнату
Бұл мысалда Ubuntu 24.04 және photos.example.com қосалқы домені қолданылады.
1. DNS-ті баптап, Ubuntu-ды дайындау
VPS-тің IPv4 мекенжайына бағытталған A DNS жазбасын жасаңыз. Содан кейін SSH арқылы қосылыңыз:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableЖаңа қосылымның жұмыс істейтініне көз жеткізбейінше, қазіргі SSH сеансын жаппаңыз.
2. Docker және Docker Compose орнату
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 versionНақты docker compose пәрменін пайдаланыңыз: ескірген docker-compose пәрменіне жоба енді қолдау көрсетпейді.
3. Immich-ті жүктеп, баптау
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.envФайлды ашыңыз:
nano /opt/immich/.envНегізгі параметрлерді өзгертіңіз:
UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORDӨз уақыт белдеуіңізді енгізіңіз. PostgreSQL құпиясөзі латын әріптері мен сандардан тұруы керек; openssl rand -hex 24 пәрмені кездейсоқ мән жасайды. Қалған жолдарды қолданыстағы example.env файлындағыдай қалдырыңыз.
4. Ішкі портты жауып, контейнерлерді іске қосу
docker-compose.yml ішінен immich-server қызметінің портын табыңыз:
ports:
- '2283:2283'Оны мынаған ауыстырыңыз:
ports:
- '127.0.0.1:2283:2283'Енді портқа тек VPS-тің өзінен кіруге болады. Қызметті іске қосыңыз:
cd /opt/immich
docker compose up -d
docker compose psДиагностика үшін docker compose logs --tail=200 пәрменін пайдаланыңыз.
5. Caddy арқылы HTTPS қосу
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-ке бағытталып, 80 және 443 порттары қолжетімді болса, Caddy сертификатты автоматты түрде сұратады. Immich доменнің немесе қосалқы доменнің түбірінде жұмыс істеуі керек; example.com/immich сияқты мекенжайға қолдау көрсетілмейді.
6. Әкімші жасап, телефонды қосу
https://photos.example.com мекенжайын ашыңыз. Бірінші тіркелген пайдаланушы әкімші болады және қосымша есептік жазбалар жасай алады.
Immich-ті App Store немесе Google Play дүкенінен орнатыңыз. Кіру экранында мекенжайды /api-сыз енгізіңіз:
https://photos.example.comАльбомдарды таңдап, backup-ты қосыңыз. Бірінші импорт біраз уақыт алуы мүмкін: сервер нобайлар жасайды, беттерді таниды, іздеу деректерін индекстейді және бейнелерді өңдейді.
Immich-ті жаңарту
Жаңартудан бұрын, әсіресе жаңа major нұсқаға ауысқанда, релиз ескертпелерін оқыңыз:
cd /opt/immich
docker compose pull
docker compose up -d
docker image pruneАлдымен мобильді қолданбаларды, кейін серверді жаңартыңыз. Арнайы нұсқау берілмесе, дерекқорды ескі нұсқаға қайтаруға қолдау көрсетілмеуі мүмкін.
Immich үшін резервтік көшірмелер
Immich PostgreSQL dump файлдарын автоматты түрде жасайды, бірақ оларда фото мен бейнелер емес, тек дерекқор мен метадеректер болады. Толық қалпына келтіру үшін мыналарды сақтаңыз:
- толық
/srv/immich-dataкаталогын; /opt/immich/.envжәнеdocker-compose.ymlфайлдарын;- Caddy конфигурациясын.
Сол VPS-тегі көшірме дискінің істен шығуынан немесе сервердің өшірілуінен қорғамайды. Деректерді бөлек серверге, NAS-қа немесе объектілік сақтау қоймасына жіберіп, 3-2-1 резервтік көшіру стратегиясын ұстаныңыз. Резервтік файлдардың барын ғана тексермей, мезгіл-мезгіл қалпына келтіруді сынаңыз.
Immich үшін қай VPS-ті таңдау керек
Бетті тану және ақылды іздеу толық жұмыс істеуі үшін кемінде 4 vCPU және 8 GB RAM бар VPS таңдаған жөн. Диск көлемін медиатекаға қарай есептеп, нобайларға, бейнелерге және архивтің өсуіне қосымша орын қалдырыңыз.
Статикалық IP мекенжайы мен SSD қоймасы бар tropic.host Linux VPS-і бұл міндетке сай келеді. 8 GB RAM бар конфигурациядан бастап, медиатека өскенде ресурстарды арттыруға болады. PostgreSQL дерекқорын жылдам жергілікті дискте, ал backup-ты осы VPS-тен тыс сақтаңыз.
VPS кез келген желіден тәулік бойы қол жеткізуге ыңғайлы. Бірнеше терабайттық архив үшін үй сервері арзанырақ болуы мүмкін, бірақ электр қуатын, сыртқы қолжетімділікті және резервтілікті өзіңіз қамтамасыз етесіз.
Immich шектеулері
Self-hosting сенімділікке кепілдік бермейді. Әлсіз құпиясөз, ашық 2283 порты, ескірген контейнерлер немесе сыртқы backup-тың болмауы деректерді жоғалту қаупін тудырады.
Immich Google Photos немесе iCloud-тың дәл көшірмесі емес: өңдеу мен фондық синхрондау мүмкіндіктері өзгеше, ал талдау жылдамдығы жабдыққа байланысты. Жалғыз архивіңізді көшірмес бұрын қызметті шағын медиатекамен сынап көріңіз.
Қорытынды
Immich мобильді жүктеу, альбомдар, бетті тану, іздеу және бөлісу мүмкіндіктері бар жеке фото галерея жасауға мүмкіндік береді. Қазіргі нұсқа үшін 4 ядролы, 8 GB RAM бар Linux VPS және кемінде 20–30% бос орны бар SSD дайындаған дұрыс.
Орнатудан кейін HTTPS, жаңартулар және медиа каталогын дерекқормен бірге сыртқы backup-қа сақтауды баптаңыз. Фотосуреттерді жоғалудан self-hosting-тің өзі емес, дәл backup қорғайды.
FAQ
Immich тегін бе?
Immich сервері ашық бастапқы кодты және міндетті жазылымсыз жұмыс істей алады. Дегенмен VPS, домен, диск кеңістігі және backup үшін ақы төлейсіз.
Immich-ке қанша RAM керек?
Ресми минимум — 6 GB RAM, ал ұсынылатын көлем — 8 GB. 4 GB болса, machine learning мүмкіндігін өшіру қажет.
Immich-ті доменсіз орнатуға бола ма?
Техникалық тұрғыдан болады, бірақ телефоннан тұрақты қол жеткізу үшін домен мен HTTPS қолданған дұрыс. Бұл аутентификация мен файл тасымалын қорғайды.
Immich фото backup-ының орнын баса ма?
Жоқ. Медиатека мен дерекқорды басқа құрылғыға немесе орынға бөлек көшіріңіз.
Бар фото архивін көшіре аламын ба?
Иә. Файлдарды веб-интерфейс немесе CLI арқылы жүктеуге, не каталогты сыртқы медиатека ретінде қосуға болады. Үлкен импорт алдында бастапқы деректердің көшірмесін жасаңыз.
