Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions services/immich/.env
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ TZ=Europe/Amsterdam # See: https://en.wikipedia.org/wiki/List_of_tz_database_tim
# PUID=1000

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
UPLOAD_LOCATION=./${SERVICE}-data/upload

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres
DB_DATA_LOCATION=./${SERVICE}-data/database

# To set a timezone, change the TZ value above to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List

Expand Down
2 changes: 2 additions & 0 deletions services/immich/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ In this deployment, the `tailscale-immich` service runs the Tailscale client to

* **Keep `TS_ACCEPT_DNS` disabled.** The `application` service shares the DNS configuration of the `tailscale` service. With `TS_ACCEPT_DNS=true`, Tailscale replaces Docker's DNS with MagicDNS, which cannot resolve the `database`, `redis`, and `immich-machine-learning` services. Immich then fails to start with `getaddrinfo ENOTFOUND database`. You can reach Immich over your Tailnet without this setting.
* **Resolving MagicDNS names from Immich.** If Immich itself must look up other Tailnet devices by name, such as an OAuth provider or SMTP server, uncomment the `dns` block of the `tailscale` service and set `100.100.100.100` as the DNS server. Docker keeps resolving the service names and forwards all other lookups to MagicDNS. Use the full name, such as `device.example.ts.net`.
* **Storage locations.** `UPLOAD_LOCATION` and `DB_DATA_LOCATION` in `.env` set where Immich stores your media and its database. The defaults are `./immich-data/upload` and `./immich-data/database`. To move your media to another disk, set `UPLOAD_LOCATION` to an absolute path. Keep the database on a local disk, because Immich does not support network shares for it.
* **Updating an existing installation.** Earlier versions of this stack ignored both variables and always used the default folders. If your `.env` still contains `UPLOAD_LOCATION=./library` or `DB_DATA_LOCATION=./postgres`, replace them with the defaults above before you restart. Otherwise Immich starts with an empty library and a new database. Your existing files stay untouched in `./immich-data`.
* **Renamed services.** Immich connects to the hostnames `database` and `redis` by default. If you rename these services in `compose.yaml`, set `DB_HOSTNAME` and `REDIS_HOSTNAME` in `.env` to the new names.
4 changes: 2 additions & 2 deletions services/immich/compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ services:
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ./${SERVICE}-data/upload:/data
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
Expand Down Expand Up @@ -106,7 +106,7 @@ services:
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ./${SERVICE}-data/database:/var/lib/postgresql/data
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
# Healthcheck: defined by the image (/usr/local/bin/healthcheck.sh), so this file does not override it.
# The image's check connects over the Unix socket, so it can report ready during first-start initialization.
restart: always
Loading