init: 初始化 rclone-webgui 项目结构
外层仓库管理 webgui 源码、Docker 编排与项目文档;rclone 作为
git submodule 锁定在上游 master HEAD(59c86b01b),不携带任何
我们的改动。
- webgui/: webgui 源码(原本位于 rclone/cmd/webgui/)
- web/: 原生 HTML/CSS/JS 静态前端(Anthropic 设计语言)
- webgui.go: Go 子命令源码,仅当自行构建 rclone 二进制时需要
- rclone-cmd-all-add-webgui-import.patch: 把 webgui 注册进
rclone 的 cmd/all/all.go 的补丁,留作 fork 时使用
- rclone/: submodule → github.com/rclone/rclone,纯净不改动
- Dockerfile.webgui: 基于 nginx:1.27-alpine,从 ./webgui/web/
COPY 静态资源
- docker/nginx.conf: SPA 静态托管 + 反向代理 RC API
(/config/、/operations/、/sync/、/job/ 等) 与文件下载
(/<remote>:<path>) 到 rclone rcd 容器,前端同源访问无 CORS
- docker-compose.yml: rclone (官方镜像 + rcd --rc-no-auth
--rc-serve) + gui (nginx) 双服务编排,config 走 bind mount
持久化
- DESIGN.md / CLAUDE.md / README.md: 文档
- .gitignore / .dockerignore: 排除 rclone.conf 等敏感文件,
Docker 构建上下文只剩 webgui/web/ + nginx 配置(几十 KB)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Keep the frontend image build context small.
|
||||
# We only need:
|
||||
# - webgui/web/ (the static frontend bundle)
|
||||
# - docker/nginx.conf (the reverse-proxy config)
|
||||
# - Dockerfile.webgui
|
||||
|
||||
# VCS metadata
|
||||
.git
|
||||
.gitignore
|
||||
.gitmodules
|
||||
.github
|
||||
|
||||
# The Go-side webgui command is not needed for the frontend image —
|
||||
# the official rclone/rclone container handles the backend.
|
||||
webgui/webgui.go
|
||||
webgui/*.patch
|
||||
|
||||
# Submodule source — the frontend image doesn't need rclone itself.
|
||||
rclone
|
||||
|
||||
# Local rclone config (contains secrets)
|
||||
config/
|
||||
|
||||
# Editor / OS cruft
|
||||
.idea
|
||||
.vscode
|
||||
.history
|
||||
.devcontainer
|
||||
*~
|
||||
_junk
|
||||
Thumbs.db
|
||||
.DS_Store
|
||||
__pycache__
|
||||
|
||||
# Docs that don't belong in the runtime image
|
||||
CLAUDE.md
|
||||
DESIGN.md
|
||||
README.md
|
||||
Reference in New Issue
Block a user