黄中银 513f96422a 检查并配置 QEMU 用户模式模拟(多架构构建必需) 3 months ago
..
Dockerfile 6248d8c315 debian:stable-slim 3 months ago
README.md 6248d8c315 debian:stable-slim 3 months ago
buildDockerImage_apq2.bat 991248119d 国外构建脚本 3 months ago
buildDockerImage_apq2.ps1 513f96422a 检查并配置 QEMU 用户模式模拟(多架构构建必需) 3 months ago
check_update.sh 4e297eff89 准备国内构建的版本 3 months ago
common.sh 9c7e5957c0 海外版本,支持通过环境变量 GITHUB_PROXY 设置代理 3 months ago
run.sh 6248d8c315 debian:stable-slim 3 months ago

README.md

MIXAPI Docker 镜像构建说明 - 海外版本

本目录包含在海外服务器上构建 MIXAPI Docker 镜像的相关文件,直连 GitHub 无需代理。

文件说明

文件 说明
Dockerfile Docker 镜像构建文件(基于 debian:stable-slim)
common.sh 公共函数库(变量定义、下载函数等,支持 GITHUB_PROXY 环境变量)
run.sh 主启动脚本(构建时下载初始版本、运行时设置定时任务)
check_update.sh 更新检测脚本(由 crontab 定时调用)
buildDockerImage_apq2.ps1 Windows 构建脚本(远程构建并推送)

构建方法

# 进入海外版本目录
cd mixapi/overseas

# 构建镜像
docker build -t mixapi:latest .

# 多架构构建(需要 buildx)
docker buildx build --platform linux/amd64,linux/arm64 -t mixapi:latest --push .

运行方法

# 基本运行(直连 GitHub)
docker run -d -p 3000:3000 mixapi:latest

# 使用 GitHub 代理(如需要)
docker run -d -p 3000:3000 -e GITHUB_PROXY=https://ghfast.top 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/

环境变量

支持通过环境变量 GITHUB_PROXY 设置代理:

# 不使用代理(默认)
docker run -d mixapi:latest

# 使用代理
docker run -d -e GITHUB_PROXY=https://ghfast.top mixapi:latest

设置代理后,URL 会变为:

  • GitHub API: ${GITHUB_PROXY}/https://api.github.com/repos/aiprodcoder/MIXAPI/releases/latest
  • 文件下载: ${GITHUB_PROXY}/https://github.com/aiprodcoder/MIXAPI/releases/download/

支持架构

  • linux/amd64 (x86_64)
  • linux/arm64 (aarch64)

端口

  • 3000: MIXAPI 服务端口

数据目录

  • /data: 工作目录,建议挂载持久化存储
  • /app: 程序目录,包含可执行文件和脚本