forked from DevOps/deploy.stack
build(newapi): 添加 new-api 部署配置
添加 docker compose 栈与环境变量模板,使用宿主机 PostgreSQL 与自建 Redis,网络采用 host 模式
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# ============================================================
|
||||
# new-api 部署 — 环境变量模板(不含敏感信息)
|
||||
# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略
|
||||
# ============================================================
|
||||
#
|
||||
# 使用方式:
|
||||
# cp env.cfg.example env.cfg
|
||||
# $EDITOR env.cfg # 填入真实密码/密钥后保存
|
||||
# docker compose -p newapi --env-file ./env.cfg -f ./stack.yml up -d
|
||||
#
|
||||
# 前置:宿主机 PostgreSQL 建库建号(只需一次):
|
||||
# sudo -u postgres psql -c "CREATE ROLE newapi LOGIN PASSWORD '<你的强密码>';"
|
||||
# sudo -u postgres psql -c 'CREATE DATABASE new_api OWNER newapi;'
|
||||
# sudo -u postgres psql -c 'GRANT ALL PRIVILEGES ON DATABASE new_api TO newapi;'
|
||||
# # PG < 13 若建表报权限错,补:GRANT ALL ON SCHEMA public TO newapi;
|
||||
#
|
||||
# 注意:SQL_DSN / REDIS_CONN_STRING 为 URL 格式,
|
||||
# 密码建议纯字母+数字,含 @ : / # 等字符时需做百分号转义
|
||||
|
||||
# ---------- 镜像 ----------
|
||||
# new-api 版本号(与 GitHub release tag 同名;拉取失败可回退 latest)
|
||||
IMAGE_TAG_VER=v1.0.0-rc.30
|
||||
# 完整镜像引用
|
||||
IMAGE_TAG=calciumion/new-api:${IMAGE_TAG_VER}
|
||||
# Redis 镜像
|
||||
REDIS_IMAGE_TAG=redis:8.2
|
||||
|
||||
# ---------- 数据卷 ----------
|
||||
# 宿主机持久化目录,挂载到容器 /data 与 /app/logs
|
||||
# 部署前手动创建:mkdir -pv /data/volumes/newapi/{data,logs}
|
||||
Volumes_Path=/data/volumes/newapi
|
||||
|
||||
# ---------- 数据库(宿主机已有 PostgreSQL,建议 13+)----------
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=5432
|
||||
DB_NAME=new_api
|
||||
DB_USER=newapi
|
||||
DB_PASSWORD=<your-strong-password>
|
||||
|
||||
# ---------- Redis(本栈自建容器,host 网络,只绑 127.0.0.1)----------
|
||||
REDIS_PASSWORD=<your-strong-password>
|
||||
|
||||
# ---------- new-api 应用 ----------
|
||||
# 节点名,用于审计日志标识节点;多节点部署时各节点需不同
|
||||
NODE_NAME=newapi-node-1
|
||||
# 会话密钥:单机留空(自动生成并持久化);多机部署必须设为同一随机串
|
||||
SESSION_SECRET=
|
||||
|
||||
Reference in New Issue
Block a user