# 如何獲得免費的icloud相簿 ## MAC 安裝設定 路徑 ``` brianb@Brians-MacBook-Pro ~ % pwd /Users/brianb mkdir ./immich-app cd ./immich-app ``` 第二步:下載 Docker Compose 與環境變數檔 ``` curl -L -o docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml ``` ``` curl -L -o .env https://github.com/immich-app/immich/releases/latest/download/example.env ``` 完成到這例 `mkdir -p"Volumes/外接硬碟名稱/immich-photos"` 第三步:設定環境變數 (.env) ``` nano .env ``` 第四步:啟動容器 ``` docker compose up -d ``` 第五步 :查詢MAC IP ``` ipconfig getifaddr en0 ``` ## Windows 安裝設定 1.安裝docker ``` https://www.docker.com/products/docker-desktop/ ``` 2.建立並進入一個新資料夾 (例如叫 immich-app) ``` mkdir immich-app cd immich-app ``` 3.下載 docker-compose.yml 檔案 ``` Invoke-WebRequest -Uri "https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml" -OutFile "docker-compose.yml" ``` 4.下載 .env 設定檔 ``` Invoke-WebRequest -Uri "https://github.com/immich-app/immich/releases/latest/download/example.env" -OutFile ".env" ``` 5.啟動 ``` docker compose up -d ``` 瀏覽器`http://localhost:2283` 6.查詢IP ``` ipconfig ``` ## 換更大的硬碟 ### 步驟 1:停止 Immich ``` docker compose down ``` ### 步驟 2:移動照片資料夾 假設您原本的照片在 ./library,而您的新外接硬碟路徑是 /Volumes/MyBigSSD/Photos。 請直接將 library 資料夾內的所有內容移動到新硬碟的資料夾中。 ### 步驟 3:修改指向 (.env) 用 nano .env 編輯設定檔,找到 UPLOAD_LOCATION,將它修改為新路徑: ``` # 修改前 UPLOAD_LOCATION=./library # 修改後 (範例) UPLOAD_LOCATION=/Volumes/MyBigSSD/Photos ``` (Mac 的外接硬碟路徑通常在 /Volumes/硬碟名稱/...) ### 步驟 4:重新啟動 ``` docker compose up -d ``` 關閉 ``` docker compose down ``` 選擇 "Quit Docker Desktop"。 下次打開 ``` cd ~/immich-app ``` ``` docker compose up -d ``` ## 檔案移動到不同電腦 - ### 第一階段:舊電腦 (打包備份) 📦 在舊電腦上,我們需要先把資料庫「倒出來」,然後停止服務。 **1. 匯出資料庫 (Database Dump)** 請在舊電腦的終端機進入 `immich-app` 資料夾,執行這行指令(這時候 Immich 必須是**運作中**的狀態): ```bash docker compose exec -t database pg_dumpall -c -U postgres > database-backup.sql ``` * **發生了什麼事?** 我們叫 Docker 裡的資料庫把所有資料(使用者、相簿結構、人臉數據)吐出來,存成一個 `database-backup.sql` 檔案。 **2. 停止服務** 備份完後,為了防止檔案被更動,請關閉 Immich: ```bash docker compose down ``` **3. 打包帶走** 現在,請將整個 `immich-app` 資料夾複製到隨身碟或透過網路傳輸到新電腦。確認資料夾內包含: * ✅ `library` 資料夾 (您的所有照片) * ✅ `database-backup.sql` (剛剛匯出的資料庫) * ✅ `.env` (設定檔) * ✅ `docker-compose.yml` (容器設定) ----- ### 第二階段:新電腦 (還原部署) 🚀 到了新電腦(假設已經裝好 Docker),請依序執行: **1. 放置檔案** 把整個 `immich-app` 資料夾放好 (例如放在 `~/immich-app`)。 **2. 啟動全新的 Immich** 在終端機進入該資料夾,啟動服務: ```bash docker compose up -d ``` * **注意**:這時候打開網頁,你會看到一個**全新的、空白的** Immich,因為它用的是新產生的空白資料庫。**不要驚慌,也不要註冊新帳號**,接著做下一步。 **3. 還原資料庫 (Database Restore)** 我們要用舊電腦帶來的 `.sql` 檔覆蓋掉現在這個空白的資料庫。 *(請等待約 30 秒,確保資料庫容器已經完全啟動後再執行)* ```bash cat database-backup.sql | docker compose exec -T database psql -U postgres ``` * 這行指令跑完後,終端機不會有太多回饋,這是正常的。 **4. 重啟服務讓設定生效** ```bash docker compose restart ``` ----- ### 第三階段:關鍵檢查 (Troubleshooting) 🕵️ 遷移後最容易遇到的兩個坑,請務必檢查: **1. 檢查 `.env` 路徑** 打開新電腦上的 `.env` 檔案: ```bash nano .env ``` 檢查 `UPLOAD_LOCATION` 的路徑是否正確? * 如果您在舊電腦是設定 `UPLOAD_LOCATION=./library` (相對路徑),那就沒問題。 * 如果您舊電腦是指向外接硬碟 (例如 `/Volumes/SSD/Photos`),請確保新電腦的路徑也是一樣的,否則 Immich 會找不到照片。 **2. 更新 Tailscale 與 App 連線** * **新電腦會有一個新的 Tailscale IP** (例如從 `.127` 變成 `.135`)。 * 請記得打開手機 App,把伺服器網址改成**新電腦的 IP**。 * 如果這是從 Mac 換到 Windows/Linux,記得防火牆規則要重設。 ----- **完成以上步驟後,打開瀏覽器 `localhost:2283`,登入您原本的帳號,您會發現所有照片、相簿、甚至人臉辨識的結果都原封不動地回來了!** ## 戶外連線問題 ### 第一步:在 Mac 上安裝 Tailscale * 登入成功後,您的 Mac 就加入了一個私有的虛擬網路 ### 第二步:在 iPhone 上安裝 Tailscale * 使用與 Mac 相同的帳號登入 * 登入後,點擊 Install VPN Profile (允許安裝 VPN 設定檔) * 將左上角的 Active 開關打開 ### 第三步:取得 Mac 的「虛擬 IP」 現在兩台裝置都在同一個虛擬網路了。 * 打開 iPhone 上的 Tailscale App * 您應該會看到列表上有您的 Mac (例如 brians-macbook-pro) * 長按那台 Mac 的名稱,選擇 Copy IP Address (這會是一個 100.x.x.x 開頭的 IP)。 ### 第四步:修改 Immich App 設定 這一步最關鍵,我們要把連線地址改成這個「永久不變」的虛擬 IP。 * 打開 iPhone 上的 Immich App。 * 登出 (如果已經登入),或點選修改伺服器設定。 * 將 Server Endpoint URL 改為: http://<剛剛複製的Tailscale IP>:2283/api * 重新登入。 ## 吵 最大元兇:AI 機器學習 (Machine Learning) 您剛剛啟動了 Immich,且我看 log 顯示 immich-machine-learning 有跑起來。 發生了什麼事? 當您上傳照片時,Immich 會利用 CPU 進行矩陣運算,試圖辨識照片中的人臉 (Face Detection) 和 物品 (CLIP Encoding)。 硬體瓶頸:您的 2017 Mac 是 Intel 晶片,沒有專門處理 AI 的 NPU 神經引擎。所以這些運算全部壓在雙核心 CPU 上,導致 CPU 佔用率飆升到 100%,風扇自然會全速運轉散熱。