[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-immich-docker-compose-setup-common-errors-zh":3,"article-related-immich-docker-compose-setup-common-errors-zh":32,"series-industry-06ecd48d-e824-4918-9b91-1aa6cb7e9ddf":75},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":24,"views":29,"created_at":30,"published_at":31,"topic_cluster_id":11},"06ecd48d-e824-4918-9b91-1aa6cb7e9ddf","immich-docker-compose-setup-common-errors-zh","Immich Docker Compose 5 個常見錯誤修正","\u003Cp>Immich \u003Ca href=\"\u002Ftag\u002Fdocker\">Docker\u003C\u002Fa> Compose \u003Ca href=\"\u002Fnews\u002Fdocker-engine-ubuntu-official-repo-path-zh\">安裝\u003C\u002Fa>時，最常卡住的是哪幾個錯誤？\u003C\u002Fp>\u003Cp data-speakable=\"summary\">這篇整理 Immich 的 Docker Compose 安裝流程，並列出最常見的 4 個修正。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>項目\u003C\u002Fth>\u003Cth>重點\u003C\u002Fth>\u003Cth>常見卡點\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ca href=\"https:\u002F\u002Fimmich.app\u002F\">Immich\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd>自架相片管理服務\u003C\u002Ftd>\u003Ctd>需要正確的 Compose 與環境變數\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ca href=\"https:\u002F\u002Fdocs.docker.com\u002Fcompose\u002F\">Docker Compose\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd>用來啟動整組服務\u003C\u002Ftd>\u003Ctd>舊版指令或錯誤套件會失敗\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ca href=\"https:\u002F\u002Fdocs.docker.com\u002Fengine\u002F\">Docker Engine\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd>執行容器的核心\u003C\u002Ftd>\u003Ctd>v25 以下可能不支援 \u003Ccode>healthcheck.start_interval\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fimmich-app\u002Fimmich\u002Freleases\u002Flatest\">Immich release files\u003C\u002Fa>\u003C\u002Ftd>\u003Ctd>\u003Ccode>docker-compose.yml\u003C\u002Fcode> 與 \u003Ccode>.env\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>兩個檔案要放同一資料夾\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>1. 先把 Immich 檔案抓下來\u003C\u002Fh2>\u003Cp>Immich 的官方做法很直接：先建立一個工作資料夾，再把 \u003Ccode>docker-compose.yml\u003C\u002Fcode> 和 \u003Ccode>.env\u003C\u002Fcode> 放進去。這樣做的好處是，後面所有指令都假設兩個檔案在同一層，少了路徑錯誤的機會。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403975315-zugi.png\" alt=\"Immich Docker Compose 5 個常見錯誤修正\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>如果你是從瀏覽器下載，也要記得把範例環境檔改名成 \u003Ccode>.env\u003C\u002Fcode>。這一步看起來簡單，但很多人其實是因為檔名或位置不對，才會在啟動前就失敗。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>mkdir .\u002Fimmich-app\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>cd .\u002Fimmich-app\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>wget -O docker-compose.yml https:\u002F\u002Fgithub.com\u002Fimmich-app\u002Fimmich\u002Freleases\u002Flatest\u002Fdownload\u002Fdocker-compose.yml\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>wget -O .env https:\u002F\u002Fgithub.com\u002Fimmich-app\u002Fimmich\u002Freleases\u002Flatest\u002Fdownload\u002Fexample.env\u003C\u002Fcode>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>2. 先改 .env，再啟動\u003C\u002Fh2>\u003Cp>\u003Ccode>.env\u003C\u002Fcode> 決定了上傳檔案放哪裡、Postgres 資料放哪裡，以及你要跑哪個版本。預設值可以拿來測試，但正式使用前，通常要把 \u003Ccode>UPLOAD_LOCATION\u003C\u002Fcode> 改成有足夠空間的路徑，並換掉資料庫密碼。\u003C\u002Fp>\u003Cp>官方也提醒，資料庫檔案不要放在網路磁碟上，密碼最好別用太多特殊字元，以免 Docker 解析出問題。若你需要時區設定，可以取消註解 \u003Ccode>TZ=Etc\u002FUTC\u003C\u002Fcode> 再改成你的地區。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>UPLOAD_LOCATION=.\u002Flibrary\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>DB_DATA_LOCATION=.\u002Fpostgres\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>IMMICH_VERSION=v3\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>DB_PASSWORD=postgres\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>DB_USERNAME=postgres\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>\u003Ccode>DB_DATABASE_NAME=immich\u003C\u002Fcode>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>3. 用正確的 Compose 指令啟動\u003C\u002Fh2>\u003Cp>檔案改好後，就在同一個資料夾執行 \u003Ccode>docker compose up -d\u003C\u002Fcode>。\u003Ccode>-d\u003C\u002Fcode> 代表背景執行，適合要長時間運作的伺服器，不會因為關掉終端機就停掉。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403979257-1yrf.png\" alt=\"Immich Docker Compose 5 個常見錯誤修正\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>如果這一步報錯，問題常常不是 Immich，而是 Docker 安裝來源。某些 Ubuntu 環境會因為套件版本或 plugin \u003Ca href=\"\u002Fnews\u002Fpretrain-q-functions-online-rl-finetuning-zh\">不一\u003C\u002Fa>致，導致你其實跑到舊工具；這時候要改裝 Docker 官方版本，並先移除舊套件。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>docker compose up -d\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>使用 \u003Cstrong>docker compose\u003C\u002Fstrong>，不是 \u003Cstrong>docker-compose\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>優先安裝 Docker 官方 repository 的 Engine\u003C\u002Fli>\u003Cli>先移除舊的發行版套件\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>4. 看到版本不合，就先懷疑 Docker 套件\u003C\u002Fh2>\u003Cp>官方文件提到兩種常見錯誤，背後常是同一件事：系統上的 Docker 版本或 plugin 不對。像是 \u003Ccode>unknown shorthand flag: 'd' in -d\u003C\u002Fcode>，或是 \u003Ccode>Compose file '.\u002Fdocker-compose.yml' is invalid\u003C\u002Fcode> 搭配 \u003Ccode>'name' does not match any of the regexes\u003C\u002Fcode>，都很像是舊版工具在作怪。\u003C\u002Fp>\u003Cp>處理方式通常不是改 Immich，而是把 Docker Engine 換成官方套件來源，並確保 \u003Ccode>docker compose\u003C\u002Fcode> 真正指向你要的版本。這一步做對，後面很多奇怪錯誤會一起消失。\u003C\u002Fp>\u003Cpre>\u003Ccode># 正確方向\ndocker compose up -d\n\n# 舊工具常見問題來源\ndocker-compose up -d\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>5. 遇到 healthcheck.start_interval，就改 compose 檔\u003C\u002Fh2>\u003Cp>如果 Docker 提示 \u003Ccode>healthcheck.start_interval\u003C\u002Fcode> 需要 Docker Engine v25 以上，代表你的引擎太舊，不認得這個設定。官方提供的解法很直接：到 \u003Ccode>docker-compose.yml\u003C\u002Fcode> 裡把資料庫服務的 \u003Ccode>start_interval\u003C\u002Fcode> 註解掉，再重新啟動。\u003C\u002Fp>\u003Cp>這是過渡解法，不是長期最佳解。如果你能升級到新版 Docker Engine，還是建議升級；但如果你現在只想先把 Immich 跑起來，這個修改通常最快。\u003C\u002Fp>\u003Cul>\u003Cli>打開 \u003Ccode>docker-compose.yml\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>找到資料庫服務區塊\u003C\u002Fli>\u003Cli>註解 \u003Ccode>start_interval\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>再跑一次 \u003Ccode>docker compose up -d\u003C\u002Fcode>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>怎麼挑\u003C\u002Fh2>\u003Cp>大多數人先照標準流程做：下載兩個檔案、改好 \u003Ccode>.env\u003C\u002Fcode>、再用 \u003Ccode>docker compose up -d\u003C\u002Fcode> 啟動。這條路最適合第一次部署 Immich 的人，也最容易維持之後的\u003Ca href=\"\u002Fnews\u002Fblack-duck-coverity-ai-era-triage-zh\">更新\u003C\u002Fa>。\u003C\u002Fp>\u003Cp>如果你卡住，先對症下藥：指令或版本錯誤，多半是 Docker 套件裝錯；\u003Ccode>healthcheck.start_interval\u003C\u002Fcode> 則代表 Engine 太舊，先註解那行或升級到 v25 以上再繼續。\u003C\u002Fp>","3 個安裝步驟、4 個常見修正，幫你用 Docker Compose 跑起 Immich，並避開 Docker v25 healthcheck.start_interval 問題。","docs.immich.app","https:\u002F\u002Fdocs.immich.app\u002Finstall\u002Fdocker-compose\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403975315-zugi.png","industry","zh","5b830c40-1b98-495e-ab0e-402dfc39f395",[17,18,19,20,21,22,23],"Immich","Docker Compose","Docker Engine","healthcheck.start_interval",".env","docker-compose.yml","自架相片管理",[25,26,27,28],"先把 docker-compose.yml 和 .env 放在同一資料夾，再用 docker compose up -d 啟動。","正式上線前要先改 .env，特別是儲存路徑、資料庫位置和密碼。","看到版本或指令錯誤時，優先檢查 Docker 是否安裝了官方 Engine 套件。","若遇到 healthcheck.start_interval，Docker Engine v25 以下可先註解該行再重啟。",0,"2026-07-30T09:32:28.534813+00:00","2026-07-30T09:32:28.518+00:00",{"tags":33,"relatedLang":34,"relatedPosts":38},[],{"id":15,"slug":35,"title":36,"language":37},"immich-docker-compose-setup-common-errors-en","Immich Docker Compose setup that avoids common errors","en",[39,45,51,57,63,69],{"id":40,"slug":41,"title":42,"cover_image":43,"image_url":43,"created_at":44,"category":13},"2f84c385-b870-4ef8-90ee-f8b1c545392c","anthropic-open-model-fight-lonely-ai-stance-zh","Anthropic 對開放模型的孤立姿態","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785414769795-ommd.png","2026-07-30T12:32:24.061158+00:00",{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"54073d4e-0838-4c5f-bb9b-8628a746c800","anthropic-buy-books-scan-destroy-training-zh","Anthropic買書掃描再銷毀，想守住訓練合法性","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785396792157-cnvv.png","2026-07-30T07:32:42.993389+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"c8975000-183e-40a3-8166-f82e7df426f9","huang-open-letter-open-weight-ai-playbook-zh","黃仁勳把開放權重變成政策模板","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785378794029-2xws.png","2026-07-30T02:32:49.564763+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"3eb8d253-88d2-4abb-8a20-d0cd2cbf8ec1","32-firms-back-open-weight-ai-dc-letter-zh","32 家公司挺開放權重 AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785376966978-w5h4.png","2026-07-30T02:02:24.180115+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"93909597-d1e6-4dab-acb9-f57e677b3a1d","huang-shou-pian-x-wen-gong-kai-ting-kai-fang-quan-zhong-ai-zh","黃仁勳首篇 X 文，公開挺開放權重 AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785375182108-9blu.png","2026-07-30T01:32:35.493421+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"426b9a43-e4a1-4d1f-9386-540db4df1f70","black-duck-coverity-ai-era-triage-zh","Coverity 5 項更新，AI 時代更好分流風險","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785371567363-mk3t.png","2026-07-30T00:32:20.398854+00:00",[76,81,86,91,96,101,106,111,116,121],{"id":77,"slug":78,"title":79,"created_at":80},"ee073da7-28b3-4752-a319-5a501459fb87","ai-in-2026-what-actually-matters-now-zh","2026 AI 真正重要的事","2026-03-26T07:09:12.008134+00:00",{"id":82,"slug":83,"title":84,"created_at":85},"83bd1795-8548-44c9-9a7e-de50a0923f71","trump-ai-framework-power-speech-state-preemption-zh","川普 AI 框架瞄準電力、言論與州權","2026-03-26T07:12:18.695466+00:00",{"id":87,"slug":88,"title":89,"created_at":90},"ea6be18b-c903-4e54-97b7-5f7447a612e0","nvidia-gtc-2026-big-ai-announcements-zh","NVIDIA GTC 2026 重點拆解","2026-03-26T07:14:26.62638+00:00",{"id":92,"slug":93,"title":94,"created_at":95},"4bcec76f-4c36-4daa-909f-54cd702f7c93","claude-users-spreading-out-and-getting-better-zh","Claude 用戶更分散，也更會用","2026-03-26T07:22:52.325888+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"bd903b15-2473-4178-9789-b7557816e535","openclaw-raises-hard-question-for-ai-models-zh","OpenClaw 逼問 AI 模型價值","2026-03-26T07:24:54.707486+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"eeac6b9e-ad9d-4831-8eec-8bba3f9bca6a","gap-google-gemini-checkout-fashion-search-zh","Gap 把結帳搬進 Gemini","2026-03-26T07:28:23.937768+00:00",{"id":107,"slug":108,"title":109,"created_at":110},"0740e53f-605d-4d57-8601-c10beb126f3c","google-pushes-gemini-transition-to-march-2026-zh","Google 把 Gemini 轉換延到 2026 年 3…","2026-03-26T07:30:12.825269+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"e660d801-2421-4529-8fa9-86b82b066990","metas-llama-4-benchmark-scandal-gets-worse-zh","Meta Llama 4 分數風波又擴大","2026-03-26T07:34:21.156421+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"183f9e7c-e143-40bb-a6d5-67ba84a3a8bc","accenture-mistral-ai-sovereign-enterprise-deal-zh","Accenture 攜手 Mistral AI 賣主權 AI","2026-03-26T07:38:14.818906+00:00",{"id":122,"slug":123,"title":124,"created_at":125},"191d9b1b-768a-478c-978c-dd7431a38149","mistral-ai-faces-its-hardest-year-yet-zh","Mistral AI 迎來最硬的一年","2026-03-26T07:40:23.716374+00:00"]