Files
senmesh-zc/deployment/ow/.env
KodouWZF d39b3b035d feat(部署): 新增 deployment/ 内外网两套按侧部署包
按 demo/ 的写法把交付包改成「角色由目录决定」:iw/ 拷内网机、ow/ 拷外网机,
各自含镜像 tar、SQL、配置与 install.sh,install.sh 不再收 iw/ow 参数。

前端不再打进镜像,改为静态包放在 <侧>/web/ 只读挂进 nginx:1.27-alpine,
现场临时改页面直接替换文件 + restart web 即可。数据仍全部挂宿主机,
子目录命名与 deploy/offline 一致(pgdata/redis/mq/upload/logs/gate),
默认根改为包内 ./volumes,放数据盘只改 .env 的 SFILE_DATA_ROOT。

后端镜像 sfile-app:1.0.1 含传输优化那一批(实测组包 11.4×、解包 9.9×)。
出包脚本 deployment/scripts/build-package.sh 负责 jar→镜像→前端双包→sql→tar→VERSION。
2026-11-04 21:44:56 +08:00

73 lines
3.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# s-file 部署配置 —— 外网机(ow)
#
# 与内网机只差:角色 / 传输方向 / 网段 / 机器号 / 口令 / JWT / MeshSafe 通道
# 装机后必须立刻改的两处:admin 登录口令(首次登录后在页面上改)、
# 新用户初始密码 USER_DEFAULT_PASSWORD
# 下面的库/MQ 口令是出厂默认值,交付单要抄一份并建议现场轮换。
# 现场改过的 .env 属于该台机器的实际配置,不要提交回仓库。
# =============================================================================
# ---------- 本机角色(外网机固定 ow,别改) ----------
SFILE_ROLE=ow
# 传输方向:内网机 1 / 外网机 2,写反了摆渡方向就反了
SFILE_TRANSFER_LOCATION=2
# ---------- 镜像(images/ 里的 tar docker load 后就是这些 tag) ----------
APP_IMAGE=sfile-app:1.1.0
NGINX_IMAGE=nginx:1.27-alpine
PG_IMAGE=postgres:18
REDIS_IMAGE=redis:8
MQ_IMAGE=rabbitmq:3.13-management-alpine
# postgres 18+ 数据目录挂载点是 /var/lib/postgresql,15- 要改成 /var/lib/postgresql/data
PG_DATA_DIR=/var/lib/postgresql
# ---------- 对外访问:只暴露前端 ----------
WEB_HOST=0.0.0.0
WEB_PORT=80
# ---------- 口令与密钥(与内网机不同) ----------
POSTGRES_DB=s_file
POSTGRES_USER=sfile
POSTGRES_PASSWORD=Sfile-ow-Pg-pT-673--i1rk
MQ_USER=sfile
MQ_PASSWORD=Sfile-ow-Mq-sfW5Cv-Nk-cA
JWT_SECRET=9eeeea031052a156bb278607f89dac3e45282f8a934fa0ba01c24facacde6988
USER_DEFAULT_PASSWORD=Sfile-ow-Usr-WqDJ7PDS
# ---------- 发号器与容器网段(与内网机各用一段,同机并跑时才需要错开) ----------
APP_SUBNET=172.30.28.0/24
APP_GATEWAY=172.30.28.1
APP_NODE_IP=172.30.28.10
APP_WORK_ID=2
# ---------- 宿主机数据目录 ----------
# 默认落在本目录 volumes/ 下(相对 docker-compose.yml)。
# 要放到独立数据盘就改成绝对路径,例如 /data/sfile,改完 install.sh 会自动建目录
SFILE_DATA_ROOT=./volumes
# 光闸摆渡目录:out = 本机发出,in = 本机收到。
# 外网机的 out 对应内网机的 in,反之亦然,两侧各自配自己的
GATE_SEND_DIR=./volumes/gate/out
GATE_RECV_DIR=./volumes/gate/in
# ---------- MeshSafe 文件安全检测 ----------
# 外网机一般也走一次检测(接收解包后送检);该侧不部署 MeshSafe 时置 MESHSAFE_ENABLED=false
# 启用时凭证必须与 MeshSafe 侧 MESHSAFE_API_CLIENTS 白名单里的 client_id:secret 逐字一致
MESHSAFE_ENABLED=true
MESHSAFE_BASE_URL=http://host.docker.internal:44380
MESHSAFE_CLIENT_ID=sfile-ow
MESHSAFE_SECRET=CHANGE_ME_meshsafe_secret
MESHSAFE_CHANNEL=sfile-ow
# 等保从严建议 false:检测服务不可用时阻断而不是放行
MESHSAFE_FAIL_OPEN=true
MESHSAFE_TIMEOUT_SECONDS=120
MESHSAFE_POLL_TIMEOUT_MINUTES=60
MESHSAFE_POLL_CRON=0/10 * * * * ?
# ---------- 资源与运行时 ----------
TZ=Asia/Shanghai
APP_JAVA_OPTS=-Xms1g -Xmx3g -Dfile.encoding=UTF-8
REDIS_MAXMEMORY=512mb
# 摆渡目录监听周期。改这个要同步改 config/application.yml 的 round-budget-seconds(留 1 秒余量)
FILE_TRANSFER_MONITOR_CRON=0/5 * * * * ?