Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New remote options #248

Merged
merged 2 commits into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions docs/advanced/feeder.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,20 @@ The following steps will be done on the Mediabox.

```yaml
rclone:
enabled: true
enabled: yes
remotes:
# LEAVE OTHER REMOTES IN PLACE IF ANY
- remote: feeder
template: sftp
upload: false
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: sftp
union: yes
upload: no
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest
```

Expand Down
49 changes: 31 additions & 18 deletions docs/reference/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,16 +175,19 @@ Each tab shows a "section" in the file.
=== "rclone"
```yaml
rclone:
enabled: true
enabled: yes
remotes:
- remote: google
template: google
upload: true
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: google
union: yes
upload: yes
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest
```

Expand All @@ -194,32 +197,42 @@ Each tab shows a "section" in the file.

```yaml
rclone:
enabled: true
enabled: yes
remotes:
- remote: google
template: google
settings:
mount: yes
template: google
...
- remote: dropbox
template: dropbox
settings:
mount: no
template: dropbox
...
- remote: minio
template: /opt/mount-templates/custom/myminio.j2
settings:
mount: yes
template: /opt/mount-templates/custom/myminio.j2
...
```

`remotes/remote`: The name of the rclone remote for this mount. You can also specify a path to use for the remote. `remote: "google:Media"` quotes are important.

`remotes/template`: The name of the template you want to use for the mount. Currently Saltbox supports 4 options: `google`, `dropbox`, `sftp` and a path to a file ("/opt/mount-templates/remote.j2") containing either jinja2 template or an actual copy of a systemd service file. A [community repo](https://github.com/saltyorg/mount-templates) is maintained of user submitted mount options which can be referenced via path (i.e. `/opt/mount-templates/generic.j2`.) We recommend saving your own custom templates/services in `/opt/mount-templates/custom` to ensure they are backed up and not subject to being overwritten by the repo.
`remotes/settings/mount`: Toggles whether you want this remote mounted in the file system.

`remotes/upload`: Toggles whether you intend to upload to this remote using Cloudplow.
`remotes/settings/template`: The name of the template you want to use for the mount. Currently Saltbox supports 4 options: `google`, `dropbox`, `sftp` and a path to a file ("/opt/mount-templates/remote.j2") containing either jinja2 template or an actual copy of a systemd service file. A [community repo](https://github.com/saltyorg/mount-templates) is maintained of user submitted mount options which can be referenced via path (i.e. `/opt/mount-templates/generic.j2`.) We recommend saving your own custom templates/services in `/opt/mount-templates/custom` to ensure they are backed up and not subject to being overwritten by the repo.

`remotes/upload_from`: The local path Cloudplow will use to upload from if the remote was upload enabled.
`remotes/settings/union`: Toggles whether you want to add this remote mount to `/mnt/unionfs`. This requires that `mount` be enabled.

`remotes/vfs_cache/enabled`: Toggle for using Rclone VFS file cache.
`remotes/settings/upload`: Toggles whether you intend to upload to this remote using Cloudplow.

`remotes/vfs_cache/max_age`: Defines the max age of files in the cache.
`remotes/settings/upload_from`: The local path Cloudplow will use to upload from if the remote was upload enabled.

`remotes/vfs_cache/size`: Defines the max size of the cache. The cache can grow above this value in actual usage (polls the cache once a minute) so leave some headroom when using this.
`remotes/settings/vfs_cache/enabled`: Toggle for using Rclone VFS file cache.

`remotes/settings/vfs_cache/max_age`: Defines the max age of files in the cache.

`remotes/settings/vfs_cache/size`: Defines the max size of the cache. The cache can grow above this value in actual usage (polls the cache once a minute) so leave some headroom when using this.

`version`: Rclone version that is installed by Saltbox.
Choices are `latest`, `current`, `beta`, or a specific version number (e.g. `1.42`).
Expand Down
18 changes: 11 additions & 7 deletions docs/reference/guides/chazguides/no-media.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,18 @@ Verify the contents of `settings.yml`: saltbox uses this to create the mount ser
```yaml
remotes:
- remote: google # this is the name of the rclone remote
template: google # this is the saltbox template
upload: true
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: google # this is the saltbox template
union: yes
upload: yes
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
```

If you have to change those settings, rerun the `mounts` tag and go through this section again.

Do not continue until those two file listings match. They won’t match mine; they should both show the same files from YOUR gdrive.
Expand Down
19 changes: 11 additions & 8 deletions docs/reference/guides/chazguides/teamdrive.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,19 @@ Let’s go!

```yaml
rclone:
enabled: true
enabled: yes
remotes:
- remote: NAME_OF_THE_REMOTE_YOU_JUST_CREATED
template: MOUNT_TEMPLATE
upload: false # true to configure cloudplow upload for this remote
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: MOUNT_TEMPLATE
union: yes
upload: no # true to configure cloudplow upload for this remote
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest
```

Expand Down
19 changes: 11 additions & 8 deletions docs/reference/guides/rclone-remote-dropbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,16 +202,19 @@ Edit the other settings [`upload` and so forth] to suit your requirements.

```yaml
rclone:
enabled: true
enabled: yes
remotes:
- remote: NAME_OF_THE_REMOTE_YOU_JUST_CREATED
template: dropbox
upload: false # toggle as needed
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: dropbox
union: yes
upload: no # toggle as needed
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest
```

Expand Down
24 changes: 14 additions & 10 deletions docs/reference/local-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Then disable rclone in `settings.yml`:

```ini
rclone:
enabled: false
enabled: no
remotes:
...
```
Expand All @@ -39,18 +39,22 @@ First, create an rclone remote pointing to your NAS using whatever connection sc
Then fill out the remote details in `settings.yml`
```ini
rclone:
enabled: true
enabled: yes
remotes:
- remote: THE_NAME_OF_THE_REMOTE_YOU_JUST_CREATED
template: sftp # whatever template or service file is appropriate
upload: true
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: sftp # whatever template or service file is appropriate
union: yes
upload: yes
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest
```
It should go without saying that you need to change `THE_NAME_OF_THE_REMOTE_YOU_JUST_CREATED` to whatevcer you called the rclone remote you created pointing at the NAS.

It should go without saying that you need to change `THE_NAME_OF_THE_REMOTE_YOU_JUST_CREATED` to whatever you called the rclone remote you created pointing at the NAS.

Then run the regular saltbox install. Your NAS [or whatever] will be mounted at `/mnt/remote/THE_NAME_OF_THE_REMOTE_YOU_JUST_CREATED`, added to the unionfs, and Cloudplow will handle moving from your local disk to the NAS.
81 changes: 47 additions & 34 deletions docs/saltbox/install/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,35 +155,44 @@ To edit any of the following configuration files use the command written in the
subdomain: login # (2)!
downloads: /mnt/unionfs/downloads # (3)!
rclone:
enabled: true # (4)!
enabled: yes # (4)!
remotes: # (5)!
- remote: google # (6)!
template: google # (7)!
upload: true # (8)!
upload_from: /mnt/local/Media # (9)!
vfs_cache:
enabled: false # (10)!
max_age: 504h # (11)!
size: 50G # (12)!
settings:
mount: yes # (7)!
template: google # (8)!
union: yes # (9)!
upload: yes # (10)!
upload_from: /mnt/local/Media # (11)!
vfs_cache:
enabled: no # (12)!
max_age: 504h # (13)!
size: 50G # (14)!
- remote: dropbox
template: dropbox
upload: false
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
settings:
mount: yes
template: dropbox
union: yes
upload: no
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
- remote: feeder
template: sftp
upload: false
upload_from: /mnt/local/Media
vfs_cache:
enabled: false
max_age: 504h
size: 50G
version: latest # (13)!
shell: bash # (14)!
transcodes: /mnt/local/transcodes # (15)!
settings:
mount: yes
template: sftp
union: yes
upload: no
upload_from: /mnt/local/Media
vfs_cache:
enabled: no
max_age: 504h
size: 50G
version: latest # (15)!
shell: bash # (16)!
transcodes: /mnt/local/transcodes # (17)!
```

1. If the current server should have Authelia installed or use one installed elsewhere. For a multi-server setup, review the [considerations](../basics/install_types.md#feederboxmediabox-setup-considerations) listed for your Authelia setup.
Expand All @@ -210,35 +219,39 @@ To edit any of the following configuration files use the command written in the
remote: "google:Media"
```

7. The name of the template you want to use for the mount.
7. Toggles whether you wqant this remote mounted into the file system.

8. The name of the template you want to use for the mount.

Currently Saltbox supports 4 options:

`google`, `dropbox`, `sftp` and alternatively a path to a file ("/opt/mount-templates/custom/remote.j2") containing either jinja2 template or an actual copy of a systemd service file.

We recommend having the template file in a folder in /opt so that it moves with your install after a restore.

8. Toggles whether you intend to upload to this remote using Cloudplow.
9. Toggles whether you want this remote mount included in the union at `/mnt/unionfs`. This requires that `mount` be enabled.

10. Toggles whether you intend to upload to this remote using Cloudplow.

9. Defines the local path Cloudplow will use to upload from if the remote was upload enabled.
11. Defines the local path Cloudplow will use to upload from if the remote was upload enabled.

10. Toggle for using Rclone VFS file cache.
12. Toggle for using Rclone VFS file cache.

11. Defines the max age of files in the cache.
13. Defines the max age of files in the cache.

12. Defines the max size of the cache.
14. Defines the max size of the cache.

The cache can grow above this value in actual usage (polls the cache once a minute) so leave some headroom when using this.

13. Rclone version that Saltbox will install.
15. Rclone version that Saltbox will install.

Valid options are **latest**, **beta** or a specific version "**1.55**".

If specifying a version make sure to quote it as Ansible will convert the value into a float otherwise.

14. Shell used by the system. Valid options are bash or zsh.
16. Shell used by the system. Valid options are bash or zsh.

15. Folder used for temporary transcode files.
17. Folder used for temporary transcode files.

=== "adv_settings.yml"

Expand Down