Files
cnphpbb 9b823ba34e docs(mixapi): 补充 buildx 多架构构建并调整镜像仓库
- Dockerfile/compose 头部与 readme 补充 buildx 多架构(amd64+arm64)构建示例
- IMAGE_TAG 默认改指私有仓库 hub.6t7.net/cnphpbb/mixapi 并同步各处 tag
2026-09-03 21:54:10 +08:00

73 lines
3.5 KiB
Plaintext
Raw Permalink 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 部署 — 环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式(在 deploy.stack 仓库根目录执行):
# cp mixapi/env.cfg.example mixapi/env.cfg
# $EDITOR mixapi/env.cfg # 填入真实密码后保存
# 本地单架构构建(-t 打与 IMAGE_TAG 相同的 tag):
# docker build --build-arg MIXAPI_VER=${IMAGE_TAG_VER} -t ${IMAGE_TAG} ./mixapi
# 多架构(amd64+arm64)构建并推送私有仓库:
# docker buildx build --platform linux/amd64,linux/arm64 \
# --build-arg MIXAPI_VER=${IMAGE_TAG_VER} -t ${IMAGE_TAG} --push ./mixapi
# 然后拉起(镜像已本地存在或已推送至仓库):
# docker compose -p mixapi --env-file ./mixapi/env.cfg -f ./mixapi/stack.yml up -d
#
# 说明:MIXAPI 官方未发布 Docker Hub 镜像(GitHub 仅提供 release 二进制),
# IMAGE_TAG 默认指向私有仓库 hub.6t7.net/cnphpbb/mixapi(换仓库地址时须与
# buildx/build 推送地址保持一致),需先按上面命令构建/推送再拉起。
# 本栈为全容器化独立部署(MIXAPI + Redis + PostgreSQL),
# 容器内 PostgreSQL 会自动初始化库和账号,无需在宿主机手动建库或配置 pg_hba。
# 容器 PG 未映射宿主机端口,不会与宿主机已有的 PostgreSQL 服务产生端口冲突。
#
# 复用宿主机 PG/Redis 的单容器方案见 stack.host.yml。
#
# 注意:
# - SQL_DSN / REDIS_CONN_STRING 为 URL 格式,密码建议纯字母+数字,
# 含 @ : / # 等字符时需做百分号转义
# - MIXAPI 首次启动无管理员账号:浏览器打开后走 /setup 页,
# 创建的第一个账号即为 root(同 new-api 行为)
# - 换用其它私有仓库时,同步修改 IMAGE_TAG 与 buildx/build 命令里的仓库地址
# ---------- 端口 ----------
# MIXAPI Web 服务对外暴露端口(与 newapi 默认同为 3000,同机部署需改其一)
PORT=3000
# ---------- 镜像(无官方 Docker Hub 镜像,走私有仓库/本地构建)----------
# MIXAPI 版本号(与 GitHub release tag 同名,如 v2.5.1cl
IMAGE_TAG_VER=v2.5.1cl
# 完整镜像引用:默认 hub.6t7.net/cnphpbb/mixapi 私有仓库;
# 本地单架构可 docker build 打同名 tag 直接使用,多架构用 buildx --push
IMAGE_TAG=hub.6t7.net/cnphpbb/mixapi:${IMAGE_TAG_VER}
# Redis 镜像
REDIS_IMAGE_TAG=redis:8.2
# PostgreSQL 镜像
PGSQL_IMAGE_TAG=postgres:16-alpine
# ---------- 数据卷 ----------
# 宿主机持久化目录,挂载到容器 /data、/app/logs、redis 数据以及 pgsql 数据
# 部署前手动创建:mkdir -pv /data/volumes/mixapi/{data,logs,redis,pgsql_data}
Volumes_Path=/data/volumes/mixapi
# ---------- 数据库(容器内 PostgreSQL----------
# 容器内网络互通,通过服务名 postgres 访问
DB_HOST=postgres
DB_PORT=5432
DB_NAME=mixapi
DB_USER=mixapi
DB_PASSWORD=<your-strong-password>
# ---------- Redis(容器内 Redis----------
REDIS_HOST=redis
REDIS_PASSWORD=<your-strong-password>
# ---------- MIXAPI 应用 ----------
# 会话密钥:留空则每次重启随机生成(导致重启后登录态失效);
# 多节点/多容器部署时必须设为同一随机串
SESSION_SECRET=
# 渠道密钥加密密钥:默认取 SESSION_SECRET;存量数据加密后不可随意变更
# CRYPTO_SECRET=
# 节点类型:master 主节点(默认)/ slave 从节点(多节点时从节点设为 slave)
# NODE_TYPE=master