Embed rclone in the files image #88

Merged
miro merged 5 commits from claude/embed-rclone-files-image-142831 into main 2026-10-12 18:51:52 +00:00
Owner

Summary

  • The files image embeds rclone (WebDAV on loopback only); the separate rclone container is gone and WEBDAV_ENDPOINT is removed.
  • Data is in host folders set by FILES_DATA_DIR and APP_DATA_DIR (required, no defaults in the compose file). APP_URL is renamed to FILES_URL.
  • update.sh offers to replace docker-compose.yml, Caddyfile and update.sh (per file, default yes), backs up the old copies and .env to backups/<date>-<time>/, reuses the old volumes' locations for the new variables, renames APP_URL in .env, and warns up front that data is not backed up and never touched.

Notes

  • The new compose file only reaches existing installs once a release is cut.
  • .env.example files are updated for FILES_URL and the data folders.
  • Not tested: the full installer/updater run and the docker inspect lookup of old mounts. The image was built and started, and typecheck passes.
## Summary - The `files` image embeds rclone (WebDAV on loopback only); the separate `rclone` container is gone and `WEBDAV_ENDPOINT` is removed. - Data is in host folders set by `FILES_DATA_DIR` and `APP_DATA_DIR` (required, no defaults in the compose file). `APP_URL` is renamed to `FILES_URL`. - `update.sh` offers to replace `docker-compose.yml`, `Caddyfile` and `update.sh` (per file, default yes), backs up the old copies and `.env` to `backups/<date>-<time>/`, reuses the old volumes' locations for the new variables, renames `APP_URL` in `.env`, and warns up front that data is not backed up and never touched. ## Notes - The new compose file only reaches existing installs once a release is cut. - `.env.example` files are updated for `FILES_URL` and the data folders. - Not tested: the full installer/updater run and the `docker inspect` lookup of old mounts. The image was built and started, and typecheck passes.
The files image now runs rclone itself (loopback only) instead of using a
separate container, so the app no longer needs WEBDAV_ENDPOINT. Data lives in
host folders set by FILES_DATA_DIR and APP_DATA_DIR, and APP_URL is renamed
to FILES_URL.

update.sh now offers to replace docker-compose.yml, Caddyfile and update.sh
(backing up the old copies and .env to backups/), migrates the old volumes
and APP_URL in .env, and warns that data folders are never touched or
backed up.
Revert unrelated lockfile change
Some checks failed
CI / format (pull_request) Failing after 19s
CI / lint (pull_request) Successful in 27s
CI / knip (pull_request) Failing after 35s
CI / typecheck (pull_request) Successful in 39s
CI / test (pull_request) Successful in 40s
CI / docker (arm64, docker-arm64) (pull_request) Successful in 19s
CI / build (pull_request) Successful in 39s
CI / docker (amd64, docker-amd64) (pull_request) Successful in 25s
CI / manifest (pull_request) Has been skipped
CI / deploy-test (pull_request) Has been skipped
E2E / playwright (pull_request) Successful in 1m40s
22253fcd4c
Fix format and knip checks
All checks were successful
CI / format (pull_request) Successful in 24s
CI / lint (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 39s
CI / test (pull_request) Successful in 40s
CI / knip (pull_request) Successful in 41s
CI / docker (amd64, docker-amd64) (pull_request) Successful in 19s
CI / build (pull_request) Successful in 30s
CI / docker (arm64, docker-arm64) (pull_request) Successful in 17s
CI / manifest (pull_request) Has been skipped
CI / deploy-test (pull_request) Has been skipped
E2E / playwright (pull_request) Successful in 1m48s
4e2ee1cc6f
Update .env examples for FILES_URL and data folders
Some checks failed
CI / build (pull_request) Has been cancelled
CI / docker (amd64, docker-amd64) (pull_request) Has been cancelled
CI / docker (arm64, docker-arm64) (pull_request) Has been cancelled
CI / manifest (pull_request) Has been cancelled
CI / deploy-test (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
E2E / playwright (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / format (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / knip (pull_request) Has been cancelled
cc2e9a1fb0
Revert unrelated lockfile change
All checks were successful
CI / lint (pull_request) Successful in 30s
CI / format (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 42s
CI / test (pull_request) Successful in 42s
CI / knip (pull_request) Successful in 44s
CI / docker (arm64, docker-arm64) (pull_request) Successful in 13s
CI / build (pull_request) Successful in 41s
CI / docker (amd64, docker-amd64) (pull_request) Successful in 19s
CI / manifest (pull_request) Has been skipped
CI / deploy-test (pull_request) Has been skipped
E2E / playwright (pull_request) Successful in 1m45s
bbd70d9c09
miro merged commit 8ddeafbab5 into main 2026-10-12 18:51:52 +00:00
miro referenced this pull request from a commit 2026-10-12 18:51:54 +00:00
miro deleted branch claude/embed-rclone-files-image-142831 2026-10-12 18:52:46 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
miro/files!88
No description provided.