Archived
按熟悉的工作流调整:构建在开发机完成(四绿验证后的 dist 才是部署物),SFTP 上传 dist/Caddyfile/compose.yaml/Dockerfile 四件到服务器,服务器上 docker build 仅做 COPY(无构建工具链需求,秒级)。单阶段 Dockerfile;.dockerignore 不再排除 dist(部署必需品)且继续排除 .env*;README 部署章节重写为三步流程(本机构建/SFTP/服务器 compose)。compose 文件采用 Compose 规范标准名 compose.yaml(docker-compose.yml 仅为向后兼容保留)。
25 lines
768 B
Caddyfile
25 lines
768 B
Caddyfile
# bench 的 Caddy 配置:静态托管 + 网关反向代理
|
|
#
|
|
# :80 表示监听 80 端口、禁用自动 HTTPS(容器场景由外层决定 TLS;
|
|
# 若将来直接暴露公网域名,把 :80 换成域名,Caddy 会自动签发证书)
|
|
#
|
|
# GATEWAY 由 docker run -e / compose environment 注入(Caddyfile 支持 {$GATEWAY} 环境变量占位)
|
|
# 未注入时 Caddy 启动会因空地址报错——与 vite dev 行为一致:不写死默认值
|
|
|
|
:80 {
|
|
# 静态站点:根目录 + SPA fallback(不存在的路径回退 index.html)
|
|
root * /usr/share/caddy
|
|
encode gzip
|
|
|
|
# 接口代理:与 vite.config.ts 的 dev 代理语义一致,转发到网关
|
|
@api path /api/* /v1/*
|
|
handle @api {
|
|
reverse_proxy {$GATEWAY}
|
|
}
|
|
|
|
handle {
|
|
try_files {path} /index.html
|
|
file_server
|
|
}
|
|
}
|