feat(deploy): rclone WebDAV mount (docker compose) + smoke + docs (#54) #59

Merged
eSlider merged 1 commits from feat/rclone-webdav#54 into main 2026-09-16 22:30:16 +01:00
Owner

W1 — rclone WebDAV mount (docker compose) + smoke + docs

Closes #54. Эпик #53.

Что сделано

  • deploy/docker-compose.rclone-webdav.yml — сервис rclone-webdav
    (образ rclone/rclone), FUSE-mount WebDAV-дерева OnlyOffice в
    /mnt/onlyoffice. Не systemd, только compose.
    • remote on-the-fly :webdav: + --webdav-url/--webdav-user/--webdav-pass;
    • плюс rclone.conf ([webdav]) на старте — чтобы
      docker exec rclone-webdav rclone ls webdav: работал без флагов;
    • --vfs-cache-mode writes, --dir-cache-time 1m, --allow-other,
      --allow-non-empty;
    • cap_add: [SYS_ADMIN], devices: [/dev/fuse],
      security_opt: apparmor:unconfined;
    • тома onlyoffice-mnt, rclone-cache; env только именами.
  • docs/rclone-webdav.md — конфиг, команды, smoke-вывод, ограничения.
  • .env.example — имена ONLYOFFICE_USER/PASSWORD, ONLYOFFICE_WEBDAV_URL.

Smoke (реальный прогон)

  • rclone ls webdav: — дерево (Meine Dokumente/..., Gemeinsame Dokumente/...).
  • write через mount → host GET .../hello.txt → 200 через 7s;
    read-back через mount совпал (MATCH: yes);
  • rm через mount → host GET .../hello.txt → 404 через 1s.
  • Каталог удалён (rclone rmdir webdav:...), leftovers нет.

Ограничения

  • FUSE: нужен SYS_ADMIN + /dev/fuse.
  • Сайдкар только на docker-bridge 172.17.0.1:8098.
  • VFS write-back ~5s — сервер проверять опросом.
  • rmdir через mount до сервера не доходит; каталоги — rclone rmdir/purge.

Полный транскрипт — в docs/rclone-webdav.md.

Проверка

  • docker compose -f deploy/... config — OK.
  • gitleaks — no leaks (только имена env, .env в .gitignore).

Не мержу и не закрываю issue.

## W1 — rclone WebDAV mount (docker compose) + smoke + docs Closes #54. Эпик #53. ### Что сделано - `deploy/docker-compose.rclone-webdav.yml` — сервис `rclone-webdav` (образ `rclone/rclone`), FUSE-mount WebDAV-дерева OnlyOffice в `/mnt/onlyoffice`. Не systemd, только compose. - remote on-the-fly `:webdav:` + `--webdav-url/--webdav-user/--webdav-pass`; - плюс `rclone.conf` (`[webdav]`) на старте — чтобы `docker exec rclone-webdav rclone ls webdav:` работал без флагов; - `--vfs-cache-mode writes`, `--dir-cache-time 1m`, `--allow-other`, `--allow-non-empty`; - `cap_add: [SYS_ADMIN]`, `devices: [/dev/fuse]`, `security_opt: apparmor:unconfined`; - тома `onlyoffice-mnt`, `rclone-cache`; env только именами. - `docs/rclone-webdav.md` — конфиг, команды, smoke-вывод, ограничения. - `.env.example` — имена `ONLYOFFICE_USER/PASSWORD`, `ONLYOFFICE_WEBDAV_URL`. ### Smoke (реальный прогон) - `rclone ls webdav:` — дерево (`Meine Dokumente/...`, `Gemeinsame Dokumente/...`). - write через mount → host `GET .../hello.txt` → **200** через 7s; read-back через mount совпал (**MATCH: yes**); - `rm` через mount → host `GET .../hello.txt` → **404** через 1s. - Каталог удалён (`rclone rmdir webdav:...`), leftovers нет. ### Ограничения - FUSE: нужен `SYS_ADMIN` + `/dev/fuse`. - Сайдкар только на docker-bridge `172.17.0.1:8098`. - VFS write-back ~5s — сервер проверять опросом. - `rmdir` через mount до сервера не доходит; каталоги — `rclone rmdir/purge`. Полный транскрипт — в `docs/rclone-webdav.md`. ### Проверка - `docker compose -f deploy/... config` — OK. - gitleaks — no leaks (только имена env, `.env` в `.gitignore`). Не мержу и не закрываю issue.
eSlider added 1 commit 2026-09-16 22:25:50 +01:00
feat(deploy): rclone WebDAV mount compose + smoke + docs (#54)
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go 1.25) (pull_request) Successful in 20s
Tests / Test (Go stable) (pull_request) Successful in 22s
6549fbf7e2
eSlider merged commit 8a17a32269 into main 2026-09-16 22:30:17 +01:00
eSlider deleted branch feat/rclone-webdav#54 2026-09-16 22:30:17 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eSlider/go-onlyoffice#59