Selaa lähdekoodia

国内外构建说明

黄中银 3 kuukautta sitten
vanhempi
sitoutus
8847b1bd21
2 muutettua tiedostoa jossa 190 lisäystä ja 0 poistoa
  1. 116 0
      mixapi/china/README.md
  2. 74 0
      mixapi/overseas/README.md

+ 116 - 0
mixapi/china/README.md

@@ -0,0 +1,116 @@
+# MIXAPI Docker 镜像构建说明 - 国内版本
+
+本目录包含在国内服务器上构建 MIXAPI Docker 镜像的相关文件,针对国内网络环境做了优化。
+
+## 文件说明
+
+| 文件 | 说明 |
+|------|------|
+| `Dockerfile` | Docker 镜像构建文件(使用华为云镜像源) |
+| `common.sh` | 公共函数库(使用 GitHub 代理加速) |
+| `run.sh` | 主启动脚本(构建时下载初始版本、运行时设置定时任务) |
+| `check_update.sh` | 更新检测脚本(由 crontab 定时调用) |
+
+## 构建方法
+
+```bash
+# 进入国内版本目录
+cd mixapi/china
+
+# 构建镜像
+docker build -t mixapi:latest .
+
+# 多架构构建(需要 buildx)
+docker buildx build --platform linux/amd64,linux/arm64 -t mixapi:latest --push .
+```
+
+## 运行方法
+
+```bash
+# 基本运行(使用默认代理 ghfast.top)
+docker run -d -p 3000:3000 mixapi:latest
+
+# 使用自定义 GitHub 代理
+docker run -d -p 3000:3000 -e GITHUB_PROXY=https://mirror.ghproxy.com mixapi:latest
+
+# 挂载数据目录
+docker run -d -p 3000:3000 -v /path/to/data:/data mixapi:latest
+```
+
+## 国内加速优化
+
+### 1. Docker 基础镜像加速
+
+使用华为云镜像源拉取基础镜像:
+
+| 原始镜像 | 加速镜像 |
+|----------|----------|
+| `busybox:glibc` | `swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/busybox:glibc` |
+
+### 2. GitHub 代理加速
+
+通过代理加速 GitHub API 和文件下载:
+
+| 项目 | 配置 |
+|------|------|
+| 默认代理 | `https://ghfast.top` |
+| GitHub API | `${GITHUB_PROXY}/https://api.github.com/repos/aiprodcoder/MIXAPI/releases/latest` |
+| 文件下载 | `${GITHUB_PROXY}/https://github.com/aiprodcoder/MIXAPI/releases/download/` |
+
+### 3. 环境变量配置
+
+支持通过环境变量 `GITHUB_PROXY` 覆盖默认代理:
+
+```bash
+# 使用默认代理
+docker run -d mixapi:latest
+
+# 使用自定义代理
+docker run -d -e GITHUB_PROXY=https://ghproxy.net mixapi:latest
+
+# 不使用代理(直连,需要网络支持)
+docker run -d -e GITHUB_PROXY="" mixapi:latest
+```
+
+## 工作原理
+
+### 构建时
+1. 使用华为云镜像源拉取 `busybox:glibc` 基础镜像
+2. 复制脚本文件到 `/app/` 目录
+3. 运行 `run.sh OnlyUpdate` 通过代理下载当前最新版本的 MIXAPI
+
+### 运行时
+1. 设置 crontab 定时任务(每天执行一次更新检测)
+2. 启动 busybox crond 后台服务
+3. 后台执行一次更新检测(通过代理)
+4. 前台启动 MIXAPI 服务
+
+### 定时更新
+- 每天在容器启动时间的上一分钟执行更新检测
+- 检测到新版本时自动通过代理下载并热更新
+- 更新日志记录在 `/app/update.log`
+
+## 常用 GitHub 代理
+
+如果默认代理不可用,可以尝试以下代理:
+
+| 代理名称 | 地址 |
+|----------|------|
+| ghfast | `https://ghfast.top` |
+| ghproxy.net | `https://ghproxy.net` |
+| mirror.ghproxy.com | `https://mirror.ghproxy.com` |
+| gh-proxy.com | `https://gh-proxy.com` |
+
+## 支持架构
+
+- `linux/amd64` (x86_64)
+- `linux/arm64` (aarch64)
+
+## 端口
+
+- `3000`: MIXAPI 服务端口
+
+## 数据目录
+
+- `/data`: 工作目录,建议挂载持久化存储
+- `/app`: 程序目录,包含可执行文件和脚本

+ 74 - 0
mixapi/overseas/README.md

@@ -0,0 +1,74 @@
+# MIXAPI Docker 镜像构建说明 - 海外版本
+
+本目录包含在海外服务器上构建 MIXAPI Docker 镜像的相关文件,直连 GitHub 无需代理。
+
+## 文件说明
+
+| 文件 | 说明 |
+|------|------|
+| `Dockerfile` | Docker 镜像构建文件 |
+| `common.sh` | 公共函数库(变量定义、下载函数等) |
+| `run.sh` | 主启动脚本(构建时下载初始版本、运行时设置定时任务) |
+| `check_update.sh` | 更新检测脚本(由 crontab 定时调用) |
+
+## 构建方法
+
+```bash
+# 进入海外版本目录
+cd mixapi/overseas
+
+# 构建镜像
+docker build -t mixapi:latest .
+
+# 多架构构建(需要 buildx)
+docker buildx build --platform linux/amd64,linux/arm64 -t mixapi:latest --push .
+```
+
+## 运行方法
+
+```bash
+# 基本运行
+docker run -d -p 3000:3000 mixapi:latest
+
+# 挂载数据目录
+docker run -d -p 3000:3000 -v /path/to/data:/data mixapi:latest
+```
+
+## 工作原理
+
+### 构建时
+1. 使用 `busybox:glibc` 作为基础镜像(自带 wget、crond、sh)
+2. 复制脚本文件到 `/app/` 目录
+3. 运行 `run.sh OnlyUpdate` 下载当前最新版本的 MIXAPI
+
+### 运行时
+1. 设置 crontab 定时任务(每天执行一次更新检测)
+2. 启动 busybox crond 后台服务
+3. 后台执行一次更新检测
+4. 前台启动 MIXAPI 服务
+
+### 定时更新
+- 每天在容器启动时间的上一分钟执行更新检测
+- 检测到新版本时自动下载并热更新
+- 更新日志记录在 `/app/update.log`
+
+## 网络配置
+
+| 项目 | 配置 |
+|------|------|
+| GitHub API | `https://api.github.com/repos/aiprodcoder/MIXAPI/releases/latest` |
+| 文件下载 | `https://github.com/aiprodcoder/MIXAPI/releases/download/` |
+
+## 支持架构
+
+- `linux/amd64` (x86_64)
+- `linux/arm64` (aarch64)
+
+## 端口
+
+- `3000`: MIXAPI 服务端口
+
+## 数据目录
+
+- `/data`: 工作目录,建议挂载持久化存储
+- `/app`: 程序目录,包含可执行文件和脚本