groups:
- name: Container Image
description: Image to be used for container
- name: General Settings
description: General Deployment Settings
- name: Workload Settings
description: Workload Settings
- name: App Configuration
description: App Specific Config Options
- name: Networking and Services
description: Configure Network and Services for Container
- name: Storage and Persistence
description: Persist and Share Data that is Separate from the Container
- name: Ingress
description: Ingress Configuration
- name: Security and Permissions
description: Configure Security Context and Permissions
- name: Resources and Devices
description: "Specify Resources/Devices to be Allocated to Workload"
- name: Middlewares
description: Traefik Middlewares
- name: Metrics
description: Metrics
- name: Addons
description: Addon Configuration
- name: Advanced
description: Advanced Configuration
- name: Postgresql
description: Postgresql
- name: Documentation
description: Documentation
portals:
open:
protocols:
- "$kubernetes-resource_configmap_tcportal-open_protocol"
host:
- "$kubernetes-resource_configmap_tcportal-open_host"
ports:
- "$kubernetes-resource_configmap_tcportal-open_port"
questions:
- variable: global
group: General Settings
label: "Global Settings"
schema:
additional_attrs: true
type: dict
attrs:
- variable: stopAll
label: Stop All
description: "Stops All Running pods and hibernates cnpg"
schema:
type: boolean
default: false
- variable: workload
group: "Workload Settings"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type (Advanced)
schema:
type: string
default: Deployment
enum:
- value: Deployment
description: Deployment
- value: DaemonSet
description: DaemonSet
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "DaemonSet"]]
default: 1
- variable: podSpec
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: containers
label: Containers
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Container
schema:
additional_attrs: true
type: dict
attrs:
- variable: envList
label: Extra Environment Variables
description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
schema:
type: list
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: command
label: Command
schema:
type: list
default: []
items:
- variable: param
label: Param
schema:
type: string
- variable: invidious
group: App Configuration
label: Invidious Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: network
label: Network Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: inbound
label: Inbound
schema:
additional_attrs: true
type: dict
attrs:
- variable: external_port
label: External Port
description: When the invidious instance is behind a proxy, and the proxy listens on a different port than the instance does, this lets invidious know about it.
schema:
type: int
required: true
min: 1
max: 65535
default: 10594
- variable: https_only
label: HTTPS Only
description: Tell Invidious that it is behind a proxy that provides only HTTPS, so all links must use the https:// scheme. This setting MUST be set to true if invidious is behind a reverse proxy serving HTTPs.
schema:
type: boolean
default: false
- variable: domain
label: Domain
description: Domain name under which this instance is hosted. This is used to craft absolute URLs to the instance
schema:
type: string
default: ""
- variable: hsts
label: HSTS
description: Enable/Disable Strict-Transport-Security.
schema:
type: boolean
default: false
- variable: outbound
label: Outbound
schema:
additional_attrs: true
type: dict
attrs:
- variable: disable_proxy
label: Disable Proxy
description: Disable proxying server-wide. Can be disable as a whole, or only for a single function.
schema:
type: string
required: true
default: "false"
enum:
- value: "false"
description: "false"
- value: "true"
description: "true"
- value: dash
description: dash
- value: livestreams
description: livestreams
- value: livestreams
description: livestreams
- value: downloads
description: downloads
- value: local
description: local
- variable: pool_size
label: Pool Size
description: Size of the HTTP pool used to connect to youtube.
schema:
type: int
required: true
min: 1
default: 100
- variable: use_quic
label: Use QUIC
description: Enable/Disable the use of QUIC (HTTP/3) when connecting to the youtube API and websites
schema:
type: boolean
default: false
- variable: cookies
label: Cookies
description: Additional cookies to be sent when requesting the youtube API.
schema:
type: list
default: []
items:
- variable: cookie_entry
label: Cookie Entry
schema:
type: string
required: true
default: ""
- variable: force_resolve
label: Force Resolve
description: Force connection to youtube over a specific IP family.
schema:
type: string
default: ""
enum:
- value: ""
description: No Force
- value: ipv4
description: ipv4
- value: ipv6
description: ipv6
- variable: logging
label: Logging Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: output
label: Output
description: STDOUT or Path to log file. Can be absolute or relative to the invidious binary.
schema:
type: string
required: true
default: STDOUT
- variable: log_level
label: Log Level
description: Logging Verbosity.
schema:
type: string
required: true
default: Info
enum:
- value: Info
description: Info
- value: Trace
description: Trace
- value: Debug
description: Debug
- value: Warn
description: Warn
- value: Error
description: Error
- value: Fatal
description: Fatal
- value: "Off"
description: "Off"
- value: All
description: All
- variable: features
label: Features Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: popular_enabled
label: Popular Enabled
description: Enable/Disable the "Popular" tab on the main page.
schema:
type: boolean
default: true
- variable: statistics_enabled
label: Statistics Enabled
description: Enable/Disable statistics (available at /api/v1/stats).
schema:
type: boolean
default: false
- variable: users_accounts
label: Users and Accounts
schema:
additional_attrs: true
type: dict
attrs:
- variable: registration_enabled
label: Registration Enabled
description: Allow/Forbid Invidious (local) account creation. Invidious accounts allow users to subscribe to channels and to create playlists without a Google account.
schema:
type: boolean
default: true
- variable: login_enabled
label: Login Enabled
description: Allow/Forbid users to log-in. This setting affects the ability to connect with BOTH Google and Invidious (local) accounts.
schema:
type: boolean
default: true
- variable: captcha_enabled
label: Captcha Enabled
description: Enable/Disable the captcha challenge on the login page.
schema:
type: boolean
default: true
- variable: admins
label: Admins
description: List of usernames that will be granted administrator rights.
schema:
type: list
default: []
items:
- variable: adminEntry
label: Admin Entry
schema:
type: string
required: true
default: ""
- variable: background_jobs
label: Background Jobs
schema:
additional_attrs: true
type: dict
attrs:
- variable: channel_threads
label: Channel Threads
description: Number of threads to use when crawling channel videos (during subscriptions update).
schema:
type: int
required: true
min: 1
default: 1
- variable: channel_refresh_interval
label: Channel Refresh Interval
description: Time interval between two executions of the job that crawls channel videos (subscriptions update).
schema:
type: string
required: true
default: 30m
- variable: full_refresh
label: Full Refresh
description: Forcefully dump and re-download the entire list of uploaded videos when crawling channel (during subscriptions update).
schema:
type: boolean
default: false
- variable: feed_threads
label: Feed Threads
description: Number of threads to use when updating RSS feeds.
schema:
type: int
required: true
min: 1
default: 1
- variable: decrypt_polling
label: Decrypt Polling
description: Enable/Disable the polling job that keeps the decryption function (for "secured" videos) up to date.
schema:
type: boolean
default: false
- variable: jobs
label: Jobs Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: clear_expired_items
label: Clear Expired Items
schema:
additional_attrs: true
type: dict
attrs:
- variable: enable
label: Enable
description: Enable the database cleaning job
schema:
type: boolean
default: true
- variable: refresh_channels
label: Refresh Channels
schema:
additional_attrs: true
type: dict
attrs:
- variable: enable
label: Enable
description: Enable the channels updater job
schema:
type: boolean
default: true
- variable: refresh_feeds
label: Refresh Feeds
schema:
additional_attrs: true
type: dict
attrs:
- variable: enable
label: Enable
description: Enable the RSS feeds updater job
schema:
type: boolean
default: true
- variable: captcha
label: Captcha
schema:
additional_attrs: true
type: dict
attrs:
- variable: captcha_api_url
label: Captcha API URL
description: URL of the captcha solving service.
schema:
type: string
required: true
default: https://api.anti-captcha.com
- variable: captcha_key
label: Captcha API Key
description: API key for the captcha solving service.
schema:
type: string
private: true
default: ""
- variable: miscellaneous
label: Miscellaneous
schema:
additional_attrs: true
type: dict
attrs:
- variable: banner
label: Banner
description: Custom banner displayed at the top of every page. This can used for instance announcements, e.g.
schema:
type: string
default: ""
- variable: use_pubsub_feeds
label: Use PuBSub Feeds
description: Subscribe to channels using PubSubHub (Google PubSubHubbub service). PubSubHub allows Invidious to be instantly notified when a new video is published on any subscribed channels
schema:
type: boolean
default: false
- variable: hmac_key
label: HMAC Key
description: HMAC signing key used for CSRF tokens and pubsub subscriptions verification. A random key must be generated and placed here.
schema:
type: string
private: true
default: ""
- variable: dmca_content
label: DMCA Content
description: List of video IDs where the "download" widget must be disabled, in order to comply with DMCA requests.
schema:
type: list
default: []
items:
- variable: dmcaEntry
label: DMCA Entry
schema:
type: string
required: true
default: ""
- variable: cache_annotations
label: Cache Annotations
description: Cache video annotations in the database.
schema:
type: boolean
default: false
- variable: playlist_length_limit
label: Playlist Length Limit
description: Maximum custom playlist length limit.
schema:
type: int
required: true
default: 500
- variable: default_user_preferences
label: Default User Preferences
schema:
additional_attrs: true
type: dict
attrs:
- variable: internationalization
label: Internationalization
schema:
additional_attrs: true
type: dict
attrs:
- variable: locale
label: Locale
description: Default user interface language (locale).
schema:
type: string
required: true
default: en-US
enum:
- value: ar
description: Arabic
- value: da
description: Danish
- value: de
description: German
- value: en-US
description: English, US
- value: el
description: Greek
- value: eo
description: Esperanto
- value: es
description: Spanish
- value: fa
description: Persian
- value: fi
description: Finnish
- value: fr
description: French
- value: he
description: Hebrew
- value: hr
description: Hungarian
- value: id
description: Indonesian
- value: is
description: Icelandic
- value: it
description: Italian
- value: ja
description: Japanese
- value: nb-NO
description: Norwegian, Bomkmal
- value: nl
description: Dutch
- value: pl
description: Polish
- value: pt-BR
description: Portuguese, Brazil
- value: pt-PT
description: Portuguese, Portugal
- value: ro
description: Romanian
- value: ru
description: Russian
- value: sv
description: Swedish
- value: tr
description: Turkish
- value: uk
description: Ukrainian
- value: zh-CN
description: Chinese, China (Simplified Chinese)
- value: zh-TW
description: Chinese, Taiwan (Traditional Chinese)
- variable: region
label: Region
description: Default geographical location for content.
schema:
type: string
required: true
default: US
enum:
- value: AE
description: AE
- value: AR
description: AR
- value: AT
description: AT
- value: AU
description: AU
- value: AZ
description: AZ
- value: BA
description: BA
- value: BD
description: BD
- value: BE
description: BE
- value: BG
description: BG
- value: BH
description: BH
- value: BO
description: BO
- value: BR
description: BR
- value: BY
description: BY
- value: CA
description: CA
- value: CH
description: CH
- value: CL
description: CL
- value: CO
description: CO
- value: CR
description: CR
- value: CY
description: CY
- value: CZ
description: CZ
- value: DE
description: DE
- value: DK
description: DK
- value: DO
description: DO
- value: DZ
description: DZ
- value: EC
description: EC
- value: EE
description: EE
- value: EG
description: EG
- value: ES
description: ES
- value: FI
description: FI
- value: FR
description: FR
- value: GB
description: GB
- value: GE
description: GE
- value: GH
description: GH
- value: GR
description: GR
- value: GT
description: GT
- value: HK
description: HK
- value: HN
description: HN
- value: HR
description: HR
- value: HU
description: HU
- value: ID
description: ID
- value: IE
description: IE
- value: IL
description: IL
- value: IN
description: IN
- value: IQ
description: IQ
- value: IS
description: IS
- value: IT
description: IT
- value: JM
description: JM
- value: JO
description: JO
- value: JP
description: JP
- value: KE
description: KE
- value: KR
description: KR
- value: KW
description: KW
- value: KZ
description: KZ
- value: LB
description: LB
- value: LI
description: LI
- value: LK
description: LK
- value: LT
description: LT
- value: LU
description: LU
- value: LV
description: LV
- value: LY
description: LY
- value: MA
description: MA
- value: ME
description: ME
- value: MK
description: MK
- value: MT
description: MT
- value: MX
description: MX
- value: MY
description: MY
- value: NG
description: NG
- value: NI
description: NI
- value: NL
description: NL
- value: "NO"
description: "NO"
- value: NP
description: NP
- value: NZ
description: NZ
- value: OM
description: OM
- value: PA
description: PA
- value: PE
description: PE
- value: PG
description: PG
- value: PH
description: PH
- value: PK
description: PK
- value: PL
description: PL
- value: PR
description: PR
- value: PT
description: PT
- value: PY
description: PY
- value: QA
description: QA
- value: RO
description: RO
- value: RS
description: RS
- value: RU
description: RU
- value: SA
description: SA
- value: SE
description: SE
- value: SG
description: SG
- value: SI
description: SI
- value: SK
description: SK
- value: SN
description: SN
- value: SV
description: SV
- value: TH
description: TH
- value: TN
description: TN
- value: TR
description: TR
- value: TW
description: TW
- value: TZ
description: TZ
- value: UA
description: UA
- value: UG
description: UG
- value: US
description: US
- value: UY
description: UY
- value: VE
description: VE
- value: VN
description: VN
- value: YE
description: YE
- value: ZA
description: ZA
- value: ZW
description: ZW
- variable: captions
label: Captions
description: Top 3 preferred languages for video captions. Exactly 3 Captions
schema:
type: list
default: []
items:
- variable: captionEntry
label: Caption Entry
schema:
type: string
required: true
default: ""
enum:
- value: English
description: English
- value: English (auto-generated)
description: English (auto-generated)
- value: Afrikaans
description: Afrikaans
- value: Albanian
description: Albanian
- value: Amharic
description: Amharic
- value: Arabic
description: Arabic
- value: Armenian
description: Armenian
- value: Azerbaijani
description: Azerbaijani
- value: Bangla
description: Bangla
- value: Basque
description: Basque
- value: Belarusian
description: Belarusian
- value: Bosnian
description: Bosnian
- value: Bulgarian
description: Bulgarian
- value: Burmese
description: Burmese
- value: Catalan
description: Catalan
- value: Cebuano
description: Cebuano
- value: Chinese (Simplified)
description: Chinese (Simplified)
- value: Chinese (Traditional)
description: Chinese (Traditional)
- value: Corsican
description: Corsican
- value: Croatian
description: Croatian
- value: Czech
description: Czech
- value: Danish
description: Danish
- value: Dutch
description: Dutch
- value: Esperanto
description: Esperanto
- value: Estonian
description: Estonian
- value: Filipino
description: Filipino
- value: Finnish
description: Finnish
- value: French
description: French
- value: Galician
description: Galician
- value: Georgian
description: Georgian
- value: German
description: German
- value: Greek
description: Greek
- value: Gujarati
description: Gujarati
- value: Haitian Creole
description: Haitian Creole
- value: Hausa
description: Hausa
- value: Hawaiian
description: Hawaiian
- value: Hebrew
description: Hebrew
- value: Hindi
description: Hindi
- value: Hmong
description: Hmong
- value: Hungarian
description: Hungarian
- value: Icelandic
description: Icelandic
- value: Igbo
description: Igbo
- value: Indonesian
description: Indonesian
- value: Irish
description: Irish
- value: Italian
description: Italian
- value: Japanese
description: Japanese
- value: Javanese
description: Javanese
- value: Kannada
description: Kannada
- value: Kazakh
description: Kazakh
- value: Khmer
description: Khmer
- value: Korean
description: Korean
- value: Kurdish
description: Kurdish
- value: Kyrgyz
description: Kyrgyz
- value: Lao
description: Lao
- value: Latin
description: Latin
- value: Latvian
description: Latvian
- value: Lithuanian
description: Lithuanian
- value: Luxembourgish
description: Luxembourgish
- value: Macedonian
description: Macedonian
- value: Malagasy
description: Malagasy
- value: Malay
description: Malay
- value: Malayalam
description: Malayalam
- value: Maltese
description: Maltese
- value: Maori
description: Maori
- value: Marathi
description: Marathi
- value: Mongolian
description: Mongolian
- value: Nepali
description: Nepali
- value: Norwegian Bokmål
description: Norwegian Bokmål
- value: Nyanja
description: Nyanja
- value: Pashto
description: Pashto
- value: Persian
description: Persian
- value: Polish
description: Polish
- value: Portuguese
description: Portuguese
- value: Punjabi
description: Punjabi
- value: Romanian
description: Romanian
- value: Russian
description: Russian
- value: Samoan
description: Samoan
- value: Scottish Gaelic
description: Scottish Gaelic
- value: Serbian
description: Serbian
- value: Shona
description: Shona
- value: Sindhi
description: Sindhi
- value: Sinhala
description: Sinhala
- value: Slovak
description: Slovak
- value: Slovenian
description: Slovenian
- value: Somali
description: Somali
- value: Southern Sotho
description: Southern Sotho
- value: Spanish
description: Spanish
- value: Spanish (Latin America)
description: Spanish (Latin America)
- value: Sundanese
description: Sundanese
- value: Swahili
description: Swahili
- value: Swedish
description: Swedish
- value: Tajik
description: Tajik
- value: Tamil
description: Tamil
- value: Telugu
description: Telugu
- value: Thai
description: Thai
- value: Turkish
description: Turkish
- value: Ukrainian
description: Ukrainian
- value: Urdu
description: Urdu
- value: Uzbek
description: Uzbek
- value: Vietnamese
description: Vietnamese
- value: Welsh
description: Welsh
- value: Western Frisian
description: Western Frisian
- value: Xhosa
description: Xhosa
- value: Yiddish
description: Yiddish
- value: Yoruba
description: Yoruba
- value: Zulu
description: Zulu
- variable: interface
label: Interface
schema:
additional_attrs: true
type: dict
attrs:
- variable: dark_mode
label: Dark Mode
description: Enable/Disable dark mode.
schema:
type: string
required: true
default: auto
enum:
- value: auto
description: Auto
- value: dark
description: Dark
- value: light
description: Light
- variable: thin_mode
label: Thin Mode
description: Enable/Disable thin mode (no video thumbnails).
schema:
type: boolean
default: false
- variable: feed_menu
label: Feed Menu
description: List of feeds available on the home page. Defaults to all. Max 4 feed items
schema:
type: list
default: []
items:
- variable: feedEntry
label: Feed Entry
schema:
type: string
required: true
default: ""
enum:
- value: Popular
description: Popular
- value: Trending
description: Trending
- value: Subscriptions
description: Subscriptions
- value: Playlists
description: Playlists
- variable: default_home
label: Default Home
description: Default feed to display on the home page.
schema:
type: string
default: ""
enum:
- value: ""
description: None
- value: Popular
description: Popular
- value: Trending
description: Trending
- value: Subscriptions
description: Subscriptions
- value: Playlists
description: Playlists
- variable: max_results
label: Max Results
description: Default number of results to display per page.
schema:
type: int
required: true
default: 40
- variable: annotations
label: Annotations
description: Show/hide annotations.
schema:
type: boolean
default: false
- variable: annotations_subscribed
label: Annotations Subscribed
description: Show/hide subscribed annotations.
schema:
type: boolean
default: false
- variable: comments
label: Comments
description: Type of comments to display below video. Exactly 2 Types
schema:
type: list
default: []
items:
- variable: commentEntry
label: Comment Entry
schema:
type: string
required: true
default: ""
enum:
- value: ""
description: None
- value: youtube
description: Youtube
- value: reddit
description: Reddit
- variable: player_style
label: Player Style
description: Default player style.
schema:
type: string
required: true
default: invidious
enum:
- value: invidious
description: Invidious
- value: youtube
description: Youtube
- variable: related_videos
label: Related Videos
description: Show/Hide the "related videos" sidebar when watching a video.
schema:
type: boolean
default: true
- variable: video_player_behavior
label: Video Player Behavior
schema:
additional_attrs: true
type: dict
attrs:
- variable: autoplay
label: Autoplay
description: Automatically play videos on page load.
schema:
type: boolean
default: false
- variable: continue
label: Continue
description: Automatically load the "next" video (either next in playlist or proposed) when the current video ends.
schema:
type: boolean
default: false
- variable: continue_autoplay
label: Continue Autoplay
description: Autoplay next video by default.
schema:
type: boolean
default: true
- variable: listen
label: Listen
description: Play videos in Audio-only mode by default.
schema:
type: boolean
default: false
- variable: video_loop
label: Video Loop
description: Loop videos automatically.
schema:
type: boolean
default: false
- variable: video_playback_settings
label: Video Playback Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: quality
label: Quality
description: Default video quality.
schema:
type: string
required: true
default: hd720
enum:
- value: hd720
description: HD720
- value: dash
description: Dash
- value: medium
description: Medium
- value: small
description: Small
- variable: quality_dash
label: Quality Dash
description: Default dash video quality.
schema:
type: string
show_if: [["quality", "=", "dash"]]
required: true
default: auto
enum:
- value: auto
description: Auto
- value: best
description: Best
- value: 4320p
description: 4320p
- value: 2160p
description: 2160p
- value: 1440p
description: 1440p
- value: 1080p
description: 1080p
- value: 720p
description: 720p
- value: 480p
description: 480p
- value: 480p
description: 480p
- value: 360p
description: 360p
- value: 240p
description: 240p
- value: 144p
description: 144p
- value: worst
description: Worst
- variable: speed
label: Speed
description: Default video playback speed.
schema:
type: string
required: true
valid_chars: '^[0-9]+(\.[0-9]{1,2})?$'
default: "1.00"
- variable: volume
label: Volume
description: Default volume.
schema:
type: int
min: 1
max: 100
required: true
default: 100
- variable: vr_mode
label: VR Mode
description: Allow 360° videos to be played.
schema:
type: boolean
default: false
- variable: subscription_feed
label: Subscription Feed
schema:
additional_attrs: true
type: dict
attrs:
- variable: latest_only
label: Latest Only
description: In the "Subscription" feed, only show the latest video of each channel the user is subscribed to.
schema:
type: boolean
default: false
- variable: notifications_only
label: Notifications Only
description: Enable/Disable user subscriptions desktop notifications.
schema:
type: boolean
default: false
- variable: unseen_only
label: Unseen Only
description: In the "Subscription" feed, Only show the videos that the user haven't watched yet.
schema:
type: boolean
default: false
- variable: sort
label: Sort
description: Default sorting parameter for subscription feeds.
schema:
type: string
required: true
default: published
enum:
- value: alphabetically
description: Alphabetically
- value: alphabetically - reverse
description: Alphabetically - Reverse
- value: channel name
description: Channel Name
- value: channel name - reverse
description: Channel Name - Reverse
- value: published
description: Published
- value: published - reverse
description: Published - Reverse
- variable: miscellaneous
label: Miscellaneous
schema:
additional_attrs: true
type: dict
attrs:
- variable: local
label: Local
description: Proxy videos through instance by default.
schema:
type: boolean
default: false
- variable: show_nick
label: Show Nick
description: Show the connected user's nick at the top right.
schema:
type: boolean
default: true
- variable: automatic_instance_redirect
label: Automatic Instance Redirect
description: Automatically redirect to a random instance when the user uses any "switch invidious instance" link
schema:
type: boolean
default: false
- variable: extend_desc
label: Extend Description
description: Show the entire video description
schema:
type: boolean
default: false
- variable: TZ
label: Timezone
group: "General Settings"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: podOptions
group: "General Settings"
label: "Global Pod Options (Advanced)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: expertPodOpts
label: "Expert - Pod Options"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
label: "Host Networking"
schema:
type: boolean
default: false
- variable: dnsConfig
label: "DNS Configuration"
schema:
type: dict
additional_attrs: true
attrs:
- variable: options
label: "Options"
schema:
type: list
default: [{"name": "ndots", "value": "1"}]
items:
- variable: optionsEntry
label: "Option Entry"
schema:
type: dict
additional_attrs: true
attrs:
- variable: name
label: "Name"
schema:
type: string
required: true
- variable: value
label: "Value"
schema:
type: string
- variable: nameservers
label: "Nameservers"
schema:
type: list
default: []
items:
- variable: nsEntry
label: "Nameserver Entry"
schema:
type: string
required: true
- variable: searches
label: "Searches"
schema:
type: list
default: []
items:
- variable: searchEntry
label: "Search Entry"
schema:
type: string
required: true
- variable: service
group: Networking and Services
label: Configure Service(s)
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Service
description: The Primary service on which the healthcheck runs, often the webUI
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Service
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: "Service's Port(s) Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 10594
required: true
- variable: serviceexpert
group: Networking and Services
label: Show Expert Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: scaleExternalInterface
description: Add External Interfaces
label: Add external Interfaces
group: Networking
schema:
type: list
items:
- variable: interfaceConfiguration
description: Interface Configuration
label: Interface Configuration
schema:
additional_attrs: true
type: dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: hostInterface
description: Please Specify Host Interface
label: Host Interface
schema:
type: string
required: true
$ref:
- "definitions/interface"
- variable: ipam
description: Define how IP Address will be managed
label: IP Address Management
schema:
additional_attrs: true
type: dict
required: true
attrs:
- variable: type
description: Specify type for IPAM
label: IPAM Type
schema:
type: string
required: true
enum:
- value: dhcp
description: Use DHCP
- value: static
description: Use Static IP
- variable: staticIPConfigurations
label: Static IP Addresses
schema:
type: list
show_if: [["type", "=", "static"]]
items:
- variable: staticIP
label: Static IP
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: Static Routes
schema:
type: list
show_if: [["type", "=", "static"]]
items:
- variable: staticRouteConfiguration
label: Static Route Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: destination
label: Destination
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: Gateway
schema:
type: ipaddr
cidr: false
required: true
- variable: serviceList
label: Add Manual Custom Services
group: Networking and Services
schema:
type: list
default: []
items:
- variable: serviceListEntry
label: Custom Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the service
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- value: Simple
description: Deprecated CHANGE THIS
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: advancedsvcset
label: Show Advanced Service Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: Specify the IP Policy
schema:
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: IP Families
description: (Advanced) The IP Families that should be used
schema:
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- variable: portsList
label: Additional Service Ports
schema:
type: list
default: []
items:
- variable: portsListEntry
label: Custom ports
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Port
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Port Name
schema:
type: string
default: ""
- variable: protocol
label: Port Type
schema:
type: string
default: tcp
enum:
- value: http
description: HTTP
- value: https
description: HTTPS
- value: tcp
description: TCP
- value: udp
description: UDP
- variable: targetPort
label: Target Port
description: This port exposes the container port on the service
schema:
type: int
required: true
- variable: port
label: Container Port
schema:
type: int
required: true
- variable: persistenceList
label: Additional App Storage
group: Storage and Persistence
schema:
type: list
default: []
items:
- variable: persistenceListEntry
label: Custom Storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the storage
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: hostPath
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: autoPermissions
label: Automatic Permissions Configuration
description: Automatically set permissions
schema:
show_if: [["type", "!=", "pvc"]]
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: chown
label: Run CHOWN
description: |
It will run CHOWN on the path with the given fsGroup
schema:
type: boolean
default: false
- variable: chmod
label: Run CHMOD
description: |
It will run CHMOD on the path with the given value
Format should be 3 digits, e.g. 770
schema:
type: string
valid_chars: '[0-9]{3}'
default: ""
- variable: recursive
label: Recursive
description: |
It will run CHOWN and CHMOD recursively
schema:
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: mountPath
label: Mount Path
description: Path inside the container the storage is mounted
schema:
type: string
default: ""
required: true
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size Quotum of Storage
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: ingress
label: ""
group: Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hosts
label: Hosts
schema:
type: list
default: []
items:
- variable: hostEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: []
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: certificateIssuer
label: Cert-Manager clusterIssuer
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
schema:
type: string
default: ""
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
- variable: entrypoint
label: (Advanced) Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
show_if: [["advanced", "=", true]]
required: true
- variable: ingressClassName
label: (Advanced/Optional) IngressClass Name
schema:
type: string
show_if: [["advanced", "=", true]]
default: ""
- variable: tls
label: TLS-Settings
schema:
type: list
show_if: [["advanced", "=", true]]
default: []
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: certificateIssuer
label: Use Cert-Manager clusterIssuer
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
schema:
type: string
default: ""
- variable: scaleCert
label: Use TrueNAS SCALE Certificate (Deprecated)
schema:
show_if: [["certificateIssuer", "=", ""]]
type: int
$ref:
- "definitions/certificate"
- variable: secretName
label: Use Custom Secret (Advanced)
schema:
show_if: [["certificateIssuer", "=", ""]]
type: string
default: ""
- variable: ingressList
label: Add Manual Custom Ingresses
group: Ingress
schema:
type: list
default: []
items:
- variable: ingressListEntry
label: Custom Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: ingressClassName
label: IngressClass Name
schema:
type: string
default: ""
- variable: hosts
label: Hosts
schema:
type: list
default: []
items:
- variable: hostEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: []
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: service
label: Linked Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Service Name
schema:
type: string
default: ""
- variable: port
label: Service Port
schema:
type: int
- variable: clusterIssuer
label: clusterIssuer
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
schema:
type: string
default: ""
- variable: tls
label: TLS-Settings
schema:
type: list
default: []
show_if: [["clusterIssuer", "=", ""]]
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: clusterIssuer
label: Use Cert-Manager clusterIssuer
description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
schema:
type: string
default: ""
- variable: scaleCert
label: Use TrueNAS SCALE Certificate (Deprecated)
schema:
show_if: [["clusterIssuer", "=", ""]]
type: int
$ref:
- "definitions/certificate"
- variable: secretName
label: Use Custom Secret (Advanced)
schema:
type: string
show_if: [["clusterIssuer", "=", ""]]
default: ""
- variable: entrypoint
label: Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
required: true
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: securityContext
group: Security and Permissions
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: container
label: Container
schema:
additional_attrs: true
type: dict
attrs:
# Settings from questions.yaml get appended here on a per-app basis
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID of the user running the application"
schema:
type: int
default: 0
# Settings from questions.yaml get appended here on a per-app basis
- variable: PUID
label: Process User ID - PUID
description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
schema:
type: int
show_if: [["runAsUser", "=", 0]]
default: 568
- variable: UMASK
label: UMASK
description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
schema:
type: string
default: "0022"
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: true
- variable: pod
label: Pod
schema:
additional_attrs: true
type: dict
attrs:
- variable: fsGroupChangePolicy
label: "When should we take ownership?"
schema:
type: string
default: OnRootMismatch
enum:
- value: OnRootMismatch
description: OnRootMismatch
- value: Always
description: Always
- variable: supplementalGroups
label: Supplemental Groups
schema:
type: list
default: []
items:
- variable: supplementalGroupsEntry
label: Supplemental Group
schema:
type: int
# Settings from questions.yaml get appended here on a per-app basis
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
- variable: resources
group: Resources and Devices
label: "Resource Limits"
schema:
additional_attrs: true
type: dict
attrs:
- variable: limits
label: Advanced Limit Resource Consumption
schema:
additional_attrs: true
type: dict
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 4000m
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: RAM
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 8Gi
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: requests
label: "Minimum Resources Required (request)"
schema:
additional_attrs: true
type: dict
hidden: true
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 10m
hidden: true
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: "RAM"
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 50Mi
hidden: true
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: deviceList
label: Mount USB Devices
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: deviceListEntry
label: Device
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Storage
schema:
type: boolean
default: true
- variable: type
label: (Advanced) Type of Storage
description: Sets the persistence type
schema:
type: string
default: device
hidden: true
- variable: readOnly
label: readOnly
schema:
type: boolean
default: false
- variable: hostPath
label: Host Device Path
description: Path to the device on the host system
schema:
type: path
- variable: mountPath
label: Container Device Path
description: Path inside the container the device is mounted
schema:
type: string
default: "/dev/ttyACM0"
- variable: scaleGPU
label: GPU Configuration
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: scaleGPUEntry
label: GPU
schema:
additional_attrs: true
type: dict
attrs:
# Specify GPU configuration
- variable: gpu
label: Select GPU
schema:
additional_attrs: true
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
- variable: workaround
label: "Workaround"
schema:
type: string
default: workaround
hidden: true
# - variable: horizontalPodAutoscaler
# group: Advanced
# label: (Advanced) Horizontal Pod Autoscaler
# schema:
# type: list
# default: []
# items:
# - variable: hpaEntry
# label: HPA Entry
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: name
# label: Name
# schema:
# type: string
# required: true
# default: ""
# - variable: enabled
# label: Enabled
# schema:
# type: boolean
# default: false
# show_subquestions_if: true
# subquestions:
# - variable: target
# label: Target
# description: Deployment name, Defaults to Main Deployment
# schema:
# type: string
# default: ""
# - variable: minReplicas
# label: Minimum Replicas
# schema:
# type: int
# default: 1
# - variable: maxReplicas
# label: Maximum Replicas
# schema:
# type: int
# default: 5
# - variable: targetCPUUtilizationPercentage
# label: Target CPU Utilization Percentage
# schema:
# type: int
# default: 80
# - variable: targetMemoryUtilizationPercentage
# label: Target Memory Utilization Percentage
# schema:
# type: int
# default: 80
- variable: networkPolicy
group: Advanced
label: (Advanced) Network Policy
schema:
type: list
default: []
items:
- variable: netPolicyEntry
label: Network Policy Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: policyType
label: Policy Type
schema:
type: string
default: ""
enum:
- value: ""
description: Default
- value: ingress
description: Ingress
- value: egress
description: Egress
- value: ingress-egress
description: Ingress and Egress
- variable: egress
label: Egress
schema:
type: list
default: []
items:
- variable: egressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: to
label: To
schema:
type: list
default: []
items:
- variable: toEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP
- variable: ingress
label: Ingress
schema:
type: list
default: []
items:
- variable: ingressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: from
label: From
schema:
type: list
default: []
items:
- variable: fromEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP
- variable: addons
group: Addons
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: Codeserver
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: service
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: NodePort
description: Deprecated CHANGE THIS
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
default: 36107
- variable: envList
label: Codeserver Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: netshoot
label: Netshoot
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: envList
label: Netshoot Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: vpn
label: VPN
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type
schema:
type: string
default: disabled
enum:
- value: disabled
description: disabled
- value: gluetun
description: Gluetun
- value: tailscale
description: Tailscale
- value: openvpn
description: OpenVPN (Deprecated)
- value: wireguard
description: Wireguard (Deprecated)
- variable: openvpn
label: OpenVPN Settings
schema:
additional_attrs: true
type: dict
show_if: [["type", "=", "openvpn"]]
attrs:
- variable: username
label: Authentication Username (Optional)
description: Authentication Username, Optional
schema:
type: string
default: ""
- variable: password
label: Authentication Password
description: Authentication Credentials
schema:
type: string
show_if: [["username", "!=", ""]]
default: ""
required: true
- variable: tailscale
label: Tailscale Settings
schema:
additional_attrs: true
type: dict
show_if: [["type", "=", "tailscale"]]
attrs:
- variable: authkey
label: Authentication Key
description: Provide an auth key to automatically authenticate the node as your user account.
schema:
type: string
private: true
default: ""
- variable: auth_once
label: Auth Once
description: Only attempt to log in if not already logged in.
schema:
type: boolean
default: true
- variable: accept_dns
label: Accept DNS
description: Accept DNS configuration from the admin console.
schema:
type: boolean
default: false
- variable: userspace
label: Userspace
description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
schema:
type: boolean
default: false
- variable: routes
label: Routes
description: Expose physical subnet routes to your entire Tailscale network.
schema:
type: string
default: ""
- variable: dest_ip
label: Destination IP
description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
schema:
type: string
default: ""
- variable: sock5_server
label: Sock5 Server
description: The address on which to listen for SOCKS5 proxying into the tailscale net.
schema:
type: string
default: ""
- variable: outbound_http_proxy_listen
label: Outbound HTTP Proxy Listen
description: The address on which to listen for HTTP proxying into the tailscale net.
schema:
type: string
default: ""
- variable: extra_args
label: Extra Args
description: Extra Args
schema:
type: string
default: ""
- variable: daemon_extra_args
label: Tailscale Daemon Extra Args
description: Tailscale Daemon Extra Args
schema:
type: string
default: ""
- variable: killSwitch
label: Enable Killswitch
schema:
type: boolean
show_if: [["type", "!=", "disabled"]]
default: true
- variable: excludedNetworks_IPv4
label: Killswitch Excluded IPv4 networks
description: List of Killswitch Excluded IPv4 Addresses
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv4
label: IPv4 Network
schema:
type: string
required: true
- variable: excludedNetworks_IPv6
label: Killswitch Excluded IPv6 networks
description: "List of Killswitch Excluded IPv6 Addresses"
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv6
label: IPv6 Network
schema:
type: string
required: true
- variable: configFile
label: VPN Config File Location
schema:
type: string
show_if: [["type", "!=", "disabled"]]
default: ""
- variable: envList
label: VPN Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
max_length: 10240
- variable: docs
group: Documentation
label: Please read the documentation at https://truecharts.org
description: Please read the documentation at
https://truecharts.org
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDocs
label: I have checked the documentation
schema:
type: boolean
default: true
- variable: donateNag
group: Documentation
label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
description: Please consider supporting TrueCharts, see
https://truecharts.org/sponsor
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true