
Windows 安装 Docker 部署 Immich
前言
我有挺多图片的,想搭建个图片管理工具奈何没有服务器,也没有 Nas ,干脆就笔记本电脑上。
打算用 Windows 装个 Docker 再在里面装个 Immich 。
给位佬友们有什么好推荐的吗,最好就能放在托管平台上面的,但是我 不想花钱 。
别问为什么没有图片,懒得截。
环境
- Windows 11
准备工作
- 开启电脑的功能 Hyper-V 和 适用于 Linux 的 Windows 子系统和虚拟机平台- 打开控制面板 -> 程序 -> 程序和功能 -> 启用或关闭 Windows 功能
- Hyper-V 和 适用于 Linux 的 Windows 子系统和虚拟机平台 (勾选)
 
- 去官网下载 Docker并安装 (速度有点慢自行想办法)- 无脑点 OK 然后等
- 安装完成点 Close
- 在桌面找到蓝色小鲸鱼打开它
- Accept(同意) 一些协议
- 提示需要登陆,感觉没必要可以点右上角 Skip(跳过)
- 调查问卷 Skip(跳过) 就行
- 更改 Docker 语言- 点击这里去下载汉化包
- 关闭Docker Desktop
- 在Docker安装目录找到app.asar文件并将其备份,防止出现意外。- Windows下默认为C:\Program Files\Docker\Docker\frontend\resources
- Macos下默认为/Applications/Docker.app/Contents/MacOS/Docker Desktop.app/Contents/Resources
- Ubuntu/Debian下默认为/opt/docker-desktop/resources
 
- 将下载的asar文件改名为app.asar后替换原文件
 
- 打开终端CMD输入 docker –version1 
 2PS C:\Users\59974> docker --version 
 Docker version 28.0.4, build b8034c0
- 安装成功
 
安装 Immich
- 新建 F:/web/immich 文件夹(全英文路径)
- 下载最新的配置文件,我写了个脚本双击运行即可 updatedownload.batF:/web/immich/updatedownload.bat 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52@echo off 
 REM 设置基地址
 set BASE_URL=https://github.com/immich-app/immich/releases/latest/download/
 REM 下载 docker-compose.yml 文件
 echo 正在下载 docker-compose.yml ...
 powershell -Command "Invoke-WebRequest -Uri '%BASE_URL%docker-compose.yml' -OutFile 'docker-compose.yml'"
 if %ERRORLEVEL% neq 0 (
 echo 下载 docker-compose.yml 失败!
 pause
 exit /b %ERRORLEVEL%
 )
 REM 下载 .env 文件
 echo 正在下载 .env 文件 ...
 powershell -Command "Invoke-WebRequest -Uri '%BASE_URL%example.env' -OutFile '.env'"
 if %ERRORLEVEL% neq 0 (
 echo 下载 .env 失败!
 pause
 exit /b %ERRORLEVEL%
 )
 REM 下载 hwaccel.ml.yml 文件
 echo 正在下载 hwaccel.ml.yml ...
 powershell -Command "Invoke-WebRequest -Uri '%BASE_URL%hwaccel.ml.yml' -OutFile 'hwaccel.ml.yml'"
 if %ERRORLEVEL% neq 0 (
 echo 下载 hwaccel.ml.yml 失败!
 pause
 exit /b %ERRORLEVEL%
 )
 REM 下载 hwaccel.transcoding.yml 文件
 echo 正在下载 hwaccel.transcoding.yml ...
 powershell -Command "Invoke-WebRequest -Uri '%BASE_URL%hwaccel.transcoding.yml' -OutFile 'hwaccel.transcoding.yml'"
 if %ERRORLEVEL% neq 0 (
 echo 下载 hwaccel.transcoding.yml 失败!
 pause
 exit /b %ERRORLEVEL%
 )
 REM 下载 prometheus.yml 文件
 echo 正在下载 prometheus.yml ...
 powershell -Command "Invoke-WebRequest -Uri '%BASE_URL%prometheus.yml' -OutFile 'prometheus.yml'"
 if %ERRORLEVEL% neq 0 (
 echo 下载 prometheus.yml 失败!
 pause
 exit /b %ERRORLEVEL%
 )
 echo 所有文件下载完成!
 pause
- 修改 F:/web/immich/.env 文件(你不想改数据库密码可跳过)F:/web/immich/.env 1 
 2
 3
 4
 5
 6
 7# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List 
 - # TZ=Etc/UTC
 + TZ=Asia/Shanghai
 # Connection secret for postgres. You should change it to a random password
 # Please use only the characters `A-Za-z0-9`, without special characters or spaces
 - DB_PASSWORD=postgres
 + DB_PASSWORD=密码
- 运行安装代码1 docker compose up -d 
- 打开 http://127.0.0.1:2283(本机IP地址),显示 欢迎使用 Immich 界面即部署成功。
进阶操作
1. 更改模型,及文件路径
- 映射外部相册文件夹,更改模型F:/web/immich/docker-compose.yml 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28services: 
 immich-server:
 container_name: immich_server
 image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
 - # extends:
 - # file: hwaccel.transcoding.yml
 - # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
 + extends:
 + file: hwaccel.transcoding.yml
 + service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
 volumes:
 # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
 - ${UPLOAD_LOCATION}:/usr/src/app/upload
 - /etc/localtime:/etc/localtime:ro
 + - F:/together:/mnt/media:ro
 immich-machine-learning:
 container_name: immich_machine_learning
 # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
 # Example tag: ${IMMICH_VERSION:-release}-cuda
 image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
 - # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
 - # file: hwaccel.ml.yml
 - # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
 + extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
 + file: hwaccel.ml.yml
 + service: cuda # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
 volumes:
 + - F:/web/model-cache:/cache
- 下载模型(自行配置SSH)1 
 2
 3
 4
 5git clone https://huggingface.co/immich-app/buffalo_l 
 git clone https://huggingface.co/immich-app/XLM-Roberta-Large-Vit-B-16Plus
 # 国内镜像
 git clone https://hf-mirror.com/immich-app/buffalo_l
 git clone https://hf-mirror.com/immich-app/XLM-Roberta-Large-Vit-B-16Plus
- 移动文件夹,树状图如下F:/web/model-cache 1 
 2
 3
 4
 5
 6
 7model-cache 
 ├─clip
 │ └─XLM-Roberta-Large-Vit-B-16Plus
 │ ├─textual
 │ └─visual
 └─facial-recognition
 └─buffalo_l
- 跟之前一样,运行安装代码等待部署即可1 docker compose up -d 
2. 内网穿透
3. 效果
结尾
至此,教程结束。希望对你有所帮助,有任何问题请在下方留言。可以关注我的 公众号以及订阅我的文章 ,感谢你的支持,是对我最大的动力,当然了,更多的是因为热爱。
本文参考
- 感谢您的赞赏
赞赏名单
由于您的支持,我才能够实现写作的价值。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自叶泯希
 评论 ()
 评论协议


















