[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-immich-docker-compose-setup-common-errors-en":3,"article-related-immich-docker-compose-setup-common-errors-en":31,"series-industry-5b830c40-1b98-495e-ab0e-402dfc39f395":74},{"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":28,"created_at":29,"published_at":30,"topic_cluster_id":11},"5b830c40-1b98-495e-ab0e-402dfc39f395","immich-docker-compose-setup-common-errors-en","Immich Docker Compose setup that avoids common errors","\u003Cp>How do you install Immich with \u003Ca href=\"\u002Ftag\u002Fdocker\">Docker\u003C\u002Fa> Compose and fix the errors people hit most often?\u003C\u002Fp>\u003Cp data-speakable=\"summary\">This guide shows the recommended Immich Docker Compose setup and the main fixes.\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Item\u003C\u002Fth>\u003Cth>What it is\u003C\u002Fth>\u003Cth>Common gotcha\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>docker compose up -d\u003C\u002Ftd>\u003Ctd>Starts Immich in the background\u003C\u002Ftd>\u003Ctd>Fails if you have the wrong Docker package\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>docker-compose.yml\u003C\u002Ftd>\u003Ctd>Main service definition\u003C\u002Ftd>\u003Ctd>May need a healthcheck line removed on older Docker\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>.env\u003C\u002Ftd>\u003Ctd>Configuration file for storage and database settings\u003C\u002Ftd>\u003Ctd>Defaults should be edited before launch\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Docker Engine v25+\u003C\u002Ftd>\u003Ctd>Required for healthcheck.start_interval\u003C\u002Ftd>\u003Ctd>Older engines throw a feature error\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>1. Download the Immich files\u003C\u002Fh2>\u003Cp>Immich recommends Docker Compose for production, and the first step is to create a working directory that will hold both \u003Ccode>docker-compose.yml\u003C\u002Fcode> and \u003Ccode>.env\u003C\u002Fcode>. The docs show a simple path like \u003Ccode>.\u002Fimmich-app\u003C\u002Fcode>, then two downloads from the latest release: one compose file and one example environment file.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403982253-30ny.png\" alt=\"Immich Docker Compose setup that avoids common errors\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>That setup matters because the rest of the install assumes both files sit in the same directory when you run the container command. If you prefer a browser download, rename \u003Ccode>example.env\u003C\u002Fcode> to \u003Ccode>.env\u003C\u002Fcode> before you continue.\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. Edit the .env file before launch\u003C\u002Fh2>\u003Cp>The environment file controls where Immich stores uploads, where Postgres stores data, and which version you want to run. The defaults are usable for a quick test, but a real install should point \u003Ccode>UPLOAD_LOCATION\u003C\u002Fcode> at a directory with enough free space and should usually replace the default database password.\u003C\u002Fp>\u003Cp>The docs also note that database files should not live on a network share, and that the password should avoid special characters so Docker does not misread it. If you need a timezone, uncomment \u003Ccode>TZ=Etc\u002FUTC\u003C\u002Fcode> and replace it with a valid TZ identifier.\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. Start Immich with Docker Compose\u003C\u002Fh2>\u003Cp>Once the files are customized, start the stack from the same directory with \u003Ccode>docker compose up -d\u003C\u002Fcode>. The \u003Ccode>-d\u003C\u002Fcode> flag runs Immich in the background, which is what you want for a server that should keep running after you close the terminal.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403985274-bngz.png\" alt=\"Immich Docker Compose setup that avoids common errors\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>If that command fails, the docs say the issue is often the Docker package itself, not Immich. On some Ubuntu installs, the distro package exposes the wrong behavior, so the fix is to install \u003Ca href=\"\u002Fnews\u002Fdocker-engine-ubuntu-official-repo-path-en\">Docker Engine\u003C\u002Fa> from Docker’s official repository instead of the older package set.\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>docker compose up -d\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Use \u003Cstrong>docker compose\u003C\u002Fstrong>, not \u003Cstrong>docker-compose\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>Install Docker Engine from the official apt or rpm repository\u003C\u002Fli>\u003Cli>Remove older distro Docker packages first\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>4. Fix the Docker version mismatch\u003C\u002Fh2>\u003Cp>Two errors in the docs point to the same root problem: an outdated or mismatched Docker installation. One is \u003Ccode>unknown shorthand flag: 'd' in -d\u003C\u002Fcode>, and the other is \u003Ccode>Compose file '.\u002Fdocker-compose.yml' is invalid\u003C\u002Fcode> with a \u003Ccode>'name' does not match any of the regexes\u003C\u002Fcode> message. Both can happen when the system is using the wrong Docker binary or plugin.\u003C\u002Fp>\u003Cp>The clean fix is to follow the full Docker Engine install guide for your distribution, especially the parts that uninstall old versions and then install from Docker’s official repository. That swap is what makes \u003Ccode>docker compose\u003C\u002Fcode> work the way Immich expects.\u003C\u002Fp>\u003Cpre>\u003Ccode># Good command for Immich on supported Docker installs\ndocker compose up -d\n\n# Avoid on systems where the old package is still active\ndocker-compose up -d\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>5. Handle the healthcheck.start_interval error\u003C\u002Fh2>\u003Cp>If Docker complains that it cannot set \u003Ccode>healthcheck.start_interval\u003C\u002Fcode> because the feature requires Docker Engine v25 or later, the docs offer a simple workaround. Comment out the \u003Ccode>start_interval\u003C\u002Fcode> line in the database section of \u003Ccode>docker-compose.yml\u003C\u002Fcode>, then start the stack again.\u003C\u002Fp>\u003Cp>This fix is useful when you cannot upgrade immediately, but it is still better to move to a newer Docker Engine when possible. The point is to get Immich online without getting blocked by a health check setting that your current engine does not understand.\u003C\u002Fp>\u003Cul>\u003Cli>Open \u003Ccode>docker-compose.yml\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Find the database service\u003C\u002Fli>\u003Cli>Comment out \u003Ccode>start_interval\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Restart with \u003Ccode>docker compose up -d\u003C\u002Fcode>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>How to decide\u003C\u002Fh2>\u003Cp>If you want the cleanest path, follow the default Docker Compose install, edit \u003Ccode>.env\u003C\u002Fcode> with your storage and password values, then start Immich with \u003Ccode>docker compose up -d\u003C\u002Fcode>. That is the right choice for most production servers.\u003C\u002Fp>\u003Cp>If you hit errors, use the fix that matches the symptom: version mismatch errors usually mean you need the official Docker Engine packages, while \u003Ccode>healthcheck.start_interval\u003C\u002Fcode> means your engine is too old for the compose file and you should comment out that line or upgrade.\u003C\u002Fp>","3 setup steps and 4 fixes for running Immich with Docker Compose, including the Docker v25 healthcheck.start_interval issue.","docs.immich.app","https:\u002F\u002Fdocs.immich.app\u002Finstall\u002Fdocker-compose\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785403982253-30ny.png","industry","en","06ecd48d-e824-4918-9b91-1aa6cb7e9ddf",[17,18,19,20,21,22,23],"Immich","Docker Compose","Docker Engine","docker compose up -d","healthcheck.start_interval",".env","Postgres",[25,26,27],"Immich recommends Docker Compose for production installs.","Edit .env before launch, especially upload path, password, and timezone.","Use docker compose, not docker-compose, on supported Docker Engine installs.",1,"2026-07-30T09:32:29.151116+00:00","2026-07-30T09:32:29.137+00:00",{"tags":32,"relatedLang":33,"relatedPosts":37},[],{"id":15,"slug":34,"title":35,"language":36},"immich-docker-compose-setup-common-errors-zh","Immich Docker Compose 5 個常見錯誤修正","zh",[38,44,50,56,62,68],{"id":39,"slug":40,"title":41,"cover_image":42,"image_url":42,"created_at":43,"category":13},"f9c094cc-4030-4f77-90d2-8f925738ebaa","anthropic-open-model-fight-lonely-ai-stance-en","Anthropic’s open-model fight reveals its lonely AI stance","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785414771849-09oc.png","2026-07-30T12:32:24.525685+00:00",{"id":45,"slug":46,"title":47,"cover_image":48,"image_url":48,"created_at":49,"category":13},"a415ae46-d4ad-4a3b-a733-ef2f6cd75b35","millions-raised-social-world-model-zd-tech-en","Millions Raised for Zhipu-style Social World Model","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785398580157-22j2.png","2026-07-30T08:02:32.795547+00:00",{"id":51,"slug":52,"title":53,"cover_image":54,"image_url":54,"created_at":55,"category":13},"172aeb51-6030-4f9c-b41b-4706e3071297","anthropic-book-scanning-legal-strategy-en","Anthropic’s Book Scanning Strategy Could Set a Pattern","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785396799143-64mf.png","2026-07-30T07:32:43.576405+00:00",{"id":57,"slug":58,"title":59,"cover_image":60,"image_url":60,"created_at":61,"category":13},"641c6e1d-19fb-4d51-8b87-cd2722aff9f0","huang-open-letter-open-weight-ai-playbook-en","Huang’s open-letter playbook for open-weight AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785378794497-8tsz.png","2026-07-30T02:32:50.034947+00:00",{"id":63,"slug":64,"title":65,"cover_image":66,"image_url":66,"created_at":67,"category":13},"ede3349c-e12d-4c2e-a32e-bcf826f2d941","32-firms-back-open-weight-ai-dc-letter-en","32 firms back open-weight AI in DC letter","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785376973124-2q0q.png","2026-07-30T02:02:24.643723+00:00",{"id":69,"slug":70,"title":71,"cover_image":72,"image_url":72,"created_at":73,"category":13},"ebec2cf3-cdf6-4be2-9142-1f6ca364cb1e","huang-primo-post-x-difende-ia-aperta-en","Huang usa il suo primo post su X per difendere l’IA aperta","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785375179161-8he1.png","2026-07-30T01:32:36.158612+00:00",[75,80,85,90,95,100,105,110,115,120],{"id":76,"slug":77,"title":78,"created_at":79},"d35a1bd9-e709-412e-a2df-392df1dc572a","ai-impact-2026-developments-market-en","AI's Impact in 2026: Key Developments and Market Shifts","2026-03-25T16:20:33.205823+00:00",{"id":81,"slug":82,"title":83,"created_at":84},"5ed27921-5fd6-492e-8c59-78393bf37710","trumps-ai-legislative-framework-en","Trump's AI Legislative Framework: What's Inside?","2026-03-25T16:22:20.005325+00:00",{"id":86,"slug":87,"title":88,"created_at":89},"e454a642-f03c-4794-b185-5f651aebbaca","nvidia-gtc-2026-key-highlights-innovations-en","NVIDIA GTC 2026: Key Highlights and Innovations","2026-03-25T16:22:47.882615+00:00",{"id":91,"slug":92,"title":93,"created_at":94},"0ebb5b16-774a-4922-945d-5f2ce1df5a6d","claude-usage-diversifies-learning-curves-en","Claude Usage Diversifies, Learning Curves Emerge","2026-03-25T16:25:50.770376+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"69934e86-2fc5-4280-8223-7b917a48ace8","openclaw-ai-commoditization-concerns-en","OpenClaw's Rise Raises Concerns of AI Model Commoditization","2026-03-25T16:26:30.582047+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"b4b2575b-2ac8-46b2-b90e-ab1d7c060797","google-gemini-ai-rollout-2026-en","Google's Gemini AI Rollout Extended to 2026","2026-03-25T16:28:14.808842+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"6e18bc65-42ae-4ad0-b564-67d7f66b979e","meta-llama4-fabricated-results-scandal-en","Meta's Llama 4 Scandal: Fabricated AI Test Results Unveiled","2026-03-25T16:29:15.482836+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"bf888e9d-08be-4f47-996c-7b24b5ab3500","accenture-mistral-ai-deployment-en","Accenture and Mistral AI Team Up for AI Deployment","2026-03-25T16:31:01.894655+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"5382b536-fad2-49c6-ac85-9eb2bae49f35","mistral-ai-high-stakes-2026-en","Mistral AI: Facing High Stakes in 2026","2026-03-25T16:31:39.941974+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"9da3d2d6-b669-4971-ba1d-17fdb3548ed5","cursors-meteoric-rise-pressures-en","Cursor's Meteoric Rise Faces Industry Pressures","2026-03-25T16:32:21.899217+00:00"]