forked from DevOps/deploy.stack
feat(mixapi): 添加 MIXAPI 部署配置
- 全容器化 stack.yml 与复用 prod-dbs 的 stack.host.yml 双方案 - Dockerfile 从 GitHub Release 下载官方二进制构建(官方无 Docker Hub 镜像) - env.cfg.example 模板与 readme 部署/初始化说明
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# ============================================================
|
||||
# MIXAPI 部署 — 环境变量模板(不含敏感信息)
|
||||
# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略
|
||||
# ============================================================
|
||||
#
|
||||
# 使用方式(在 deploy.stack 仓库根目录执行):
|
||||
# cp mixapi/env.cfg.example mixapi/env.cfg
|
||||
# $EDITOR mixapi/env.cfg # 填入真实密码后保存
|
||||
# docker build --build-arg MIXAPI_VER=${IMAGE_TAG_VER} -t ${IMAGE_TAG} ./mixapi
|
||||
# docker compose -p mixapi --env-file ./mixapi/env.cfg -f ./mixapi/stack.yml up -d
|
||||
#
|
||||
# 说明:MIXAPI 官方未发布 Docker Hub 镜像(GitHub 仅提供 release 二进制),
|
||||
# 故 IMAGE_TAG 指向本地构建的镜像,需先按上面命令 docker 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 行为)
|
||||
# - 如已把镜像推到私有仓库(如 hub.tp229.com:3500/mixapi),
|
||||
# 把 IMAGE_TAG 改为仓库地址即可跳过本地 docker build
|
||||
|
||||
# ---------- 端口 ----------
|
||||
# MIXAPI Web 服务对外暴露端口(与 newapi 默认同为 3000,同机部署需改其一)
|
||||
PORT=3000
|
||||
|
||||
# ---------- 镜像(本地构建)----------
|
||||
# MIXAPI 版本号(与 GitHub release tag 同名,如 v2.5.1cl)
|
||||
IMAGE_TAG_VER=v2.5.1cl
|
||||
# 完整镜像引用(默认本地镜像;已推送私有仓库则改为 仓库地址/mixapi:${IMAGE_TAG_VER})
|
||||
IMAGE_TAG=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
|
||||
Reference in New Issue
Block a user