diff --git a/immich/.env.sample b/immich/.env.sample new file mode 100644 index 0000000..a596b3d --- /dev/null +++ b/immich/.env.sample @@ -0,0 +1,24 @@ +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=Immich + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=release + +# Connection secrets for postgres and typesense. You should change these to random passwords +TYPESENSE_API_KEY=some-random-text +DB_PASSWORD=ChangeMe + +# The values below this line do not need to be changed +################################################################################### +DB_HOSTNAME=immich_postgres +DB_USERNAME=postgres +DB_DATABASE_NAME=immich + +REDIS_HOSTNAME=immich_redis + +# NFS Share +################################################################################### +NFS_SERVER=192.168.0.xxx +PFAD=/pfad/zum/nfs/share diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..5a6514b --- /dev/null +++ b/immich/docker-compose.yml @@ -0,0 +1,86 @@ +version: "3.8" + +services: + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + command: [ "start.sh", "immich" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + ports: + - 8015:3001 + depends_on: + - redis + - database + - typesense + restart: always + + immich-microservices: + container_name: immich_microservices + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + command: [ "start.sh", "microservices" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + + immich-machine-learning: + container_name: immich_machine_learning + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + volumes: + - ./model-cache:/cache + env_file: + - .env + restart: always + + typesense: + container_name: immich_typesense + image: typesense/typesense:0.24.1 + environment: + - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} + - TYPESENSE_DATA_DIR=/data + # remove this to get debug messages + - GLOG_minloglevel=1 + volumes: + - ./tsdata:/data + restart: always + + redis: + container_name: immich_redis + image: redis:6.2-alpine + env_file: + - .env + volumes: + - ./redis:/data + restart: always + + database: + container_name: immich_postgres + image: postgres:14-alpine + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + volumes: + - ./DB-data:/var/lib/postgresql/data + restart: always + +volumes: + Immich: + name: Immich + driver: local + driver_opts: + type: nfs + o: addr=${NFS_SERVER},rw + device: ":${PFAD}" \ No newline at end of file