diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..46bf717 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,34 @@ +# caddy 构建上下文是整个仓库根,但 Dockerfile 只需要 frontend/ 源码。 +# 排除所有运行时产物与无关目录,避免把数 GB 数据传进构建上下文。 + +# 后端运行时产物与二进制(caddy 构建完全用不到 backend) +backend/tmp/ +backend/data/ +backend/bin/ +backend/api +backend/logs/ +backend/.git-cache/ + +# 前端依赖与产物(镜像内会重新 npm install / build) +frontend/node_modules/ +frontend/dist/ +frontend/.cache/ + +# 版本库与备份 +.git/ +.git-cache/ +backups/ +.idea/ +.snow/ +.claude/ + +# 密钥与环境文件 +**/.env +**/.env.* + +# 文档 +docs/ +**/*.md + +# 杂项 +**/.DS_Store diff --git a/backend/.dockerignore b/backend/.dockerignore new file mode 100644 index 0000000..d535f5a --- /dev/null +++ b/backend/.dockerignore @@ -0,0 +1,32 @@ +# 构建只需要 Go 源码(cmd / internal / pkg / migrations / go.mod / go.sum) +# 以下均为运行时产物、二进制、密钥与文档,排除后可把构建上下文从 ~1GB 降到几 MB + +# 运行时上传文件与临时目录(最大头,~980MB) +tmp/ +data/ + +# 编译产物 +bin/ +api +*.exe + +# 日志 +logs/ +*.log + +# 本地缓存 +.git-cache/ + +# 密钥与环境文件(避免打进构建上下文) +.env +.env.* + +# 文档与脚本(构建不需要) +docs/ +scripts/ +*.md + +# 其它 +.DS_Store +Dockerfile +.dockerignore