Uploader¶
Automated uploader.
IMPORTANT¶
Each Uploader instance needs his own Project/Keys, never use keys from other projects.
Features:¶
- Completely automated.
- Clean web interface.
- Support for encrypted Team Drives.
- Support for multiple Team Drives.
- Supports all rclone remotes.
- Bypass daily upload limit of 750GB via Service Accounts.
- Support for Autoscan.
- Full support for Rclone's bandwidth limit.
- Notifications via Apprise.
- Variable concurrent uploads.
- Dropbox
- Settings are refreshed for each upload. No need to restart the container after making a configuration change!
-
Start and stop on demand via the container or web interface (active uploads are not considered when pausing via the web interface).
-
Change time formatting.
Limitations:¶
- No support for Google Drive.
- If using multiple Team Drives for Uploader,
FOLDER_DEPTH
must be identical across all drives. - Bandwidth limit is per upload IE - If you have
TRANSFERS=2
andBANDWIDTH_LIMIT=20M
, the maximum total upload speed would be 40MiB. - Bandwidth cannot be changed for any active uploads.
Exclude files from being uploaded¶
rclone.exclude is located here: /opt/appdata/system/uploader/rclone.exclude
Example:
- if you donĀ“t want that srt files are being uploaded, you have to add
.*\.srt$
to the file. - You can exclude folders to, examples are in the file, because we already exclude certain folders.
Configuration¶
All settings can be found here: /opt/appdata/system/uploader/uploader.env
If you use Dropbox make sure to name them in rclonegdsa.conf like this: [DB] & [DBC]
, you also have to set the filename_encoding
to base32768
.
USER VALUES¶
Setting | Default | Description |
---|---|---|
PUID | 1000 | PGUID to be used by Uploader. |
PGID | 1000 | PGID to be used by Uploader. |
TIMEZONE | UTC | Timezone to be used by Uploader. |
CRITICAL SETUP FOR CRYPT USER¶
Setting | Default | Description |
---|---|---|
HASHPASSWORD | hashed | If using drive.csv or uploader.csv and encrypted Team Drive, this must be set.Options:hashed plain |
GDSA_NAME | encrypt | Here you can set the name of the crypt folder for Google. |
DB_NAME | encrypt | Here you can set the name of the crypt folder for Dropbox. |
DB_TEAM | true | With DB_TEAM = false you can activate the usage of the private Dropbox folder. |
You have 2 options for this value HASHPASSWORD
.
-
hashed
this tells uploader that you have the encrypted password in yourdrive.csv
oruploader.csv
. -
plain
this tells uploader that you have the plain password in yourdrive.csv
oruploader.csv
.
You can leave the value as it is if you dont use Multi Drive uploading.
RCLONE - SETTINGS¶
Setting | Default | Description |
---|---|---|
BANDWIDTH_LIMIT | null | The maximum upload speed per upload. Please refer to the Rclone documentation before changes are made. |
GOOGLE_IP | 142.250.74.78 | Set hardcoded IP for www.googleapis.com this does prevent Error 429. You can specify multiple IPs with comma separated. |
PROXY | null | Set HTTP or SOCKS5 Proxy for RClone. Rclone documentation for details. |
LOG_LEVEL | INFO | Please refer to the Rclone documentation before changes are made. |
DLFOLDER | /mnt/downloads | Path to your download directory. |
TRANSFERS | 2 | The maximum number of concurrent uploads. |
USER - SETTINGS¶
Setting | Default | Description |
---|---|---|
DRIVEUSEDSPACE | null | Amount of local storage, in percent, to use before uploading any files. Example:DRIVEUSEDSPACE=80 will wait until the drive space used reaches 80% before uploading files. |
FOLDER_DEPTH | 1 | If your movie/show folders are in root of drive, you can leave this to 1, if you have them in a subfolder you have to change the depth value, Example media/tvshow/showname would result in FOLDER_DEPTH=2 (if you use multiuploader, you need the same DEPTH/folder structure on all drives where you upload to).IMPORTANT: This setting should only be used if you know what you are doing. By changing the value, you accept all risks that come with it. |
FOLDER_PRIORITY | null | Add folders you like to prioritize - Example: tv,movies (tv first, then movies, then all others not in the list). |
MIN_AGE_UPLOAD | 1 | How old a file should be, in minutes, before it is uploaded. Example:MIN_AGE_UPLOAD=10 will wait until a file is 10 minutes old before it is uploaded. |
VFS - SETTINGS¶
Setting | Default | Description |
---|---|---|
VFS_REFRESH_ENABLE | true | Whether or not the VFS cache refresh should be send to the Mount Docker. Options:true false |
MOUNT | mount:8554 | The local address of your mount instance. |
LOG - SETTINGS¶
Setting | Default | Description |
---|---|---|
LOG_ENTRY | 1000 | How many log entries should be retained in the local database. |
LOG_RETENTION_DAYS | null | How many days of log entries should be kept. If LOG_RETENTION_DAYS is defined, then LOG_ENTRY is ignored. |
AUTOSCAN - SETTINGS¶
Autoscan is optional, people with feeders may use it to trigger scan after upload is completed.If you enable it in uploader, you can disable it in the *arrs.
Setting | Default | Description |
---|---|---|
AUTOSCAN_URL | null | Remote or local path to Autoscan. Examples:Remote: AUTOSCAN_URL=https://autoscan.domain.com Local: AUTOSCAN_URL=http://autoscan:3030 |
AUTOSCAN_USER | null | Autoscan username. |
AUTOSCAN_PASS | null | Autoscan password. |
NOTIFICATION - SETTINGS¶
Apprise has been integrated into Uploader and is defaulted to format all notifications in Markdown. Please refer to the Apprise documentation for more information.
Setting | Default | Description |
---|---|---|
NOTIFICATION_URL | null | The notification URL to be passed to Apprise. Discord examples:https://discordapp.com/api/webhooks/{WebhookID}/{WebhookToken} discord://{WebhookID}/{WebhookToken}/ discord://{user}@{WebhookID}/{WebhookToken}/ |
NOTIFICATION_LEVEL | ALL | What notifications should be sent to NOTIFICATION_URL . Options:ALL - Send notification for all uploadsERROR - Send notification for only errorsNONE - Do not send any notifications |
NOTIFICATION_SERVERNAME | null | What to display on the notification, after "Uploader - ". null will default to "Uploader - Docker". Anything else will only replace "Docker".Examples:NOTIFICATION_SERVERNAME=null results in "Uploader - Docker"NOTIFICATION_SERVERNAME=My Awesome Server will result in "Uploader - My Awesome Server" |
STRIPARR - SETTINGS¶
Striparr is optional and needs the Striparr Docker to be deployed on the same System. The files will not be uploaded until they have been successfully striped.
Setting | Default | Description |
---|---|---|
STRIPARR_URL | null | The Striparr URL. Example: STRIPARR_URL=http://striparr:40000 |
LANGUAGE MESSAGES¶
Setting | Default | Description |
---|---|---|
LANGUAGE | en | Language to use. Options:en - Englishde - German |
Multi-Drive Uploader¶
If you would like to upload to multiple Team Drives, you need to create a file named uploader.csv
in /opt/appdata/system/servicekeys/
. You can find a sample file in opt/appdata/system/uploader/sample
. For each Team Drive, add a line in the uploader.csv
file.
IMPORTANT: If "LOCAL_FOLDER_NAME" contains a hyphen, do not include it.
Unencrypted Team Drives example:
- 1 = LOCAL_FOLDER_NAME -> (TV)
- 2 = TEAM_DRIVE_ID -> (0AFsVct4HDKPrUk9PVvvvvvvvv)
Important: Each line in csv is one Local Folder¶
Example:
TV|0AFsVct4HDKPrUk9PVvvvvvvvv
TV4K|0AFsVct4HDKPrUk9PVxxxxxxxxxx
Movies|0AFsVct4HDKPrUk9PVyyyyyyyyyy
Movies4K|0AFsVct4HDKPrUk9PVzzzzzzzzzz
appbackups|0AFsVct4HDKPrUk9PVzzzzzzzzzz
music|0AFsVct4HDKPrUk9PVzzzzzzzzzz
Encrypted Team Drives example:
- 1 = LOCAL_FOLDER_NAME -> (Movies)
- 2 = TEAM_DRIVE_ID -> (0AFsVct4HDKPrUk9PVvvvvvvvv)
- 3 = PASSWORD -
-> (72nsjsiwjsjsu) - 4 = PASSWORD SALT -
-> (72nsjsiwjsjsu)
Important: Each line in csv is one Local Folder¶
Example:
Movies|0AFsVct4HDKPrUk9PVvvvvvvvv|72nsjsiwjsjsu|72nsjsiwjsjsu
TV SHows|0AFsVct4HDKPrUk9PVxxxxxxxxxx|72nsjsiwjsjsu|72nsjsiwjsjsu
4K|0AFsVct4HDKPrUk9PVyyyyyyyyyy|72nsjsiwjsjsu|72nsjsiwjsjsu
TV 4K|0AFsVct4HDKPrUk9PVzzzzzzzzzz|72nsjsiwjsjsu|72nsjsiwjsjsu
appbackups|0AFsVct4HDKPrUk9PVzzzzzzzzzz|72nsjsiwjsjsu|72nsjsiwjsjsu
music|0AFsVct4HDKPrUk9PVzzzzzzzzzz|72nsjsiwjsjsu|72nsjsiwjsjsu
IMPORTANT: All Keys must be known on all Team Drives! You also have to add all folders where you want to upload files (even backup folders).
Other Uploader Features¶
Instead of using /opt/appdata/system/servicekeys/rclonegdsa.conf
, you can now use a drive.csv
where you can put the default Team Drive to upload in. To make use of this feature, you need to create a file named drive.csv
in /opt/appdata/system/uploader/
.
Unencrypted Team Drives¶
- 1 = TEAM_DRIVE_NAME -> (uploader)
- 2 = TEAM_DRIVE_ID -> (0XXXXXXXXX000000EERR)
Important: Each line in csv is one tdrive¶
Example:
uploader|0XXXXXXXXX000000EERR
Encrypted Team Drives¶
- 1 = TEAM_DRIVE_NAME -> (uploader)
- 2 = TEAM_DRIVE_ID -> (0XXXXXXXXX000000EERR)
- 3 = PASSWORD - HASHED OR PLAIN -> (72nsjsiwjsjsu)
- 4 = PASSWORD SALT - HASHED OR PLAIN -> (72nsjsiwjsjsu)
Important: Each line in csv is one tdrive¶
Example:
uploader|0XXXXXXXXX000000EERR|72nsjsiwjsjsu|72nsjsiwjsjsu
Support¶
Kindly report any issues on GitHub or