Files

73 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

2026-09-03 21:24:59 +08:00
# ============================================================
# MIXAPI 部署 — 环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式(在 deploy.stack 仓库根目录执行):
# cp mixapi/env.cfg.example mixapi/env.cfg
# $EDITOR mixapi/env.cfg # 填入真实密码后保存
# 本地单架构构建(-t 打与 IMAGE_TAG 相同的 tag):
2026-09-03 21:24:59 +08:00
# 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
# 然后拉起(镜像已本地存在或已推送至仓库):
2026-09-03 21:24:59 +08:00
# 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 推送地址保持一致),需先按上面命令构建/推送再拉起。
2026-09-03 21:24:59 +08:00
# 本栈为全容器化独立部署(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 命令里的仓库地址
2026-09-03 21:24:59 +08:00
# ---------- 端口 ----------
# MIXAPI Web 服务对外暴露端口(与 newapi 默认同为 3000,同机部署需改其一)
PORT=3000
# ---------- 镜像(无官方 Docker Hub 镜像,走私有仓库/本地构建)----------
2026-09-03 21:24:59 +08:00
# 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}
2026-09-03 21:24:59 +08:00
# 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