Files
deploy.stack/mixapi/Dockerfile
T
cnphpbb 4afb627314 feat(mixapi): 添加 MIXAPI 部署配置
- 全容器化 stack.yml 与复用 prod-dbs 的 stack.host.yml 双方案
- Dockerfile 从 GitHub Release 下载官方二进制构建(官方无 Docker Hub 镜像)
- env.cfg.example 模板与 readme 部署/初始化说明
2026-09-03 21:24:59 +08:00

44 lines
1.8 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# MIXAPI 镜像 — 官方无 Docker Hub 镜像,本文件从 GitHub Release
# 下载官方编译好的二进制构建(与上游仓库 Dockerfile 思路一致)。
#
# build:: docker build --build-arg MIXAPI_VER=v2.5.1cl -t mixapi:v2.5.1cl .
# run:: docker run --name mixapi -d --restart always -p 3000:3000 \
# -v /data/volumes/mixapi/data:/data -e TZ=Asia/Shanghai mixapi:v2.5.1cl
#
# disc:: MIXAPI_VER 需与 GitHub release tag 同名,二进制命名规则:
# mixapi-${MIXAPI_VER}-linux-${amd64|arm64}
# disc:: 数据目录:容器内工作目录为 /data(不配置 SQL_DSN 时默认使用
# /data/one-api.db 的 SQLite--log-dir 未指定时日志在 /data/logs
# ============================================================
FROM alpine:3.21
# wget 下载二进制 + 健康检查;tzdata 保证 TZ=Asia/Shanghai 时区生效;ca-certificates 保证 HTTPS
RUN apk add --no-cache wget ca-certificates tzdata \
&& rm -rf /var/cache/apk/*
WORKDIR /app
# 版本号(与 release tag 同名),可用 --build-arg 覆盖
ARG MIXAPI_VER=v2.5.1cl
# 架构后缀,留空则按构建机架构自动识别(amd64/arm64
ARG MIXAPI_ARCH=
RUN set -eux; \
if [ -z "${MIXAPI_ARCH}" ]; then \
case "$(apk --print-arch)" in \
x86_64) MIXAPI_ARCH=amd64 ;; \
aarch64) MIXAPI_ARCH=arm64 ;; \
*) echo "不支持的架构: $(apk --print-arch)" >&2; exit 1 ;; \
esac; \
fi; \
wget -O mixapi "https://github.com/aiprodcoder/MIXAPI/releases/download/${MIXAPI_VER}/mixapi-${MIXAPI_VER}-linux-${MIXAPI_ARCH}"; \
chmod +x mixapi
# 数据/日志工作目录(与上游 Dockerfile 约定一致)
WORKDIR /data
EXPOSE 3000
# 用 ENTRYPOINT 便于 compose 追加参数(如 --log-dir /app/logs
ENTRYPOINT ["/app/mixapi"]