chore(icloudpd): clean up UI and unneeded variables (#3901)

This commit is contained in:
Stavros Kois
2022-09-25 19:43:15 +02:00
committed by GitHub
parent 42493f8c84
commit 8545b4ee48
4 changed files with 312 additions and 106 deletions
+7 -7
View File
@@ -1,9 +1,3 @@
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/catagories: |
- Backup
- Cloud
- Downloaders
apiVersion: v2 apiVersion: v2
appVersion: "latest" appVersion: "latest"
dependencies: dependencies:
@@ -30,4 +24,10 @@ sources:
- https://github.com/Womabre/-TrueNAS-docker-templates - https://github.com/Womabre/-TrueNAS-docker-templates
- https://hub.docker.com/r/boredazfcuk/icloudpd/ - https://hub.docker.com/r/boredazfcuk/icloudpd/
type: application type: application
version: 0.0.34 version: 0.0.35
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/catagories: |
- Backup
- Cloud
- Downloaders
+196 -76
View File
@@ -10,93 +10,213 @@ questions:
# Include{recreate} # Include{recreate}
# Include{controllerExpert} # Include{controllerExpert}
# Include{controllerExpertExtraArgs} # Include{controllerExpertExtraArgs}
- variable: env - variable: icloudpd
group: "Container Configuration" group: Container Configuration
label: "Image Environment" label: iCloud PD Configuration
schema: schema:
additional_attrs: true additional_attrs: true
type: dict type: dict
attrs: attrs:
- variable: apple_id - variable: apple_id
label: "apple_id" label: Apple ID
description: "This is the Apple ID for the account you want to download files from" description: This is the Apple ID that will be used when downloading files.
schema:
type: string
default: "your@appleid.com"
- variable: synchronisation_interval
label: "synchronisation_interval"
description: "Default is once every 24h."
schema:
type: string
default: "86400"
- variable: notification_type
label: "notification_type"
description: "This specifies the method that is used to send notifications. Currently, there are three options available Prowl, Pushbullet and Telegram. When the two factor authentication cookie is within 7 days (default) of expiry, a notification will be sent upon synchronization. No more than a single notification will be sent within a 24 hour period unless the container is restarted. This does not include the notification that is sent each time the container is started"
schema:
type: string
default: ""
- variable: prowl_api_key
label: "prowl_api_key"
description: "If the notificationtype is set to Prowl this is mandatory. This is the API key for your account as generated by the Prowl website"
schema:
type: string
default: ""
- variable: pushbullet_api_key
label: "pushbullet_api_key"
description: "If the notificationtype is set to Pushbullet this is mandatory. This is the API key for your account as generated by the Pushbullet website"
schema:
type: string
default: ""
- variable: telegram_token
label: "telegram_token"
description: "If the notificationtype is set to Telegram this is mandatory. This is the token that was assigned to your account by The Botfather"
schema:
type: string
default: ""
- variable: telegram_chat_id
label: "telegram_chat_id"
description: "If the notificationtype is set to Telegram then this is the chatid for your Telegram bot"
schema:
type: string
default: ""
- variable: command_line_options
label: "command_line_options"
description: "This is for additional command line options you want to pass to the icloudpd application. httpsgithub.comndbroadbenticloudphotosdownloader#usage"
schema: schema:
type: string type: string
required: true
default: "" default: ""
- variable: authentication_type - variable: authentication_type
label: "authentication_type" label: Authentication Type
description: "2FA or Web Authentication" description: This is the type of authentication that is enabled on your iCloud account
schema: schema:
type: string type: string
default: "2FA" default: 2FA
- variable: directory_permissions enum:
label: "directory_permissions" - value: 2FA
description: "Container Variable directorypermissions" description: 2FA
- value: Web
description: Web
- variable: icloud_china
label: iCloud China
description: Set this to true to use icloud.com.cm instead of icloud.com as the download source.
schema:
type: boolean
default: true
- variable: synchronisation_interval
label: Synchronization Interval
description: This is the number of seconds between synchronizations.
schema:
type: int
default: 86400
- variable: synchronisation_delay
label: Synchronization Delay
description: This is the number of minutes to delay the first synchronization.
schema:
type: int
default: 86400
- variable: notification_days
label: Notification Days
description: When your cookie is nearing expiration, this is the number of days in advance it should notify you.
schema:
type: int
default: 7
- variable: photo_size
label: Photo Size
description: Image size to download
schema: schema:
type: string type: string
default: "777" default: original
- variable: file_permissions enum:
label: "file_permissions" - value: original
description: "Container Variable filepermissions" description: original
- value: medium
description: medium
- value: thumb
description: thumb
- variable: live_photo_size
label: Live Photo Size
description: Live photo file size to download.
schema: schema:
type: string type: string
default: "666" default: original
- variable: UMASK enum:
label: "UMASK" - value: original
description: "Container Variable UMASK" description: original
- value: medium
description: medium
- value: thumb
description: thumb
- variable: recent_only
label: Recent Only
description: Set this to an integer number to only download this many recently added photos. Set to 0 to download all
schema:
type: int
default: 0
- variable: until_found
label: Until Found
description: Set this to an integer number to only download the most recently added photos, until n number of previously downloaded consecutive photos are found. Set to 0 to download all
schema:
type: int
default: 0
- variable: photo_album
label: Photo Album
description: Set this to the name of an album to only download photos from a single album. Set to empty to download all
schema: schema:
type: string type: string
default: "000" default: ""
- variable: set_exif_datetime
label: Set EXIF Date Time
description: Write the DateTimeOriginal EXIF tag from file creation date.
schema:
type: boolean
default: false
- variable: convert_heic_to_jpeg
label: Convert HEIC to JPEG
description: Set this to True to convert downloaded HEIC files to JPEG, while also retaining the original.
schema:
type: boolean
default: false
- variable: jpeg_quality
label: JPEG Quality
description: If HEIC to JPEG conversion is enabled, this variable will let you set the quality of the converted file by specifying a number from 0 (lowest quality) to 100 (highest quality)
schema:
type: int
default: 90
- variable: skip_check
label: Skip Check
description: Set this to True skip the check for new files. The check can have issues with large libraries.
schema:
type: boolean
default: false
- variable: skip_live_photos
label: Skip Live Photos
description: If this is set, it will skip downloading live photos.
schema:
type: boolean
default: false
- variable: skip_videos
label: Skip Videos
description: If this is set, it will skip downloading videos.
schema:
type: boolean
default: false
- variable: auto_delete
label: Auto Delete
description: Scans the "Recently Deleted" folder and deletes any files found in there.
schema:
type: boolean
default: false
- variable: download_notifications
label: Download Notifications
description: Specifies whether notifications with a short summary should be sent for file downloads.
schema:
type: boolean
default: false
- variable: delete_notifications
label: Delete Notifications
description: Specifies whether notifications with a short summary should be sent for file deletions.
schema:
type: boolean
default: false
- variable: delete_accompanying
label: Delete Accompanying
description: Tells the script to delete files which accompany the HEIC files that are downloaded.
schema:
type: boolean
default: false
- variable: delete_empty_directories
label: Delete Empty Directories
description: Tells the script to delete any empty directories it finds in the download path.
schema:
type: boolean
default: false
- variable: command_line_options
label: Command Line Options
description: This is for additional command line options you want to pass to the iCloud PD application.
schema:
type: string
default: ""
- variable: notification_type
label: Notification Type
description: This specifies the method that is used to send notifications. You need to manually add the environments variables
for your selected notification type, using the "Extra Environment Variables Section"
More info about the variables needed here. https://github.com/boredazfcuk/docker-icloudpd/blob/master/NOTIFICATIONS.md
schema:
type: string
default: No Type
enum:
- value: ""
description: No type
- value: Prowl
description: Prowl
- value: Pushover
description: Pushover
- value: Telegram
description: Telegram
- value: Webhook
description: Webhook
- value: Openhab
description: Openhab
- value: Dingtalk
description: Dingtalk
- value: Discord
description: Discord
- value: IYUU
description: IYUU
- value: WeCom
description: WeCom
- value: Gotify
description: Gotify
- value: Bark
description: Bark
# Include{containerConfig}
# Include{serviceExpertRoot} # Include{serviceExpertRoot}
default: false default: false
# Include{serviceExpert} # Include{serviceExpert}
# Include{serviceList} # Include{serviceList}
# Include{persistenceRoot} # Include{persistenceRoot}
- variable: config - variable: config
label: "config Storage" label: Config Storage
description: "Container Path config" description: Stores Applications Configuration
schema: schema:
additional_attrs: true additional_attrs: true
type: dict type: dict
@@ -104,8 +224,8 @@ questions:
# Include{persistenceBasic} # Include{persistenceBasic}
# Include{persistenceAdvanced} # Include{persistenceAdvanced}
- variable: data - variable: data
label: "data Storage" label: Data Storage
description: "Container Path homeuserphotos" description: Stores iCloud Downloaded Data
schema: schema:
additional_attrs: true additional_attrs: true
type: dict type: dict
@@ -117,42 +237,42 @@ questions:
# Include{security} # Include{security}
# Include{securityContextAdvancedRoot} # Include{securityContextAdvancedRoot}
- variable: privileged - variable: privileged
label: "Privileged mode" label: Privileged mode
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: readOnlyRootFilesystem - variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem" label: ReadOnly Root Filesystem
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: allowPrivilegeEscalation - variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation" label: Allow Privilege Escalation
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: runAsNonRoot - variable: runAsNonRoot
label: "runAsNonRoot" label: runAsNonRoot
schema: schema:
type: boolean type: boolean
default: false default: false
# Include{securityContextAdvanced} # Include{securityContextAdvanced}
# Include{podSecurityContextRoot} # Include{podSecurityContextRoot}
- variable: runAsUser - variable: runAsUser
label: "runAsUser" label: runAsUser
description: "The UserID of the user running the application" description: The UserID of the user running the application
schema: schema:
type: int type: int
default: 0 default: 0
- variable: runAsGroup - variable: runAsGroup
label: "runAsGroup" label: runAsGroup
description: The groupID this App of the user running the application" description: The groupID this App of the user running the application
schema: schema:
type: int type: int
default: 0 default: 0
- variable: fsGroup - variable: fsGroup
label: "fsGroup" label: fsGroup
description: "The group that should own ALL storage." description: The group that should own ALL storage.
schema: schema:
type: int type: int
default: 568 default: 568
+108 -23
View File
@@ -1,30 +1,109 @@
env:
UMASK: "000"
apple_id: your@appleid.com
authentication_type: 2FA
command_line_options: ""
directory_permissions: "777"
file_permissions: "666"
notification_type: ""
prowl_api_key: ""
pushbullet_api_key: ""
synchronisation_interval: "86400"
telegram_chat_id: ""
telegram_token: ""
image: image:
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
repository: tccr.io/truecharts/icloudpd repository: tccr.io/truecharts/icloudpd
tag: latest@sha256:493d895040c0607ef1f994920ca6b0b25ea61b65beb53604f5417370b7416be8 tag: latest@sha256:493d895040c0607ef1f994920ca6b0b25ea61b65beb53604f5417370b7416be8
persistence:
config:
enabled: true
mountPath: /config
data:
enabled: true
mountPath: /home/user/iCloud
podSecurityContext: podSecurityContext:
runAsGroup: 0 runAsGroup: 0
runAsUser: 0 runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
icloudpd:
apple_id: your@appleid.com
authentication_type: 2FA
icloud_china: false
synchronisation_interval: 86400
synchronisation_delay: 0
notification_days: 7
photo_size: original
live_photo_size: original
recent_only: 0
until_found: 0
photo_album: ""
set_exif_datetime: false
convert_heic_to_jpeg: false
jpeg_quality: 90
skip_check: false
skip_live_photos: false
skip_videos: false
auto_delete: false
download_notifications: true
delete_notifications: true
delete_accompanying: false
delete_empty_directories: false
command_line_options: ""
notification_title: iCloud PD
# https://github.com/boredazfcuk/docker-icloudpd/blob/master/NOTIFICATIONS.md
notification_type: ""
# prowl_api_key: ""
# pushover_user: ""
# pushover_token: ""
# pushover_sound: ""
# telegram_token: ""
# telegram_chat_id: ""
# webhook_server: ""
# webhook_port: ""
# webhook_path: ""
# webhook_id: ""
# webhook_https: ""
# webhook_body: ""
# dingtalk_token: ""
# discord_id: ""
# discord_token: ""
# iyuu_token: ""
# wecom_id: ""
# wecom_secret: ""
# agentid: ""
# touser: ""
# content_source_url: ""
# name: ""
# media_id_startup: ""
# media_id_download: ""
# media_id_delete: ""
# media_id_expiration: ""
# media_id_warning: ""
# gotify_app_token: ""
# gotify_server_url: ""
# bark_device_key: ""
# bark_server: ""
env:
user: apps
group: apps
user_id: "{{ .Values.security.PUID }}"
group_id: "{{ .Values.podSecurityContext.fsGroup }}"
download_path: /home/{{ .Values.env.user }}/iCloud
jpeg_path: /home/{{ .Values.env.user }}/iCloud
# User Defined
apple_id: "{{ .Values.icloudpd.apple_id }}"
synchronisation_interval: "{{ .Values.icloudpd.synchronisation_interval }}"
synchronisation_delay: "{{ .Values.icloudpd.synchronisation_delay }}"
notification_days: "{{ .Values.icloudpd.notification_days }}"
authentication_type: "{{ .Values.icloudpd.authentication_type }}"
skip_check: '{{ ternary "True" "False" .Values.icloudpd.skip_check }}'
download_notifications: '{{ ternary "True" "False" .Values.icloudpd.download_notifications }}'
delete_notifications: '{{ ternary "True" "False" .Values.icloudpd.delete_notifications }}'
delete_accompanying: '{{ ternary "True" "False" .Values.icloudpd.delete_accompanying }}'
delete_empty_directories: '{{ ternary "True" "False" .Values.icloudpd.delete_empty_directories }}'
set_exif_datetime: '{{ ternary "True" "False" .Values.icloudpd.set_exif_datetime }}'
auto_delete: '{{ ternary "True" "False" .Values.icloudpd.auto_delete }}'
photo_size: "{{ .Values.icloudpd.photo_size }}"
skip_live_photos: '{{ ternary "True" "False" .Values.icloudpd.skip_live_photos }}'
live_photo_size: "{{ .Values.icloudpd.live_photo_size }}"
skip_videos: '{{ ternary "True" "False" .Values.icloudpd.skip_videos }}'
recent_only: '{{ ternary "" .Values.icloudpd.recent_only (eq 0 (int .Values.icloudpd.recent_only)) }}'
until_found: '{{ ternary "" .Values.icloudpd.until_found (eq 0 (int .Values.icloudpd.until_found)) }}'
photo_album: "{{ .Values.icloudpd.photo_album }}"
convert_heic_to_jpeg: '{{ ternary "True" "False" .Values.icloudpd.convert_heic_to_jpeg }}'
jpeg_quality: "{{ .Values.icloudpd.jpeg_quality }}"
icloud_china: '{{ ternary "True" "False" .Values.icloudpd.icloud_china }}'
command_line_options: "{{ .Values.icloudpd.command_line_options }}"
notification_title: "{{ .Values.icloudpd.notification_title }}"
notification_type: "{{ .Values.icloudpd.notification_type }}"
probes: probes:
liveness: liveness:
enabled: false enabled: false
@@ -32,9 +111,7 @@ probes:
enabled: false enabled: false
startup: startup:
enabled: false enabled: false
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
service: service:
main: main:
enabled: false enabled: false
@@ -42,5 +119,13 @@ service:
main: main:
enabled: false enabled: false
persistence:
config:
enabled: true
mountPath: /config
data:
enabled: true
mountPath: /home/apps/iCloud
portal: portal:
enabled: false enabled: false
+1
View File
@@ -61,6 +61,7 @@ words:
- emby - emby
- entrypoints - entrypoints
- eptgmk - eptgmk
- EXIF
- fireshare - fireshare
- flatnotes - flatnotes
- flemarr - flemarr