• 手机照片备份方案Immich(修订版)



    前言

    墨菲定律又一次得到了验证 😂 ,它告诉我们,越担心什么,就越会发生什么。

    老苏原本担心参数、接口可能会有变化,但是实际上变动更大,新版本不再使用 nginx,取而代之的是 immich_proxy,所以下载原文中的 immich.zip 来安装,会导致下面的错误:

    在这里插入图片描述

    抱歉了各位~~~ ,下面来将功补过

    安装

    docker-compose.yml

    老苏对比了一下 docker-compose.yml 主要的变化:

    • 镜像 taglatest 改为了 release
    • 取消了 networks
    • 取消了暴露的多个端口,现在对外只有一个端口,默认是 2283
    • 不再使用 nginx 做代理,而是用了自己的 immich_proxy

    👇下面是老苏在最新的官方基础上微调后的 docker-compose.yml

    除了端口 2283,其他的你可以不需要改动;

    version: "3.8"
    
    services:
      immich-server:
        image: altran1502/immich-server:release
        entrypoint: ["/bin/sh", "./start-server.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - redis
          - database
        restart: always
    
      immich-microservices:
        image: altran1502/immich-server:release
        entrypoint: ["/bin/sh", "./start-microservices.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - redis
          - database
        restart: always
    
      immich-machine-learning:
        image: altran1502/immich-machine-learning:release
        entrypoint: ["/bin/sh", "./entrypoint.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - database
        restart: always
    
      immich-web:
        image: altran1502/immich-web:release
        entrypoint: ["/bin/sh", "./entrypoint.sh"]
        env_file:
          - .env
        restart: always
    
      redis:
        container_name: immich_redis
        image: redis:6.2
        restart: always
    
      database:
        container_name: immich_postgres
        image: postgres:14
        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_LOCATION}:/var/lib/postgresql/data
        restart: always
    
      immich-proxy:
        container_name: immich_proxy
        image: altran1502/immich-proxy:release
        ports:
          - 2283:80
        logging:
          driver: none
        depends_on:
          - immich-server
        restart: always
    
    • 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
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80

    .env

    .envVITE_SERVER_ENDPOINT 相比之前的版本,地址后面增加了 /api

    如果你是从公网访问,需要改为反代后的域名地址,例如:https://immich.laosu.ml:444/api

    如果这个地址设置不正确,有可能出现 Network Error

    在这里插入图片描述

    除了 VITE_SERVER_ENDPOINT 要根据自己的 IP 或者域名设定外,其他的你可以不需要改动;

    # 数据库
    DB_USERNAME=postgres
    DB_PASSWORD=postgres
    DB_DATABASE_NAME=immich
    DB_LOCATION=./data
    
    # Redis
    REDIS_HOSTNAME=immich_redis
    
    # 上传文件配置
    UPLOAD_LOCATION=./upload
    
    #JWT SECRET
    JWT_SECRET=RdjXLHfm3gTcqWq7z6GBwtyipvuHMBMiZ2VygWLVRCBdWdSBgP9jSEk5E9Y8Xhhy
    
    # MAPBOX
    ## ENABLE_MAPBOX -> 如果为真,则必须提供 MAPBOX_KEY
    ENABLE_MAPBOX=false
    MAPBOX_KEY=
    
    # 网页地址
    VITE_SERVER_ENDPOINT=http://192.168.0.197:2283/api
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    如果你是新安装的,可以执行下面的命令

    # 新建文件夹 immich 和 子目录
    mkdir -p /volume2/docker/immich/{data,upload}
    
    # 进入 immich 目录
    cd /volume2/docker/immich
    
    # 将 docker-compose.yml 和 .env 文件放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

    访问时,打开 http://群晖IP:2283

    如果出现👇这种,有可能是你打开太快了,环境还没准备好,稍等几分钟再试试

    在这里插入图片描述

    看到了欢迎界面,接来下就可以正常使用了

    在这里插入图片描述

    目前安装出来的版本是 v1.19.1

    在这里插入图片描述

    小结

    官网有一段话,大家需要注意

    在这里插入图片描述

    目前的改动非常频繁,测试下就可以了,现阶段千万不要真的用于保存照片。

    参考文档

    alextran1502/immich: Self-hosted photo and video backup solution directly from your mobile phone.
    地址:https://github.com/alextran1502/immich

  • 相关阅读:
    IPv6 PIRng 和路由手工汇总【下一代互联网04】
    阿里云国际站:应用实时监控服务
    基金客户服务
    弗洛伊德算法(Java)
    <蓝桥杯软件赛>零基础备赛20周--第4周--杂题-1
    6.2 如何理解Go语言中的接口
    SpringBoot+Vue项目多文件上传同时上传其他参数
    Vue以及整合ElementUI
    Vue学习:插槽
    【数据结构与算法】排序(上篇)
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/126185755