Files
xuanheng-website/deploy/server/docker-compose.yml
T
dsh f81d41c5ca 初始化:炫恒网络官网(五个页面)
站点:纯静态 HTML + CSS + 原生 JS,零框架零构建
页面:首页 / 合作品牌 / 荣誉资质 / 客户案例 / 关于我们

内容:
- site/          站点本体(含已压缩 webp 图片,约 4.8 MB)
- deploy/        Docker Compose / Caddy / Apache 部署配置
- _tools/        开发自检脚本与部署脚本
- Dockerfile     自建 nginx 镜像方案
- README.md      项目文档

设计:品牌黄 #ffc107 + 白,深蓝仅用于页脚;菜单长期置顶;
      交互动效只加在关键词与区块级元素上。

素材说明:原始素材(背景图/老网站/方案/荣誉资质/合作品牌,约 290 MB)
         未纳入版本控制,站点使用的是 site/assets 内已处理压缩的图片。
2026-10-13 16:12:41 +08:00

60 lines
2.0 KiB
YAML

# ==============================================================================
# 上海炫恒网络系统有限公司 官网 —— 服务器部署编排
#
# 部署位置:/www/wwwroot/xuanheng-site/
# 对外地址:http://<服务器IP>:8081
# 反向代理:由 1Panel 的 Caddy 把域名指到本容器的 8081(HTTPS 在那一层处理)
#
# 常用命令(在 /www/wwwroot/xuanheng-site 下执行):
# docker compose up -d 启动
# docker compose logs -f 看日志
# docker compose ps 看健康状况
# docker compose restart 重启(改完 Caddyfile 用这个)
# docker compose down 停止并删除容器
#
# 更新站点内容:直接覆盖 ./site/ 里的文件即可,无需重启容器。
# 更新配置:改完 ./Caddyfile 后执行 docker compose restart。
#
# 说明:这里复用服务器上已有的 caddy:2.11.2 镜像(与 1Panel 同一套技术栈),
# 不依赖 Docker Hub,避免网络问题导致部署失败。
# ==============================================================================
services:
web:
image: caddy:2.11.2
container_name: xuanheng-web
restart: unless-stopped
ports:
- "${SITE_PORT:-8081}:80"
environment:
- TZ=Asia/Shanghai
volumes:
# 站点文件(只读挂载;改内容直接覆盖宿主机文件即可,不用重启)
- ./site:/srv:ro
# 站点配置
- ./Caddyfile:/etc/caddy/Caddyfile:ro
# Caddy 自身数据(证书、状态),独立目录避免和 1Panel 的 Caddy 冲突
- ./caddy-data:/data
- ./caddy-config:/config
# 日志也留一份在宿主机,方便排查
- ./logs:/var/log/caddy
healthcheck:
test: ["CMD", "/usr/bin/caddy", "version"]
interval: 30s
timeout: 5s
retries: 3
start_period: 5s
security_opt:
- no-new-privileges:true
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"