mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
The command example is correct, but the text just before it still references the old docker-compose command.
102 lines
4.3 KiB
Text
102 lines
4.3 KiB
Text
---
|
|
sidebar_position: 30
|
|
---
|
|
|
|
import CodeBlock from '@theme/CodeBlock';
|
|
import ExampleEnv from '!!raw-loader!../../../docker/example.env';
|
|
|
|
# Docker Compose [Recommended]
|
|
|
|
Docker Compose is the recommended method to run Immich in production. Below are the steps to deploy Immich with Docker Compose.
|
|
|
|
### Step 1 - Download the required files
|
|
|
|
Create a directory of your choice (e.g. `./immich-app`) to hold the `docker-compose.yml` and `.env` files.
|
|
|
|
```bash title="Move to the directory you created"
|
|
mkdir ./immich-app
|
|
cd ./immich-app
|
|
```
|
|
|
|
Download [`docker-compose.yml`][compose-file] and [`example.env`][env-file], either by running the following commands:
|
|
|
|
```bash title="Get docker-compose.yml file"
|
|
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
|
```
|
|
|
|
```bash title="Get .env file"
|
|
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
|
|
```
|
|
|
|
```bash title="(Optional) Get hwaccel.yml file"
|
|
wget https://github.com/immich-app/immich/releases/latest/download/hwaccel.yml
|
|
```
|
|
|
|
or by downloading from your browser and moving the files to the directory that you created.
|
|
|
|
Note: If you downloaded the files from your browser, also ensure that you rename `example.env` to `.env`.
|
|
|
|
:::info
|
|
Optionally, you can use the [`hwaccel.yml`][hw-file] file to enable hardware acceleration for transcoding. See the [Hardware Transcoding](/docs/features/hardware-transcoding.md) guide for info on how to set this up.
|
|
:::
|
|
|
|
### Step 2 - Populate the .env file with custom values
|
|
|
|
<details>
|
|
<summary>
|
|
Example <code>.env</code> content
|
|
</summary>
|
|
<CodeBlock language="bash">{ExampleEnv}</CodeBlock>
|
|
</details>
|
|
|
|
- Populate custom database information if necessary.
|
|
- Populate `UPLOAD_LOCATION` with your preferred location for storing backup assets.
|
|
- Consider changing `DB_PASSWORD` to something randomly generated
|
|
|
|
### Step 3 - Start the containers
|
|
|
|
From the directory you created in Step 1, (which should now contain your customized `docker-compose.yml` and `.env` files) run `docker compose up -d`.
|
|
|
|
```bash title="Start the containers using docker compose command"
|
|
docker compose up -d
|
|
```
|
|
|
|
:::tip
|
|
If you get an error `unknown shorthand flag: 'd' in -d`, you are probably running the wrong Docker version. (This happens, for example, with the docker.io package in Ubuntu 22.04.3 LTS.) You can correct the problem by `apt remove`ing Ubuntu's docker.io package and installing docker and docker-compose via [Docker's official repository](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository).
|
|
|
|
Note that the correct command really is `docker compose`, not `docker-compose`. If you try the latter on vanilla Ubuntu 22.04 it will fail in a different way:
|
|
|
|
```
|
|
The Compose file './docker-compose.yml' is invalid because:
|
|
'name' does not match any of the regexes: '^x-'
|
|
```
|
|
|
|
See the previous paragraph about installing from the official docker repository.
|
|
:::
|
|
|
|
:::tip
|
|
For more information on how to use the application, please refer to the [Post Installation](/docs/install/post-install.mdx) guide.
|
|
:::
|
|
|
|
:::tip
|
|
Note that downloading container images might require you to authenticate to the GitHub Container Registry ([steps here](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry)).
|
|
:::
|
|
|
|
### Step 4 - Upgrading
|
|
|
|
If `IMMICH_VERSION` is set, it will need to be updated to the latest or desired version.
|
|
|
|
When a new version of Immich is [released](https://github.com/immich-app/immich/releases), the application can be upgraded with the following commands, run in the directory with the `docker-compose.yml` file:
|
|
|
|
```bash title="Upgrade Immich"
|
|
docker compose pull && docker compose up -d
|
|
```
|
|
|
|
:::caution Automatic Updates
|
|
Immich is currently under heavy development, which means you can expect breaking changes and bugs. Therefore, we recommend reading the release notes prior to updating and to take special care when using automated tools like [Watchtower][watchtower].
|
|
:::
|
|
|
|
[compose-file]: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
|
[env-file]: https://github.com/immich-app/immich/releases/latest/download/example.env
|
|
[hw-file]: https://github.com/immich-app/immich/releases/latest/download/hwaccel.yml
|
|
[watchtower]: https://containrrr.dev/watchtower/
|