Immich Public Proxy 项目教程

Immich Public Proxy 项目教程

immich-public-proxy Share your Immich photos and albums in a safe way without exposing your Immich instance to the public. immich-public-proxy 项目地址: https://gitcode.com/gh_mirrors/im/immich-public-proxy

1. 项目目录结构及介绍

Immich Public Proxy 项目的目录结构如下:

immich-public-proxy/
├── .github/
├── app/
├── docs/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── docker-compose.yml
└── config.json
  • .github/: 存放 GitHub 专用的配置文件。
  • app/: 包含项目的源代码。
  • docs/: 存放项目文档。
  • .dockerignore: 指定 Docker 构建时需要忽略的文件。
  • .gitignore: 指定 Git 提交时需要忽略的文件。
  • Dockerfile: 用于构建项目的 Docker 镜像。
  • LICENSE: 项目的许可文件,本项目采用 AGPL-3.0 许可。
  • README.md: 项目的说明文件,包含项目的基本信息和如何使用。
  • docker-compose.yml: 用于定义和运行多容器 Docker 应用。
  • config.json: 项目的配置文件,用于自定义项目的行为。

2. 项目的启动文件介绍

项目的启动主要通过 docker-compose.yml 文件来管理。以下是 docker-compose.yml 的基本内容:

version: '3'

services:
  proxy:
    image: immich-public-proxy
    ports:
      - "8080:80"
    environment:
      - IMMICH_URL=http://immich:8080
    volumes:
      - ./config.json:/app/config.json:ro
    depends_on:
      - immich

在此配置文件中,定义了一个服务 proxy,它使用 immich-public-proxy 镜像,映射了容器的 80 端口到主机的 8080 端口。IMMICH_URL 环境变量用于设置 Immich 实例的内部 URL。volumes 部分用于挂载本地的 config.json 配置文件到容器内。

启动项目时,你需要在项目根目录下执行以下命令:

docker-compose up -d

这将以后台模式启动 Docker 容器。

3. 项目的配置文件介绍

项目的配置文件为 config.json。此文件用于自定义 Immich Public Proxy 的行为。以下是一个 config.json 的示例内容:

{
  "ipp": {
    "showHomePage": false,
    "responseHeaders": {
      "Cache-Control": "no-cache"
    },
    "singleImageGallery": true,
    "downloadOriginalPhoto": false,
    "showGalleryTitle": true,
    "allowDownloadAll": 1,
    "customInvalidResponse": {
      "status": 404,
      "message": "Not Found"
    }
  },
  "lightGallery": {
    "controls": true,
    "download": false,
    "mobileSettings": {
      "controls": false,
      "showCloseIcon": true,
      "download": false
    }
  }
}

在此配置文件中,可以设置以下选项:

  • showHomePage: 是否显示主页。
  • responseHeaders: 自定义响应头部。
  • singleImageGallery: 是否对于单个图片显示画廊页面。
  • downloadOriginalPhoto: 是否允许下载原始图片。
  • showGalleryTitle: 是否显示画廊标题。
  • allowDownloadAll: 是否允许下载所有文件。
  • customInvalidResponse: 自定义无效响应。

根据需要修改 config.json 文件后,重启 Docker 容器以应用更改。

以上就是 Immich Public Proxy 项目的目录结构、启动文件和配置文件的介绍。

immich-public-proxy Share your Immich photos and albums in a safe way without exposing your Immich instance to the public. immich-public-proxy 项目地址: https://gitcode.com/gh_mirrors/im/immich-public-proxy