SSD Nodes Learn Hosting plans →
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-28

Immich self-hosting: sapat ba ang 6 GB RAM?

Alamin ang totoong RAM requirement, tamang port 2283 sa HTTPS, error na `exit 137`, at bakit hindi nag-start ang Immich v3 sa pgvecto.rs database. May restore steps.

Mga ginagawa mo

Ang Immich ay isang self-hosted na photo at video backup service, at tunay na alternatibo sa Google Photos. May phone app ito na nag-a-upload ng iyong camera roll sa background, timeline, albums, face recognition, at machine-learning search na nakakahanap ng “beach” o isang tao kahit hindi ka nagta-tag ng anuman. Pinapatakbo mo ito sa VPS na pagmamay-ari mo, nananatili ang mga orihinal na file sa iyong disk, at walang nagso-scan sa mga ito para bentahan ka ng mga produkto. Kung pinag-iisipan mo pa ito kumpara sa isa pang malinaw na kandidato, magkatabi sa aming paghahambing ng PhotoPrism at Immich ang RAM requirements, phone app, at backup commands ng mga ito.

Ang installation ay binubuo ng apat na container mula sa sariling Docker Compose file ng project. Sampung minuto lang ang bahaging iyon. Ang natitirang bahagi ng gabay na ito ang mas mahirap: memory-hungry ang machine-learning container sa maliit na server, mabilis kumain ng disk space ang mga original, tumatanggi ang mobile app sa plain-HTTP server, at madalas maglabas ang Immich ng breaking changes kaya maaaring hindi na makapagsimula ang database dahil sa isang pabaya docker compose pull. Seryosohin ang apat na bagay na ito at magiging rock-solid ang Immich. Kapag binalewala mo ang mga ito, masasayang ang isang weekend.

Mga prerequisite at mahahalagang limitasyon

  • RAM: sinasabi ng official docs na 6 GB ang minimum at 8 GB ang recommended; ituring na absolute floor ang 4 GB na may swap. Katamtaman lang ang gamit ng immich-server at Postgres containers. Ang immich-machine-learning container ang pinakamalakas kumonsumo ng resources. Nilo-load nito sa RAM ang CLIP at face-recognition models upang bumuo ng search indexes, at sa 2 GB na server, pinapatay ito ng kernel. Magdagdag ng swap kahit mayroon kang 4 GB.
  • Disk: maglaan ng sapat na kapasidad para sa buong library mo, at dagdagan pa ito. Buong kinokopya ang mga original file mo. Gumagawa rin ang Immich ng thumbnails at preview images, na karaniwang nagdadagdag ng humigit-kumulang 10–20%. Ang 200 GB na photo collection ay nangangailangan ng 300 GB volume. Maliit lang ang Postgres kung ihahambing dito.
  • CPU: sapat ang anumang modern KVM VPS, pero mabagal ang ML kapag CPU ang ginagamit. Maaaring umabot nang ilang oras sa background ang smart-search indexing ng malaking import. Normal ito. Hindi nito kailangan ng GPU.
  • Isang domain name na nakaturo sa VPS. Mas gusto ng mobile app ang HTTPS endpoint, at kakailanganin mo ng reverse proxy sa harap nito. Kapareho ito ng setup ng isang self-hosted na Nextcloud instance na may Docker, TLS at backups. Ang Immich ang katapat para sa mga larawan ng files server na iyon.
  • Naka-install ang Docker at Compose plugin: Docker Engine kasama ang Compose v2 plugin mula sa sariling apt repository ng Docker, gaya ng eksaktong tinalakay sa aming gabay sa mga basic ng Docker Compose.

Hakbang 1: Magdagdag muna ng swap

Ang pinakakaraniwang failure ng Immich sa maliit na VPS ay ang pag-terminate ng kernel sa ML container dahil sa OOM. Maglaan muna ng swap para magkaroon ng karagdagang espasyo ang kernel.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h

Dapat ay magpakita na ngayon ang free -h ng linyang Swap: na may 4.0Gi. Hindi nito pabibilisin ang ML, pero pipigilan nitong mamatay ang container habang nag-i-index sa isang 4 GB machine.

Hakbang 2: Kunin ang opisyal na compose at env, at iyon ang gamitin sa halip na kopya

Itinatakda ng Immich ang mga bersyon ng serbisyo nito at, higit sa lahat, ang database image sa loob ng mga file na kasama sa release nito. Huwag mag-paste ng compose file mula sa isang blog, kabilang na ang blog na ito, bilang source of truth. I-download ang release assets:

sudo mkdir -p /opt/immich && cd /opt/immich
sudo wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
sudo wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Mula ang mga ito sa tagged release, kaya tugma ang mga image reference. Tinutukoy ng compose file ang apat na serbisyo. Makabubuting malaman muna ang gamit ng bawat isa bago ka magbago ng anuman:

  • immich-server (ghcr.io/immich-app/immich-server, container immich_server), ang API at web UI, na nakikinig sa port 2283. Naka-mount dito ang iyong uploads sa /data.
  • immich-machine-learning (ghcr.io/immich-app/immich-machine-learning, container immich_machine_learning), para sa CLIP search at face recognition. Naka-cache ang mga na-download na model sa model-cache volume. Ito ang pinakamaraming memory ang ginagamit.
  • database (container immich_postgres), Postgres na may VectorChord vector extension, na nagpapatakbo ng similarity search. Naka-pin sa digest ang image tag mismo sa compose file, halimbawa ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:.... Ginamit ng mga mas lumang setup ang pgvecto.rs; inalis ang support para rito sa Immich v3.0, kaya VectorChord ang ginagamit ng anumang i-install mo ngayon. Huwag kailanman manu-manong i-edit ang tag na ito.
  • redis (container immich_redis), isang Valkey/Redis instance para sa job queue.

Hakbang 3: I-configure ang .env, kung saan naka-store ang iyong mga larawan at database

Buksan ang .env at itakda ang apat na bagay. Panatilihing hindi nagbabago ang lahat ng nasa ibaba ng minarkahang linya.

# Where original uploads are stored on the host
UPLOAD_LOCATION=/opt/immich/library

# Where the Postgres data lives. NEVER put this on an NFS/network share.
DB_DATA_LOCATION=/opt/immich/postgres

# "v3" is a floating tag that tracks the latest v3.x. Pin a full tag like
# v3.0.2 instead — then you upgrade on purpose, not by surprise.
IMMICH_VERSION=v3.0.2

# Change this to a long random string. Letters and digits only.
DB_PASSWORD=REPLACE_WITH_A_LONG_RANDOM_STRING

# Set your timezone so timestamps and "on this day" line up
TZ=Europe/London

###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

May dalawang rule na makakaiwas sa problema. Dapat tumuro ang UPLOAD_LOCATION sa iyong malaking disk. Kung mag-a-attach ka ng data volume sa ibang pagkakataon, itakda na ito sa mount path nito mula pa sa simula. Kung ililipat ito pagkatapos, kailangan mong ilipat ang mga thumbnail at i-update ang asset paths. Dapat nasa local disk ang DB_DATA_LOCATION. Nagiging corrupt ang Postgres kapag nasa NFS o SMB share ito, at malinaw itong sinasabi sa documentation. Kung mga letra at digit lamang ang gagamitin mo sa DB_PASSWORD, maiiwasan mo ang isang uri ng bug sa pag-escape ng connection string.

Hakbang 4: Unang pagpapatakbo at paggawa ng admin user

cd /opt/immich
sudo docker compose up -d
sudo docker compose ps

Ang tamang resulta ay apat na container, na lahat ay running at kalaunan ay healthy:

NAME                      STATUS
immich_machine_learning   Up (healthy)
immich_postgres           Up (healthy)
immich_redis              Up (healthy)
immich_server             Up (healthy)

Sa unang up, kumukuha ito ng ilang gigabyte ng images, kaya maghintay muna. Subaybayan ang progress gamit ang sudo docker compose logs -f immich-server; magla-log ang server na nakikinig ito sa port 2283 kapag handa na. Pagkatapos, buksan ang http://YOUR_SERVER_IP:2283 sa browser. Sa unang pagbisita, lalabas ang Getting Started wizard. Ang unang account na gagawin mo ang magiging admin. Magtakda ng malakas na password. Ang account na ito ang may-ari ng server settings, user management, at ML configuration na kakailanganin mo sa susunod.

Hakbang 5: Ang mobile app at background backup

I-install ang "Immich" mula sa App Store o Play Store. Sa login screen, hihingin nito ang Server Endpoint URL. Ilagay ang buong URL kasama ang scheme, halimbawa https://photos.example.com (awtomatikong idinaragdag ng app ang /api). Mag-log in gamit ang account na ginawa mo, pagkatapos ay buksan ang Backup screen ng app, piliin ang mga album na dapat i-backup (karaniwan ang Camera at Screenshots), at i-enable ang Background backup. Nililimitahan ng iOS ang bilis ng background backup; palaging tumatakbo ang foreground uploads, habang nangyayari ang background uploads kapag pinapayagan ito ng OS.

Dito eksaktong naiipit ang maraming user, kaya basahin muna ang Hakbang 6 bago mo subukang ayusin ang app.

Hakbang 6: HTTPS gamit ang reverse proxy, at ang panuntunan sa buong URL

Talagang nangangailangan ang mobile app ng HTTPS. Maglagay ng reverse proxy sa harap ng port 2283 at doon isagawa ang TLS termination. Kung nagpapatakbo ka na ng ilang container, ang Traefik na may awtomatikong TLS para sa maraming Docker app ang pinakamalinis na opsyon. Isang label block ang nagre-route ng photos.example.com papunta sa immich-server container at awtomatikong kumukuha ng certificate para sa iyo. Kung nginx ang gusto mo, bibigyan ka ng gabay na Let's Encrypt gamit ang Certbot at nginx ng certificate at proxy_pass http://127.0.0.1:2283; block. Kapag mayroon nang proxy, karaniwang bagong subdomain na lang ang kailangan para sa susunod na serbisyo. Sa ganitong paraan, maaaring tumabi ang media front end na gaya ng Halcyon, ang 90s video store skin para sa Jellyfin sa Immich sa iisang server. Ganoon din ang self-hosted HarnessRouter na naglalagay sa Codex at Claude Code sa likod ng iisang API. Sadyang nagbi-bind ito sa loopback at magiging reachable lamang kapag nagte-terminate ng TLS ang proxy sa harap nito. Kaya palitan ang default login nito bago ituro rito ang isang subdomain. Gayunman, hindi lahat ng container ay nangangailangan ng public hostname. Mas mabuting hindi isama sa proxy ang admin-only tool gaya ng self-hosted na open-kritt security scanner at ma-access ang UI nito sa SSH tunnel kapag bihira mo itong kailangang buksan. May ibang serbisyo namang hindi gumagamit ng proxy dahil hindi HTTP ang protocol nito. Malinaw na halimbawa ang self-hosted RustDesk relay server. Nakikinig ito sa ilang raw TCP at UDP port at nangangailangan ng firewall rules sa halip na subdomain. May isang proxy setting na mahalaga para sa Immich: itaas ang upload size limit dahil malalaki ang mga video mula sa phone. Sa nginx, ang setting na ito ay client_max_body_size 50000M; sa loob ng server block. Tinatanggihan ng default na 1 MB ang mga video upload gamit ang 413 Request Entity Too Large.

Ito ang ipinapatupad na panuntunan ng app: dapat maabot ang endpoint at, sa aktuwal na paggamit, dapat itong HTTPS. Ang mga endpoint na http://, o ang direct IP na walang port, ang karaniwang pinagmumulan ng mensaheng “hindi maabot ng app ang server.” Tinalakay ito sa ibaba bilang isang pinangalanang failure.

Hakbang 7: Mga external library kumpara sa mga upload, pag-import ng kasalukuyang photo tree

May dalawang paraan para makapasok ang mga photo sa Immich, at magkaiba ang mga ito.

  • Mga upload ang mga asset na pagmamay-ari ng Immich. Kinokopya ng app o web uploader ang file sa UPLOAD_LOCATION. Maaaring palitan ng pangalan, ilipat, at tanggalin ng Immich ang mga ito.
  • Mga external library ang mga read-only na pag-import ng mga file na nasa isang folder na sa server mo, gaya ng lumang Pictures tree o isang NAS export. Ini-index ng Immich ang mga ito sa kasalukuyang lokasyon at ipinapakita sa timeline, pero hindi kailanman binabago o tinatanggal ang mga orihinal.

Para mag-import ng kasalukuyang tree, i-mount ito bilang read-only sa server container. I-edit ang docker-compose.yml sa ilalim ng immich-server: at magdagdag ng volume:

  immich-server:
    volumes:
      - ${UPLOAD_LOCATION}:/data
      - /etc/localtime:/etc/localtime:ro
      - /srv/photos:/mnt/media/photos:ro

Tinitiyak ng :ro na hindi kailanman maa-access o mababago ng Immich ang mga orihinal. Gawin muli ang container gamit ang sudo docker compose up -d. Pagkatapos, sa web UI, pumunta sa avatar mo → Administration → External Libraries → Create Library, piliin ang user na may-ari, i-click ang Add sa ilalim ng Folders, at ilagay ang container path na /mnt/media/photos, hindi ang host path na /srv/photos. I-click ang Scan. Ang paggamit ng host path sa halip na container path ang pinakakaraniwang pagkakamali sa external library; walang makikita ang scan at mag-uulat ito ng zero assets.

Hakbang 8: Ang upgrade discipline na kailangan ng Immich

Ito ang naghihiwalay sa maayos na Immich sa sirang deployment. Mabilis mag-release ang Immich at hindi ito nagba-backport ng fixes o sumusuporta sa mga downgrade. Kapag walang ingat mong sinusundan ang floating v3 tag, sa kalaunan ay masisira ang database mo. Mainam ding gamitin ang parehong gawing pag-pin at pagbasa ng release notes sa bawat matagal nang tumatakbong container sa server. Kaya ang self-hosted KiroCrew agent ay naka-pin sa isang kilalang gumaganang tag sa halip na hayaang awtomatikong magbago sa susunod na restart. Ang disiplinang ito ay ang sumusunod:

  1. Mag-pin ng version. Panatilihing nakatakda ang IMMICH_VERSION sa isang partikular na tag gaya ng v3.0.2, hindi sa floating v3 na palaging kumukuha ng pinakabagong v3.x.
  2. Basahin ang release notes sa bawat pagkakataon bago mag-upgrade. Nakaulat doon ang mga breaking change, lalo na ang mga pagbabago sa database o vector extension. Malinaw na halimbawa ang v3.0 release: tuluyan nitong inalis ang pgvecto.rs, kaya kailangang tapusin muna ng sinumang gumagamit pa ng lumang extension ang VectorChord migration, na ipinakilala noong v1.133, bago mag-upgrade.
  3. I-back up muna ang database (Hakbang 9). Palaging gawin ito, lalo na kapag binanggit sa release notes ang database.
  4. Kunin din ang bagong compose file. Ang IMMICH_VERSION ay nagpi-pin lamang sa server at ML images. Ang Postgres image ay naka-pin gamit ang digest sa loob ng docker-compose.yml, kaya may bagong compose file para sa version na nangangailangan ng mas bagong database extension. I-download muli ang dalawang release asset, ilapat muli ang iyong .env values, saka mag-upgrade.
  5. I-update ang iyong mobile clients sa halos parehong oras. Nakikipag-ugnayan lamang ang server sa katugmang major version nito, at sinusuportahan ng app ang kasalukuyan at nakaraang major version. Kapag mas nauuna ang server kaysa sa app, ipinapakita ng app ang Your app major version is not compatible with the server! sa phone hanggang ma-update mo ito. Kaya pinakamainam na i-update muna ang app.

Ang aktuwal na mga command, kapag nailagay na ang mga bagong file:

cd /opt/immich
sudo docker compose pull
sudo docker compose up -d
sudo docker image prune

Hakbang 9: Mga backup, database dump AT mga original, at subukan ito

Dalawang bagay ang kailangan sa backup ng Immich, at walang silbi ang isa kung wala ang isa pa. Nasa database ang structure ng album, mga mukha, search index, at mapping mula asset papunta sa file. Nasa originals directory ang aktuwal na mga larawan. Kapag isa lang ang ni-restore, makakakuha ka ng mga larawang walang organisasyon o isang walang lamang shell na tumutukoy sa nawawalang mga file.

I-dump ang database gamit ang pg_dump mula sa loob ng Postgres container. Ang immich database mismo ang gamitin, hindi ang buong cluster:

sudo docker exec -t immich_postgres pg_dump --clean --if-exists \
  --dbname=immich --username=postgres | gzip > /opt/immich/immich-db-$(date +%F).sql.gz

I-back up ang UPLOAD_LOCATION, ang buong /opt/immich/library tree, lalo na ang mga library/, upload/, at profile/ subfolder nito, gamit ang restic, rsync, o borg papunta sa ibang machine o object storage. Unahin ang database at saka ang mga file upang hindi tumukoy ang dump sa larawang hindi pa nakokopya ng file backup. I-back up nang hiwalay ang external libraries sa aktuwal na source ng mga ito. Hindi pagmamay-ari ng Immich ang mga iyon.

Ngayon ang bahaging madalas nilalaktawan ng lahat: subukan ang restore. Dapat patakbuhin ang restore sa isang fresh stack na hindi pa kailanman nasimulan ang server, at sa Postgres image na compatible ang vector extension sa dump. Ito ang dahilan kung bakit hindi dapat basta magpalit ng DB image tag. Sa isang scratch box na may parehong compose at .env, burahin ang anumang lumang state, paandarin lamang ang database, at saka i-load ang dump:

cd /opt/immich
sudo docker compose down -v
sudo docker compose pull
sudo docker compose create
sudo docker start immich_postgres
sleep 10
gunzip --stdout immich-db-2026-07-15.sql.gz |
  sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" |
  sudo docker exec -i immich_postgres psql --dbname=immich --username=postgres --single-transaction --set ON_ERROR_STOP=on
sudo docker compose up -d

Hindi optional ang sed rewrite ng search_path sa VectorChord database. Kapag hindi ito isinama, maa-abort ang restore sa kalagitnaan. Kapag muling umandar ang stack at nasa tamang lugar na ang iyong mga original, buksan ang web UI. Kung naroon ang iyong mga larawan at album, gumagana ang iyong backup. Kung hindi mo pa ito kailanman naisagawa, wala kang backup; umaasa ka lamang.

Mga failure mode at mga string na makikita mo

Na-OOM-kill ang ML container. Biglang nagtatapos ang sudo docker compose logs immich-machine-learning, ipinapakita ng docker compose ps na ito ay Restarting, at ang exit code ay 137. Kinukumpirma ito ng sudo dmesg | grep -i oom: Out of memory: Killed process ... (python3). Pagkatapos, natitigil ang mga search at face job. Kulang ang RAM para sa mga model ang sanhi. Sundin ang mga fix sa ganitong pagkakasunod-sunod: magdagdag ng swap (Step 1); dagdagan ang RAM ng VPS; o, kung talagang hindi maaari, i-disable ang ML sa Administration → Settings → Machine Learning Settings sa pag-off ng Smart Search at Facial Recognition. Mananatili ang mga backup at album, pero mawawala ang search-by-content. Pareho ang epekto ng pagtanggal sa immich-machine-learning service mula sa compose file.

Ayaw magsimula ng Postgres pagkatapos ng upgrade. Paulit-ulit na lumalabas sa server log ang linyang gaya ng The database currently has VectorChord 0.5.3 activated, but the Postgres instance only has 0.4.2 available. This most likely means the extension was downgraded., o, sa mas lumang stack, The pgvecto.rs extension is not available in this Postgres instance.. Ang sanhi ay database image na mas luma ang extension version kaysa sa version na pinag-upgrade-an ng iyong data. Halos palaging nangyayari ito dahil mano-manong binago ang image tag o nag-restore ng mas bagong dump sa mas lumang image. Ang fix ay gamitin ang katugmang Postgres image, kunin ang compose file mula sa release na katugma ng iyong database, huwag mag-downgrade, at mag-restore lamang sa compatible na image.

Hindi maabot ng mobile app ang server. May ipinapakitang connection error / Server is not reachable ang login screen matapos mong ilagay ang URL. Tatlo ang posibleng sanhi: inilagay mo ang http:// kahit https:// lamang ang sine-serve ng proxy; direktang kumonekta ka sa backend pero hindi mo isinama ang port, kaya sinubukan nito ang example.com (port 443) sa halip na example.com:2283; o hindi ipinapasa ng reverse proxy ang /api. Ayusin ito sa pamamagitan ng paglalagay ng buong https://photos.example.com URL at tiyaking naglo-load muna ito sa browser ng telepono. Kung gumagana sa browser pero hindi sa app, maaaring inaalis ng proxy ang path o self-signed ang certificate, kaya tinatanggihan ng app ang mga hindi pinagkakatiwalaang certificate.

Naubusan ng disk space habang nag-i-import. Nagsisimulang pumalya ang mga upload, nagiging blangko ang mga thumbnail, at ipinapakita sa logs ang ENOSPC: no space left on device o, mula sa Postgres, ang could not extend file ... No space left on device. Ipinapakita ng df -h na 100% nang puno ang UPLOAD_LOCATION volume. Ito ang dahilan kung bakit dapat sukatin ang disk bago mag-import ng malaking library. Para makabawi, mag-attach ng mas malaking volume, ihinto ang stack, ilipat ang UPLOAD_LOCATION dito, i-update ang .env, at simulan muli. Maaari mo ring palawakin ang kasalukuyang disk kung pinapayagan ito ng iyong provider. Maaaring mag-wedge ang Postgres kapag napuno ito, kaya magbakante ng space at i-restart ang database container bago ipalagay na may corruption.

FAQ

Gaano karaming RAM at disk ang kailangan ng Immich?

Ang opisyal na requirement ng Immich ay minimum na 6 GB RAM at inirerekomendang 8 GB. Para sa maliit na library, praktikal na minimum ang 4 GB na may swap. Mag-configure ng swap sa alinmang setup dahil ang machine-learning container ang karaniwang biglang gumagamit ng maraming memory. Para sa disk, maglaan ng buong laki ng library at humigit-kumulang 10–20% pa para sa mga generated thumbnail at preview. Ilagay ang mga ito sa local storage. Huwag kailanman ilagay ang Postgres data directory sa network share. Kung pinagpapasyahan mo pa kung ano ang iba pang patatakbuhin, inilalagay ng gabay kung ano ang dapat i-self-host sa 2026 ang footprint ng Immich sa tabi ng iba pang serbisyo.

Maaari ko bang patakbuhin ang Immich nang walang GPU?

Oo. Maayos na tumatakbo sa CPU ang machine-learning container. Pinapabilis lamang ng GPU ang smart-search indexing at, kapag ginamit ang tamang image variant, ang video transcoding. Sa CPU, maaaring umabot nang ilang oras sa background ang initial index ng malaking library. Hindi nito hinaharangan ang mga backup o pag-browse. Kung masyadong maliit ang server para sa ML, maaari mong i-disable ang Smart Search at Facial Recognition sa admin settings at gamitin ang lahat ng iba pang feature.

Paano ko ligtas na ia-upgrade ang Immich?

I-pin ang IMMICH_VERSION sa isang konkretong tag gaya ng v3.0.2. Basahin ang release notes bago ang bawat upgrade at i-back up muna ang database. Dahil naka-pin ang Postgres image sa loob ng docker-compose.yml, hindi sa pamamagitan ng IMMICH_VERSION, i-download muli ang compose file at example.env mula sa target release at ilapat muli ang mga value mo. Pagkatapos, patakbuhin ang docker compose pull && docker compose up -d. Huwag hayaang awtomatikong magbago ang version nang walang monitoring. Naglalabas ang Immich ng breaking changes at hindi nito sinusuportahan ang downgrade.

Ano mismo ang kailangan kong i-back up?

Dalawang bagay, at dapat magkasama ang mga ito: isang pg_dump ng immich database at ang buong UPLOAD_LOCATION originals directory. Nasa database ang mga album, mukha, at asset-to-file mapping. Nasa directory naman ang aktuwal na mga larawan. Kailangan ng restore ang dalawang ito, pati ang database image na may compatible na vector extension. Unahin ang database dump at saka kopyahin ang mga file. Subukan kahit isang beses ang restore sa isang scratch server. Ang backup na hindi nasubukan ay hindi maituturing na backup.

Paano ko ii-import ang dati kong photo folder?

I-mount ang folder bilang read-only sa immich-server container bilang karagdagang volume, halimbawa - /srv/photos:/mnt/media/photos:ro. I-recreate ang container. Pagkatapos, sa Administration → External Libraries, gumawa ng library at idagdag ang container path na /mnt/media/photos. Ini-index ng Immich ang mga file kung nasaan ang mga ito at hindi kailanman binabago o dine-delete ang mga ito. Ang pinakakaraniwang pagkakamali ay ang paglalagay ng host path sa halip na container path. Dahil dito, walang nahahanap ang scan.