# ============================================================ # 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= # ---------- Redis(本栈自建容器,host 网络,只绑 127.0.0.1)---------- REDIS_PASSWORD= # ---------- new-api 应用 ---------- # 节点名,用于审计日志标识节点;多节点部署时各节点需不同 NODE_NAME=newapi-node-1 # 会话密钥:单机留空(自动生成并持久化);多机部署必须设为同一随机串 SESSION_SECRET=