# ============================================================ # 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= # ---------- Redis(容器内 Redis)---------- REDIS_HOST=redis REDIS_PASSWORD= # ---------- MIXAPI 应用 ---------- # 会话密钥:留空则每次重启随机生成(导致重启后登录态失效); # 多节点/多容器部署时必须设为同一随机串 SESSION_SECRET= # 渠道密钥加密密钥:默认取 SESSION_SECRET;存量数据加密后不可随意变更 # CRYPTO_SECRET= # 节点类型:master 主节点(默认)/ slave 从节点(多节点时从节点设为 slave) # NODE_TYPE=master