SSD Nodes Learn Hosting plans →
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-28

Jinsi ya kuendesha Immich: RAM 6GB na usalama wa data

Jifunze mahitaji halisi ya RAM 6GB, usanidi wa port 2283, na jinsi ya kuepuka hitilafu ya exit 137. Pata mwongozo wa kurekebisha hifadhidata ya pgvecto.rs na hatua za kurejesha data.

Unachojenga

Immich ni huduma ya kuhifadhi nakala za picha na video unayojiendeshea mwenyewe, mbadala halisi wa Google Photos. Ina programu ya simu inayopakia picha zako za kamera chinichini, ratiba ya matukio, albamu, utambuzi wa nyuso, na utafutaji wa kijasusi (machine-learning) unaoweza kupata "ufukwe" au mtu fulani bila wewe kuweka tag yoyote. Unaiendesha kwenye VPS unayomiliki, faili asilia zinabaki kwenye diski yako, na hakuna anayezichanganua ili kukuuzia vitu. Ikiwa bado unaipima dhidi ya chaguo jingine dhahiri, ulinganisho wetu wa PhotoPrism na Immich unaweka viwango vyao vya chini vya RAM, programu za simu, na amri za kuhifadhi nakala kando kando.

Usakinishaji unahusisha kontena nne kutoka kwenye faili ya Docker Compose ya mradi wenyewe. Sehemu hiyo inachukua dakika kumi. Sehemu iliyobaki ya mwongozo huu ndipo penye changamoto: kontena la kijasusi (machine-learning) hutumia kumbukumbu nyingi kwenye seva ndogo, faili asilia hutumia diski haraka, programu ya simu hukataa seva ya HTTP ya kawaida, na Immich hutoa mabadiliko makubwa mara kwa mara kiasi kwamba docker compose pull isiyo na uangalifu inaweza kuacha hifadhidata yako ikishindwa kuanza. Zingatia mambo hayo manne kwa uzito na Immich itakuwa imara sana. Ukiyapuuza, utapoteza wikendi nzima.

Mahitaji ya awali, na changamoto za kweli

  • RAM: nyaraka rasmi zinasema kiwango cha chini ni 6 GB na 8 GB kinapendekezwa, chukulia 4 GB pamoja na swap kama kiwango cha chini kabisa. Makontena ya immich-server na Postgres hayahitaji rasilimali nyingi. Kontena la immich-machine-learning ndilo linalotumia rasilimali nyingi; hupakia modeli za CLIP na utambuzi wa nyuso (face-recognition) kwenye RAM ili kujenga faharasa za utafutaji, na kwenye seva ya 2 GB, kernel huizima (kill). Ongeza swap hata kama una 4 GB.
  • Disk: iweke kulingana na ukubwa wa maktaba yako yote, kisha ongeza nafasi zaidi. Picha zako asilia hunakiliwa kikamilifu, na Immich hutengeneza thumbnails na picha za hakiki (takriban 10–20% zaidi). Mkusanyiko wa picha wa 200 GB unahitaji volume ya 300 GB. Postgres ni ndogo kwa kulinganisha.
  • CPU: VPS yoyote ya kisasa ya KVM inafaa, lakini ML kwenye CPU ni polepole. Uwekaji faharasa wa utafutaji mahiri (smart-search indexing) kwa mkusanyiko mkubwa unaweza kuchukua saa nyingi kwa nyuma. Hilo ni jambo la kawaida; haihitaji GPU.
  • Jina la domain lililoelekezwa kwenye VPS. Programu ya simu inapendelea sana endpoint ya HTTPS, na unahitaji reverse proxy mbele yake. Hii ni usanidi wa aina sawa na instance ya Nextcloud inayojiendesha yenyewe kwa Docker, TLS na backups, Immich ni mbadala wa picha kwa seva hiyo ya faili.
  • Docker na Compose plugin zilizosakinishwa, Docker Engine pamoja na Compose v2 plugin kutoka kwenye apt repository ya Docker yenyewe, kama ilivyoelezwa kikamilifu katika mwongozo wetu wa misingi ya Docker Compose.

Hatua ya 1: Ongeza swap kabla ya jambo lingine lolote

Sababu ya kawaida ya Immich kufeli kwenye VPS ndogo ni container ya ML kupata OOM-killed. Ipe kernel nafasi ya kupumua kwanza.

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

free -h inapaswa sasa kuonyesha mstari wa Swap: wenye 4.0Gi. Hii haitafanya ML kuwa ya haraka, lakini inazuia container kufa wakati wa index kwenye mashine ya 4 GB.

Hatua ya 2: Pakua faili rasmi za compose na env, tumia zile za kwao, usinakili

Immich huweka matoleo ya huduma zake na, muhimu zaidi, image ya database yake ndani ya faili inazotoa. Usinakili faili ya compose kutoka kwenye blogu (pamoja na hii) kama chanzo chako kikuu cha ukweli. Pakua assets za toleo husika:

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

Hizi zinatoka kwenye toleo lililowekwa alama (tagged release), kwa hivyo marejeleo ya image yanalingana. Faili ya compose inafafanua huduma nne, na ni vyema kufahamu kila moja ni nini kabla ya kufanya mabadiliko yoyote:

  • immich-server (ghcr.io/immich-app/immich-server, container immich_server), API na web UI, inayosikiliza kwenye port 2283. Inapachika (mount) faili zako ulizopakia kwenye /data.
  • immich-machine-learning (ghcr.io/immich-app/immich-machine-learning, container immich_machine_learning), utafutaji wa CLIP na utambuzi wa nyuso. Huhifadhi models zilizopakuliwa kwenye volume ya model-cache. Hii ndiyo inayotumia kumbukumbu (RAM) nyingi.
  • database (container immich_postgres), Postgres yenye extension ya vector ya VectorChord, inayowezesha utafutaji wa kufanana (similarity search). Tag ya image imefungwa kwa digest moja kwa moja ndani ya faili ya compose, kwa mfano ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:.... Usanidi wa zamani ulitumia pgvecto.rs; usaidizi wake uliondolewa katika Immich v3.0, kwa hivyo chochote unachokisakinisha leo ni VectorChord. Usiwahi kuhariri tag hii kwa mkono.
  • redis (container immich_redis), mfano wa Valkey/Redis kwa ajili ya foleni za kazi (job queues).

Hatua ya 3: Sanidi .env, mahali ambapo picha na database yako vinakaa

Fungua .env na uweke mambo manne. Kila kitu chini ya mstari uliowekwa kinabaki kama kilivyo.

# 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

Kanuni mbili zinazokuepusha na matatizo. UPLOAD_LOCATION inapaswa kuelekeza kwenye diski yako kubwa; ukiongeza data volume baadaye, iweke hii kwenye mount path yake tangu mwanzo, kwa sababu kuhamisha baada ya hapo kunamaanisha kuhamisha thumbnails na kusasisha njia za asset. Na DB_DATA_LOCATION lazima iwe kwenye diski ya ndani: Postgres kwenye NFS au SMB share huharibika, na nyaraka zinasema hivyo kwa maneno ya wazi. Ukitumia herufi na namba pekee kwenye DB_PASSWORD utaepuka aina fulani ya hitilafu za escaping kwenye connection-string.

Hatua ya 4: Uendeshaji wa kwanza na kuunda mtumiaji msimamizi

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

Matokeo sahihi ni kontena nne, zote zikiwa running na hatimaye healthy:

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

up ya kwanza inapakua gigabytes kadhaa za picha, kwa hivyo ipe muda. Fuatilia maendeleo kwa kutumia sudo docker compose logs -f immich-server; seva huandika kwenye logi kwamba inasikiliza kwenye port 2283 pindi inapokuwa tayari. Sasa fungua http://YOUR_SERVER_IP:2283 kwenye kivinjari. Ziara ya kwanza inaonyesha mchawi wa Getting Started, akaunti ya kwanza unayounda ndiyo msimamizi. Weka nenosiri imara; akaunti hii inamiliki mipangilio ya seva, usimamizi wa watumiaji na usanidi wa ML utakaohitaji baadaye.

Hatua ya 5: Programu ya simu na chelezo ya chinichini

Sakinisha "Immich" kutoka App Store au Play Store. Kwenye skrini ya kuingia, programu itaomba Server Endpoint URL. Ingiza URL kamili ikijumuisha scheme, kwa mfano https://photos.example.com (programu yenyewe huongeza /api). Ingia kwa kutumia akaunti uliyotengeneza, kisha fungua skrini ya Backup ya programu hiyo, chagua albamu unazotaka kulinda (kwa kawaida Camera na Screenshots), na uwezeshe Background backup. Chelezo ya chinichini kwenye iOS hupunguzwa kasi na mfumo wa uendeshaji; upakiaji wa mbele (foreground) hufanya kazi kila wakati, lakini ule wa chinichini hutokea pale mfumo unaporuhusu.

Hapa ndipo watu wengi wanapokwama, kwa hivyo soma Hatua ya 6 kabla ya kuanza kuhangaika na programu hiyo.

Hatua ya 6: HTTPS kupitia reverse proxy, na kanuni ya full-URL

Programu ya simu inahitaji HTTPS. Weka reverse proxy mbele ya port 2283 na ikamilishe TLS hapo. Ikiwa tayari unaendesha containers kadhaa, Traefik yenye TLS ya kiotomatiki kwa Docker apps nyingi ndiyo chaguo nadhifu zaidi. Block moja ya labels huelekeza photos.example.com kwenye container ya immich-server na kukuchukulia certificate. Ikiwa unapendelea nginx, mwongozo wa Let's Encrypt ukitumia Certbot na nginx hukupatia certificate pamoja na block ya proxy_pass http://127.0.0.1:2283;. Proxy hiyo ikishakuwepo, kuongeza service inayofuata huwa hasa ni kuongeza subdomain mpya. Hivi ndivyo media front end kama Halcyon, mwonekano wa duka la video wa miaka ya 90 kwa Jellyfin inavyoweza kukaa pamoja na Immich kwenye box hiyo hiyo. Hali ni hiyo hiyo kwa HarnessRouter ya self-hosted inayoweka Codex na Claude Code nyuma ya API moja. Hii hufungamana na loopback kwa makusudi, na inaweza kufikiwa tu baada ya proxy kukamilisha TLS mbele yake. Kwa hiyo, badilisha login yake ya kawaida kabla ya kuelekeza subdomain kwake. Hata hivyo, si kila container inahitaji hostname ya umma. Zana ya matumizi ya admin pekee kama security scanner ya self-hosted open-kritt ni bora kuiacha nje kabisa ya proxy na kuifikia kupitia SSH tunnel mara chache unapofungua UI yake. Zingine hazitumii proxy kwa sababu HTTP si protocol yao. server ya relay ya RustDesk ya self-hosted ni mfano wazi zaidi. Husikiliza kwenye ports kadhaa za kawaida za TCP na UDP na huhitaji firewall rules badala ya subdomain. Kuna setting moja ya proxy inayohusu Immich: ongeza kikomo cha ukubwa wa upload, kwa sababu video za simu huwa kubwa. Kwenye nginx, hiyo ni client_max_body_size 50000M; ndani ya server block. Thamani ya kawaida ya 1 MB hukataa video uploads kwa 413 Request Entity Too Large.

Kanuni inayotekelezwa na programu ni hii: endpoint lazima iweze kufikika na, kwa vitendo, lazima iwe HTTPS. Endpoints za http://, au IP ya moja kwa moja bila kuweka port, ndizo chanzo cha ujumbe "programu haiwezi kufikia seva", jambo linalofafanuliwa kama hitilafu maalum hapa chini.

Hatua ya 7: Maktaba za nje dhidi ya uploads, kuingiza mkusanyiko wa picha uliopo

Kuna njia mbili za picha kuingia ndani ya Immich, na si vitu sawa.

  • Uploads ni mali ambazo Immich inazimiliki. Programu au uploader ya wavuti hunakili faili ndani ya UPLOAD_LOCATION. Immich inaweza kuzibadilisha jina, kuzihamisha na kuzifuta.
  • External libraries ni uingizaji wa faili kwa njia ya kusoma pekee (read-only) ambazo tayari zipo kwenye folda katika seva yako, mkusanyiko wa zamani wa Pictures, au export ya NAS. Immich huziweka kwenye index mahali zilipo na kuzionyesha kwenye timeline, lakini haibadilishi wala kufuta faili asilia.

Ili kuingiza mkusanyiko uliopo, uweke (mount) kwa njia ya kusoma pekee ndani ya container ya seva. Hariri docker-compose.yml chini ya immich-server: na uongeze volume:

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

Alama ya :ro inahakikisha Immich haiwezi kamwe kugusa faili asilia. Unda upya container kwa kutumia sudo docker compose up -d, kisha kwenye UI ya wavuti nenda kwenye avatar yako → Administration → External Libraries → Create Library, chagua mtumiaji anayemiliki, bofya Add chini ya Folders, na uweke njia ya container, /mnt/media/photos, si njia ya host /srv/photos. Bofya Scan. Kutumia njia ya host badala ya njia ya container ndilo kosa kubwa zaidi la maktaba za nje; scan haitapata kitu na itaripoti sifuri kwa mali zilizopatikana.

Hatua ya 8: Nidhamu ya uboreshaji inayohitajika na Immich

Hii ndiyo sehemu inayotofautisha Immich inayofanya kazi vizuri na ile iliyoharibika. Immich hutoa matoleo mapya kwa haraka na haitoi marekebisho ya nyuma (backport) wala haitumii matoleo ya zamani (downgrade). Kufuata tag ya v3 bila mpangilio hatimaye kutaharibu database yako. Tabia ya kufunga toleo (pin) kisha kusoma maelezo ya toleo inafaa kutumika kwa kila container inayodumu kwa muda mrefu kwenye seva, ndiyo maana agent wa KiroCrew anayejihost hufungwa kwenye tag moja inayojulikana kuwa nzuri badala ya kuruhusiwa kubadilika kiotomatiki wakati wa kuanzisha upya. Nidhamu yenyewe ni:

  1. Funga toleo (Pin a version). Weka IMMICH_VERSION kwenye tag mahususi kama v3.0.2, siyo ile inayobadilika ya v3 ambayo huvuta toleo jipya zaidi la v3.x kila wakati.
  2. Soma maelezo ya toleo (release notes) kila wakati kabla ya kuboresha. Mabadiliko makubwa, hasa yale ya database au vector-extension, huainishwa hapo. Toleo la v3.0 ni mfano dhahiri: liliondoa pgvecto.rs kabisa, kwa hivyo yeyote aliyekuwa bado anatumia extension ya zamani ilimbidi amalize uhamiaji wa VectorChord (ulioanzishwa katika v1.133) kabla ya kuendelea mbele.
  3. Hifadhi nakala ya database kwanza (Hatua ya 9). Fanya hivi kila wakati, na hasa zaidi wakati maelezo yanapotaja database.
  4. Chukua faili mpya ya compose pia. IMMICH_VERSION hufunga picha za server na ML pekee. Picha ya Postgres hufungwa kwa digest ndani ya docker-compose.yml, kwa hivyo toleo linalohitaji extension mpya ya database huja na faili mpya ya compose. Pakua upya rasilimali zote mbili za toleo, weka upya thamani zako za .env, kisha uboreshe.
  5. Sasisha apps zako za simu wakati huo huo. Seva huwasiliana na toleo lake kuu linalolingana, na app inasaidia toleo la sasa na lile la awali. Seva iliyotangulia mbele ya app itaonyesha Your app major version is not compatible with the server! kwenye simu hadi utakapoisasisha, kwa hivyo ni salama zaidi kusasisha app kwanza.

Amri halisi, baada ya kuweka faili mpya mahali pake:

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

Hatua ya 9: Hifadhi nakala (backups), dump ya database PAMOJA na faili asilia, kisha uifanyie majaribio

Hifadhi nakala ya Immich inahusisha vitu viwili, na kimoja bila kingine hakifai. Database huhifadhi muundo wa albamu, nyuso, faharasa za utafutaji, na ramani inayounganisha mali (assets) na faili. Saraka ya faili asilia (originals directory) huhifadhi picha zenyewe. Ukirejesha kimoja bila kingine, utapata picha zisizo na mpangilio au ganda tupu linaloelekeza kwenye faili ambazo hazipo.

Fanya dump ya database kwa kutumia pg_dump ukiwa ndani ya container ya Postgres, mahususi kwa database ya immich, siyo cluster nzima:

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

Kisha hifadhi nakala ya UPLOAD_LOCATION, mti mzima wa /opt/immich/library, na hasa subfolders zake za library/, upload/ na profile/, kwa kutumia restic, rsync au borg kwenda kwenye mashine nyingine au object storage. Anza na database kisha faili, ili dump isirejelee picha ambayo backup ya faili haijanakili bado. Maktaba za nje (external libraries) unazihifadhi kando kwenye chanzo chake halisi; Immich haimiliki maktaba hizo.

Sasa sehemu ambayo kila mtu huiruka: fanyia majaribio urejeshaji (restore). Urejeshaji lazima ufanyike kwenye stack mpya ambayo seva yake haijawahi kuanza, kwenye image ya Postgres ambayo vector extension yake inaoana na dump hiyo, ndiyo maana hupaswi kubahatisha tag ya image ya DB. Kwenye mashine ya majaribio yenye compose na .env ileile, futa hali yoyote ya zamani, anzisha database pekee, kisha pakia dump hiyo:

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

Uandishi upya wa sed wa search_path si wa hiari kwenye database ya VectorChord; ukiuacha, urejeshaji utakatika katikati. Stack ikirejea na faili zako asilia zikiwa mahali pake, fungua web UI: kama picha na albamu zako zipo, basi backup yako inafanya kazi. Kama hujawahi kufanya hivi, huna backup, unachokacho ni matumaini tu.

Njia za kufeli, pamoja na ujumbe utakaouona

Container ya ML inauawa na OOM. sudo docker compose logs immich-machine-learning inakatika ghafla, docker compose ps inaonyesha kuwa Restarting, na exit code ni 137. sudo dmesg | grep -i oom inathibitisha hili: Out of memory: Killed process ... (python3). Kazi za kutafuta (search) na kutambua nyuso (face jobs) zinasimama. Sababu ni RAM ndogo kwa ajili ya mifano (models). Suluhisho, kwa mpangilio: ongeza swap (Hatua ya 1); ongeza RAM kwenye VPS; au, kama huwezi kabisa, zima ML katika Administration → Settings → Machine Learning Settings kwa kuzima Smart Search na Facial Recognition. Utahifadhi backups na albums, lakini utapoteza uwezo wa kutafuta kwa kutumia maudhui. Kuondoa huduma ya immich-machine-learning kutoka kwenye faili ya compose kuna matokeo sawa.

Postgres inakataa kuanza baada ya upgrade. Log ya seva inajirudia na mstari kama 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., au, kwenye stack za zamani, The pgvecto.rs extension is not available in this Postgres instance.. Sababu ni image ya database ambayo toleo lake la extension ni la zamani kuliko data uliyoi-upgrade, mara nyingi hutokea kwa kubadilisha image tag kwa mkono au kurudisha (restore) dump mpya kwenye image ya zamani. Suluhisho ni kutumia image ya Postgres inayolingana, chukua faili ya compose kutoka kwenye release inayolingana na database yako, usifanye downgrade, na restore data kwenye image inayooana pekee.

App ya simu haiwezi kufikia seva. Skrini ya kuingia (login) inaonyesha kosa la muunganisho / Server is not reachable baada ya kuingiza URL. Sababu tatu: umeandika http:// ambapo proxy inahudumia https:// pekee; umeunganisha moja kwa moja kwenye backend lakini umesahau port, hivyo ilijaribu example.com (port 443) badala ya example.com:2283; au reverse proxy haipeleki (forward) /api. Suluhisha kwa kuingiza URL kamili ya https://photos.example.com na kuhakikisha inafunguka kwenye kivinjari cha simu kwanza. Ikiwa kivinjari kinafanya kazi na app haifanyi, proxy inaondoa path au cheti ni cha kujisaini (self-signed), app inakataa vyeti visivyoaminika.

Disk kujaa katikati ya import. Upload zinaanza kufeli, thumbnails zinakuwa tupu, na logs zinaonyesha ENOSPC: no space left on device au, kutoka Postgres, could not extend file ... No space left on device. df -h inaonyesha kuwa volume ya UPLOAD_LOCATION imefika 100%. Hii ndiyo sababu unapaswa kupima ukubwa wa disk kabla ya kuingiza (import) maktaba kubwa. Rudisha hali ya kawaida kwa kuunganisha volume kubwa zaidi, simamisha stack, hamishia UPLOAD_LOCATION huko, sasisha .env, na uanzishe tena, au panua disk iliyopo ikiwa mtoa huduma wako anaruhusu. Postgres inaweza kukwama ikijaa, hivyo futa nafasi na uanzishe upya container ya database kabla ya kudhani data imeharibika.

FAQ

Immich inahitaji RAM na diski kiasi gani?

Mahitaji rasmi ya Immich ni angalau 6 GB ya RAM huku 8 GB ikipendekezwa. 4 GB pamoja na swap ndiyo kiwango cha chini kabisa kwa maktaba ndogo, na ni vyema kusanidi swap kwa hali yoyote ile, kwa sababu kontena la machine-learning ndilo linalotumia rasilimali nyingi kwa ghafla. Kwa diski, tengeneza bajeti ya ukubwa wa maktaba yako yote pamoja na takriban 10–20% kwa ajili ya thumbnails na previews zinazozalishwa. Tumia hifadhi ya ndani (local storage), usiwahi kuweka saraka ya data ya Postgres kwenye network share. Ikiwa bado unaamua nini kingine cha kukiendesha, mwongozo wa nini cha kujiendeshea (self-host) mwaka 2026 unaonyesha ukubwa wa Immich kulinganisha na huduma nyingine.

Je, ninaweza kuendesha Immich bila GPU?

Ndiyo. Kontena la machine-learning linafanya kazi vizuri kwenye CPU; GPU huharakisha tu utafutaji wa akili (smart-search indexing) na, kwa kutumia variant sahihi ya picha, transcoding ya video. Kwenye CPU, index ya awali ya maktaba kubwa inaweza kuchukua saa kadhaa nyuma ya pazia, lakini haizuii backups au kuvinjari. Ikiwa seva yako ni ndogo sana kwa ML, unaweza kuzima Smart Search na Facial Recognition katika mipangilio ya admin na kuendelea kutumia vipengele vingine.

Ninawezaje kuboresha (upgrade) Immich kwa usalama?

Funga IMMICH_VERSION kwenye tag maalum kama v3.0.2, soma maelezo ya toleo (release notes) kabla ya kila upgrade, na uhifadhi database kwanza. Kwa sababu image ya Postgres imefungwa ndani ya docker-compose.yml badala ya IMMICH_VERSION, pakua upya faili ya compose na example.env kutoka kwenye toleo unalolenga na uweke upya thamani zako, kisha endesha docker compose pull && docker compose up -d. Usiache toleo likijibadilisha bila kusimamiwa; Immich hutoa mabadiliko makubwa (breaking changes) na haiauni kushusha toleo (downgrade).

Ni nini hasa ninachopaswa kuhifadhi (backup)?

Vitu viwili, kwa pamoja: pg_dump ya database ya immich na saraka nzima ya UPLOAD_LOCATION originals. Database huhifadhi albamu, nyuso, na ramani ya asset-kwa-faili; saraka hiyo huhifadhi picha halisi, na urejeshaji (restore) unahitaji vyote viwili pamoja na image ya database yenye vector extension inayooana. Fanya dump ya database kwanza na nakala ya faili baadaye, na ujaribu urejeshaji kwenye seva ya majaribio angalau mara moja; backup isiyojaribiwa si backup.

Ninawezaje kuingiza (import) folda yangu ya picha iliyopo?

Mount folda hiyo kwa ruhusa ya kusoma pekee (read-only) kwenye kontena la immich-server kama volume ya ziada (kwa mfano - /srv/photos:/mnt/media/photos:ro), tengeneza upya kontena, kisha katika Administration → External Libraries tengeneza maktaba na uongeze njia ya container /mnt/media/photos. Immich hufanya index ya faili hizo zilipo na haibadilishi wala kufuta chochote. Kosa la kawaida ni kuingiza njia ya host badala ya njia ya container, jambo linalofanya scan isipate kitu chochote.