From 835c7b5fc032541adf5ea6ad50630bf1db488bc3 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Mon, 6 Apr 2026 00:42:58 +0800 Subject: [PATCH] fix: restore dashboard dev CI and Immich mobile uploads - Change deploy-dev workflow runner from ubuntu-latest to nas Fixes: CI failing to access /volume1/docker paths - Add missing immich-machine-learning service to compose Fixes: Mobile photo uploads failing due to ML model download timeouts - Add 10min timeout for model downloads (MACHINE_LEARNING_REQUEST_TIMEOUT=600) - Add 4GB memory limit to prevent OOM during model loading - Mount model-cache volume for persistent model storage - Add health check and proper logging Impact: Restores dev deployment pipeline and mobile photo backup functionality --- .gitea/workflows/deploy-dev.yml | 2 +- immich/docker-compose.yml | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index 932664b..11bb83f 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -12,7 +12,7 @@ concurrency: jobs: deploy-dev: - runs-on: ubuntu-latest + runs-on: nas steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml index d499f42..877c30b 100644 --- a/immich/docker-compose.yml +++ b/immich/docker-compose.yml @@ -77,5 +77,33 @@ services: max-size: "10m" max-file: "3" + immich-machine-learning: + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + container_name: immich-machine-learning + restart: unless-stopped + labels: + - "com.centurylinklabs.watchtower.enable=true" + volumes: + - /volume1/docker/immich/model-cache:/cache + environment: + - MACHINE_LEARNING_CACHE_FOLDER=/cache + - MACHINE_LEARNING_REQUEST_TIMEOUT=600 + deploy: + resources: + limits: + memory: 4G + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:3003/ping || exit 1"] + interval: 30s + timeout: 5s + retries: 3 + networks: + - immich + logging: + driver: json-file + options: + max-size: "10m" + max-file: "3" + networks: immich: