forked from DevOps/deploy.stack
build(newapi): 全容器化部署并添加 PostgreSQL 服务
This commit is contained in:
+15
-10
@@ -8,15 +8,17 @@
|
||||
# $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;
|
||||
# 说明:本栈为全容器化独立部署(new-api + Redis + PostgreSQL),
|
||||
# 容器内 PostgreSQL 会自动初始化库和账号,无需在宿主机手动建库或配置 pg_hba。
|
||||
# 容器 PG 未映射宿主机端口,不会与宿主机已有的 PostgreSQL 服务产生端口冲突。
|
||||
#
|
||||
# 注意:SQL_DSN / REDIS_CONN_STRING 为 URL 格式,
|
||||
# 密码建议纯字母+数字,含 @ : / # 等字符时需做百分号转义
|
||||
|
||||
# ---------- 端口 ----------
|
||||
# new-api Web 服务对外暴露端口
|
||||
PORT=3000
|
||||
|
||||
# ---------- 镜像 ----------
|
||||
# new-api 版本号(与 GitHub release tag 同名;拉取失败可回退 latest)
|
||||
IMAGE_TAG_VER=v1.0.0-rc.30
|
||||
@@ -24,20 +26,23 @@ IMAGE_TAG_VER=v1.0.0-rc.30
|
||||
IMAGE_TAG=calciumion/new-api:${IMAGE_TAG_VER}
|
||||
# Redis 镜像
|
||||
REDIS_IMAGE_TAG=redis:8.2
|
||||
# PostgreSQL 镜像
|
||||
PGSQL_IMAGE_TAG=postgres:16-alpine
|
||||
|
||||
# ---------- 数据卷 ----------
|
||||
# 宿主机持久化目录,挂载到容器 /data 与 /app/logs
|
||||
# 部署前手动创建:mkdir -pv /data/volumes/newapi/{data,logs}
|
||||
# 宿主机持久化目录,挂载到容器 /data、/app/logs、redis 数据以及 pgsql 数据
|
||||
# 部署前手动创建:mkdir -pv /data/volumes/newapi/{data,logs,redis,pgsql_data}
|
||||
Volumes_Path=/data/volumes/newapi
|
||||
|
||||
# ---------- 数据库(宿主机已有 PostgreSQL,建议 13+)----------
|
||||
DB_HOST=127.0.0.1
|
||||
# ---------- 数据库(容器内 PostgreSQL)----------
|
||||
# 容器内网络互通,通过服务名 postgres 访问
|
||||
DB_HOST=postgres
|
||||
DB_PORT=5432
|
||||
DB_NAME=new_api
|
||||
DB_USER=newapi
|
||||
DB_PASSWORD=<your-strong-password>
|
||||
|
||||
# ---------- Redis(本栈自建容器,host 网络,只绑 127.0.0.1)----------
|
||||
# ---------- Redis(容器内 Redis)----------
|
||||
REDIS_PASSWORD=<your-strong-password>
|
||||
|
||||
# ---------- new-api 应用 ----------
|
||||
|
||||
Reference in New Issue
Block a user