2026-11-04 21:44:56 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 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) ----------
|
2026-11-04 21:45:31 +08:00
|
|
|
|
APP_IMAGE=sfile-app:1.0.1
|
2026-11-04 21:44:56 +08:00
|
|
|
|
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 * * * * ?
|