Skip to content

mac docker 一键部署 教程 #70

@xyongsec

Description

@xyongsec

🍏 macOS 本地私有化部署 AssppWeb 详细指南 (Docker + Caddy)
项目简介:
AssppWeb 是一个可以通过网页直接给 iOS 设备安装 IPA 文件的工具。由于苹果 iOS 系统强制要求 itms-services:// 协议必须通过受信任的 HTTPS 提供服务,因此在本地局域网部署时,我们需要结合 Caddy (提供反向代理) 和 mkcert (提供本地受信任证书) 来实现完美的纯内网安装环境。

🛠️ 1. 环境准备
确保你的 macOS 已经安装了以下基础工具:

Docker Desktop for Mac (并确保引擎正在运行)。

Homebrew (macOS 包管理器)。

打开终端 (Terminal),安装本地证书生成工具 mkcert:

Bash
brew install mkcert

将本地 CA 安装到 macOS 系统信任库

mkcert -install
🌐 2. 确定局域网 IP
按住 Mac 键盘上的 Option (⌥) 键,点击顶部菜单栏的 Wi-Fi 图标,记下你的局域网 IP 地址(例如 192.168.0.55)。
注意:后续步骤中,请将 192.168.0.55 替换为你实际的 IP。

🔐 3. 创建项目与生成证书
在你喜欢的地方创建一个项目文件夹并进入:

Bash
mkdir -p ~/Desktop/AssppWeb && cd ~/Desktop/AssppWeb

创建用于存放证书的目录,并为你的局域网 IP 生成专属证书:

Bash
mkdir certs
mkcert -cert-file certs/cert.pem -key-file certs/key.pem 192.168.0.55

📝 4. 编写配置文件
在项目根目录下,我们需要创建两个配置文件:docker-compose.yml 和 Caddyfile。

  1. 创建 docker-compose.yml

YAML

version: '3.8'

services:
  asspp:
    image: ghcr.io/lakr233/assppweb:latest
    container_name: asspp
    ports:
      - "8080:8080"
    volumes:
      - ./mnt/asspp-data:/data
    environment:
      - DATA_DIR=/data
      - PORT=8080
      # 若需密码保护,取消下方注释并修改密码
      # - ACCESS_PASSWORD=your_password_here
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: "128m"
        max-file: "5"
    networks:
      - webnet

  caddy:
    image: caddy:latest
    container_name: caddy-proxy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./certs:/etc/caddy/certs
    networks:
      - webnet
    depends_on:
      - asspp

networks:
  webnet:
  1. 创建 Caddyfile
    提示:这里使用 :443 而不是具体的 IP,可以提高兼容性,避免部分浏览器严格的 SNI 校验报错。

代码段

:443 {
    tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem
    reverse_proxy asspp:8080
}

🚀 5. 启动服务
在终端中运行以下命令,拉取镜像并启动服务:

Bash
docker compose up -d

启动后,可以通过 docker ps 查看 asspp 和 caddy-proxy 是否均处于 Up 状态。

📱 6. iOS 设备端信任配置(核心关键步)
为了让 iPhone 的 Safari 浏览器能够信任你本地的 HTTPS 服务,必须将 mkcert 生成的根证书 (Root CA) 安装到手机上。

获取根证书:在 Mac 终端运行 mkcert -CAROOT,找到路径下的 rootCA.pem 文件。

发送至手机:将 rootCA.pem 通过隔空投送 (AirDrop) 发送到 iPhone。

安装描述文件:在 iPhone 上打开“设置” -> 点击顶部的“已下载描述文件” -> 点击“安装”。

开启完全信任:在 iPhone 上进入 设置 -> 通用 -> 关于本机 -> 证书信任设置(滑到最底部),找到 mkcert 证书并将其右侧的开关打开(绿色状态)。

🎉 7. 开始使用
确保 iPhone 与 Mac 连接在同一个 Wi-Fi 局域网下。
打开 iPhone 的 Safari 浏览器,访问:
👉 https://你的局域网IP (例如 https://192.168.0.55)

此时,你将看到一把安全的绿色小锁,网页正常加载,你可以自由上传和安装 IPA 文件了!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions