diff --git a/templates/docker-compose.yml.j2 b/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..6bf834c --- /dev/null +++ b/templates/docker-compose.yml.j2 @@ -0,0 +1,119 @@ +version: "3.8" + +name: immich + +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 + - ${ARCHIVE}:/mnt/media/library:ro + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + networks: + - immich-net + + immich-microservices: + container_name: immich_microservices + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # file: hwaccel.yml + # service: hwaccel + command: [ "start.sh", "microservices" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - ${ARCHIVE}:/mnt/media/library:ro + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + networks: + - immich-net + + 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 + networks: + - immich-net + + immich-web: + container_name: immich_web + image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} + env_file: + - .env + restart: always + networks: + - immich-net + + typesense: + container_name: immich_typesense + image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd + 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 + networks: + - immich-net + + redis: + container_name: immich_redis + image: redis:6.2-alpine@sha256:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb + restart: always + networks: + - immich-net + + database: + container_name: immich_postgres + image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + volumes: + - pgdata:/var/lib/postgresql/data + restart: always + networks: + - immich-net + + immich-proxy: + container_name: immich_proxy + image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} + ports: + - ${IMMICH_PORT}:8080 + depends_on: + - immich-server + - immich-web + restart: always + networks: + - immich-net + +volumes: + pgdata: + model-cache: + tsdata: + +networks: + immich-net: {} diff --git a/templates/env.immich.j2 b/templates/env.immich.j2 new file mode 100644 index 0000000..792a791 --- /dev/null +++ b/templates/env.immich.j2 @@ -0,0 +1,20 @@ +# 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_upload }} +IMMICH_PORT={{ immich_port }} + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION={{ immich_version }} + +# Connection secrets for postgres and typesense. You should change these to random passwords +TYPESENSE_API_KEY={{ immich_typesense_key }} +DB_PASSWORD={{ immich_db_password }} + +# 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