diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index 622b594..eaa3d28 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -1,17 +1,27 @@ +version: "3.9" + services: immich-server: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-latest} - container_name: immich-server + container_name: immich-server volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload + - ${UPLOAD_LOCATION:-./immich_upload}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env environment: - - NODE_ENV=production + NODE_ENV: ${NODE_ENV:-production} + DB_HOST: ${DB_HOST:-immich-database} + DB_PORT: ${DB_PORT:-5432} + DB_USERNAME: ${DB_USERNAME:-immich} + DB_PASSWORD: ${DB_PASSWORD:-immich} + DB_DATABASE_NAME: ${DB_DATABASE_NAME:-immich} + REDIS_HOSTNAME: ${REDIS_HOSTNAME:-immich-redis} + REDIS_PORT: ${REDIS_PORT:-6379} + JWT_SECRET: ${JWT_SECRET:-changemeplease} ports: - - 2283:2283 + - "${IMMICH_PORT:-2283}:2283" expose: - 2283 depends_on: @@ -26,27 +36,24 @@ services: # - traefik.http.routers.immich.rule=Host(`immich.example.com`) # - traefik.http.services.immich.loadbalancer.server.port=2283 # - traefik.docker.network=proxy - # # Part for local lan services only - # - traefik.http.routers.immich-swagger.rule=Host(`immich.example.com`) && PathPrefix(`/doc`) - # - traefik.http.routers.immich-swagger.middlewares=local-ipwhitelist@file immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} container_name: immich-ml volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload + - ${UPLOAD_LOCATION:-./immich_upload}:/usr/src/app/upload - model-cache:/cache env_file: - .env environment: - - NODE_ENV=production + NODE_ENV: ${NODE_ENV:-production} restart: unless-stopped networks: - - proxy # machine learning requires internet connecting for model download + - proxy - immich-internal immich-redis: - image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884 + image: docker.io/valkey/valkey:${REDIS_VERSION:-8-bookworm} container_name: immich-redis restart: unless-stopped healthcheck: @@ -55,22 +62,22 @@ services: - immich-internal immich-database: - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + image: ghcr.io/immich-app/postgres:${POSTGRES_VERSION:-14-vectorchord0.3.0-pgvectors0.2.0} container_name: immich-database env_file: - .env environment: - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_PASSWORD: ${DB_PASSWORD:-immich} + POSTGRES_USER: ${DB_USERNAME:-immich} + POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: '--data-checksums' PG_DATA: /var/lib/postgresql/data volumes: - - ${DB_DATABASE_LOCATION}:/var/lib/postgresql/data + - ${DB_DATABASE_LOCATION:-./immich_db}:/var/lib/postgresql/data restart: unless-stopped networks: - immich-internal - + volumes: model-cache: @@ -78,4 +85,4 @@ networks: proxy: external: true immich-internal: - internal: true \ No newline at end of file + internal: true