Skip to content
Snippets Groups Projects
Commit ec943472 authored by František Dvořák's avatar František Dvořák
Browse files

Configurable rclone VFS cache mode

parent 95629ff0
No related branches found
No related tags found
No related merge requests found
...@@ -13,10 +13,16 @@ Using environment: ...@@ -13,10 +13,16 @@ Using environment:
* WEBDAV\_VENDOR: WebDAV vendor (default: *other*) * WEBDAV\_VENDOR: WebDAV vendor (default: *other*)
* MOUNT\_OPTS: space separated additional arguments for *rclone mount* command * MOUNT\_OPTS: space separated additional arguments for *rclone mount* command
* MOUNT\_PATH: mount path (default: */mnt*) * MOUNT\_PATH: mount path (default: */mnt*)
* VFS\_CACHE\_MODE: value for rclone VFS cache mode (off, minimal, writes, full) (default: *full*)
Examples: Examples:
docker run --privileged -it --rm --name oidcmount -e WEBDAV_URL="$WEBDAV_URL" -e WEBDAV_TOKEN="$(oidc-token my-issuer)" -v /tmp/webdav:/mnt:shared webdav-rclone-sidecar" & docker run --privileged -it --rm --name oidcmount -v /tmp/webdav:/mnt:shared
-e WEBDAV_URL="$WEBDAV_URL" \
-e WEBDAV_TOKEN="$(oidc-token my-issuer)" \
webdav-rclone-sidecar" &
echo "$(oidc-token my-issuer)" >/tmp/token echo "$(oidc-token my-issuer)" >/tmp/token
docker run --privileged -it --rm --name oidcmount -e WEBDAV_URL="$WEBDAV_URL" -v /tmp/webdav:/mnt:shared -v /tmp/token:/tmp/token webdav-rclone-sidecar bearer_token_command="cat /tmp/token" & docker run --privileged -it --rm --name oidcmount -v /tmp/webdav:/mnt:shared -v /tmp/token:/tmp/token
-e WEBDAV_URL="$WEBDAV_URL" \
webdav-rclone-sidecar bearer_token_command="cat /tmp/token" &
...@@ -7,6 +7,7 @@ MOUNT_OPTS=${MOUNT_OPTS:-} ...@@ -7,6 +7,7 @@ MOUNT_OPTS=${MOUNT_OPTS:-}
MOUNT_PATH=${MOUNT_PATH:-/mnt/} MOUNT_PATH=${MOUNT_PATH:-/mnt/}
JOVYAN_UID=${JOVYAN_UID:-1000} JOVYAN_UID=${JOVYAN_UID:-1000}
JOVYAN_GRP=${JOVYAN_GRP:-100} JOVYAN_GRP=${JOVYAN_GRP:-100}
VFS_CACHE_MODE=${VFS_CACHE_MODE:-full}
if [ ! -d "$MOUNT_PATH" ]; then if [ ! -d "$MOUNT_PATH" ]; then
mkdir -p "$MOUNT_PATH" mkdir -p "$MOUNT_PATH"
...@@ -37,4 +38,5 @@ rclone config create --non-interactive webdav-fs webdav "${args[@]}" "$@" ...@@ -37,4 +38,5 @@ rclone config create --non-interactive webdav-fs webdav "${args[@]}" "$@"
# gid: unix group # gid: unix group
# vfs-cache-mode: random access and cache # vfs-cache-mode: random access and cache
IFS=" " read -r -a mount_opts <<< "$MOUNT_OPTS" IFS=" " read -r -a mount_opts <<< "$MOUNT_OPTS"
rclone mount webdav-fs:/ "$MOUNT_PATH" --allow-non-empty --allow-other --uid="$JOVYAN_UID" --gid="$JOVYAN_GRP" --vfs-cache-mode=full "${mount_opts[@]}" mount_opts+=("--vfs-cache-mode=$VFS_CACHE_MODE")
rclone mount webdav-fs:/ "$MOUNT_PATH" --allow-non-empty --allow-other --uid="$JOVYAN_UID" --gid="$JOVYAN_GRP" "${mount_opts[@]}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment