diff --git a/examples/immich/docker-compose.yml b/examples/immich/docker-compose.yml new file mode 100644 index 0000000..dcab592 --- /dev/null +++ b/examples/immich/docker-compose.yml @@ -0,0 +1,123 @@ +# stack for immich >= v1.88.0 + +version: "3.8" + +services: + immich-server: + container_name: immich-server + image: altran1502/immich-server:release + command: [ "start.sh", "immich" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + environment: + - NODE_ENV=production + ports: + - 2283:3001 + expose: + - 3001 + depends_on: + - immich-redis + - immich-database + - immich-typesense + restart: unless-stopped + #networks: + # - proxy + #labels: + # - traefik.enable=false + # - traefik.http.routers.immich.rule=Host(`immich.example.com`) + # - traefik.http.services.immich.loadbalancer.server.port=3001 + # - traefik.docker.network=proxy + # # Part for local lan services only + # - traefik.http.routers.immich.middlewares=local-ipwhitelist@file + # - "com.centurylinklabs.watchtower.enable=true" + + immich-microservices: + container_name: immich-microservices + image: altran1502/immich-server:release + command: [ "start.sh", "microservices" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + environment: + - NODE_ENV=production + depends_on: + - immich-redis + - immich-database + - immich-typesense + restart: unless-stopped + #labels: + # - "com.centurylinklabs.watchtower.enable=true" + #networks: + # - proxy + + immich-typesense: + container_name: immich-typesense + hostname: 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: + - ${TYPESENSE_LOCATION}:/data + restart: unless-stopped + #labels: + # - "com.centurylinklabs.watchtower.enable=true" + #networks: + # - proxy + + immich-machine-learning: + image: altran1502/immich-machine-learning:release + container_name: immich-ml + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - model-cache:/cache + env_file: + - .env + environment: + - NODE_ENV=production + restart: unless-stopped + #labels: + # - "com.centurylinklabs.watchtower.enable=true" + #networks: + # - proxy + + immich-redis: + container_name: immich-redis + image: redis:6.2-alpine + restart: unless-stopped + #labels: + # - "com.centurylinklabs.watchtower.enable=true" + #networks: + # - proxy + + immich-database: + container_name: immich-database + image: postgres:14-alpine + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + PG_DATA: /var/lib/postgresql/data + volumes: + - ${DB_DATABASE_LOCATION}:/var/lib/postgresql/data + restart: unless-stopped + #labels: + # - "com.centurylinklabs.watchtower.enable=true" + #networks: + # - proxy + +volumes: + model-cache: + +#networks: +# proxy: +# external: true