description:"Do not click this unless you know what you are doing"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:extraArgs
label:Extra Args
schema:
type:list
default:[]
items:
- variable:arg
label:Arg
schema:
type:string
- variable:env
group:"App Configuration"
label:"Image Environment"
schema:
additional_attrs:true
type:dict
attrs:
- variable:NTFY_BASE_URL
label:"Base URL"
description:"Public facing base URL of the service (e.g. https://ntfy.sh)"
schema:
type:string
required:true
default:""
- variable:NTFY_BEHIND_PROXY
label:"Behind Proxy"
description:"If set, the X-Forwarded-For header is used to determine the visitor IP address instead of the remote address of the connection."
schema:
type:boolean
default:false
- variable:ENABLE_CACHE_FILE
label:"Enable Firebase File"
description:"If set to true, it enables the firebase file by setting the NTFY_FIREBASE_KEY_FILE to \"/etc/ntfy/firebase-key.json\""
schema:
type:boolean
default:false
- variable:ENABLE_CACHE_FILE
label:"Enable Cache File"
description:"If set to true, it enables the cache file by setting the NTFY_CACHE_FILE to \"/var/cache/ntfy/cache.db\""
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:NTFY_CACHE_DURATION
label:"Cache Duration"
description:"Duration for which messages will be buffered before they are deleted. This is required to support the since=... and poll=1 parameter. Set this to 0 to disable the cache entirely."
schema:
type:string
required:true
default:"12h"
- variable:NTFY_KEEPALIVE_INTERVAL
label:"Keepalive interval"
description:"Interval in which keepalive messages are sent to the client. This is to prevent intermediaries closing the connection for inactivity. Note that the Android app has a hardcoded timeout at 77s, so it should be less than that."
schema:
type:string
required:true
default:"45s"
- variable:NTFY_MANAGER_INTERVAL
label:"Manager Interval"
description:"Interval in which the manager prunes old messages, deletes topics and prints the stats."
schema:
type:string
required:true
default:"1m"
- variable:NTFY_GLOBAL_TOPIC_LIMIT
label:"Global Topic Limit"
description:"Rate limiting: Total number of topics before the server rejects new topics."
schema:
type:int
required:true
default:15000
- variable:ENABLE_VISITOR_SETTINGS
label:"Enable Visitor Settings"
description:"If set to true, it enables the visitor settings"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:NTFY_VISITOR_SUBSCRIPTION_LIMIT
label:"Visitor Ssubscription Limit"
description:"Rate limiting: Number of subscriptions per visitor (IP address)"
description:"Rate limiting: Total storage limit used for attachments per visitor, for all attachments combined. Storage is freed after attachments expire. See NTFY_ATTACHMENT_EXPIRY_DURATION"
description:"Rate limiting: List of hostnames and IPs to be exempt from request rate limiting."
schema:
type:string
default:""
- variable:NTFY_VISITOR_EMAIL_LIMIT_BURST
label:"Visitor Email Limit Burst"
description:"Rate limiting:Initial limit of e-mails per visitor"
schema:
type:int
required:true
default:16
- variable:NTFY_VISITOR_EMAIL_LIMIT_REPLENISH
label:"Visitor Email Limit Replenish"
description:"Rate limiting: Strongly related to NTFY_VISITOR_EMAIL_LIMIT_BURST: The rate at which the bucket is refilled."
schema:
type:string
required:true
default:"1h"
- variable:ENABLE_ATTACHMENT_CACHE_DIR
label:"Enable Attachment Cache Directory"
description:"If set to true, it enables the attachment dir by setting the NTFY_ATTACHMENT_CACHE_DIR to \"/var/cache/ntfy/attachments\""
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT
label:"Attachment Total Size Limit"
description:"Limit of the on-disk attachment cache directory. If the limits is exceeded, new attachments will be rejected."
schema:
type:string
required:true
default:"5G"
- variable:NTFY_ATTACHMENT_FILE_SIZE_LIMIT
label:"Attachment File Size Limit"
description:"Per-file attachment size limit (e.g. 300k, 2M, 100M). Larger attachment will be rejected."
schema:
type:string
required:true
default:"15M"
- variable:NTFY_ATTACHMENT_EXPIRY_DURATION
label:"Attachment Expiry Duration"
description:"Duration after which uploaded attachments will be deleted (e.g. 3h, 20h). Strongly affects NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT."
schema:
type:string
required:true
default:"3h"
- variable:ENABLE_AUTH_FILE
label:"Enable Auth File"
description:"If set to true, it enables the auth file by setting the NTFY_AUTH_FILE to \"/etc/ntfy/user.db\""
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:NTFY_AUTH_DEFAULT_ACCESS
label:"Auth Default Access"
description:"Default permissions if no matching entries in the auth database are found."
schema:
type:string
required:true
default:"read-write"
enum:
- value:"read-write"
description:"read-write"
- value:"read-only"
description:"read-only"
- value:"write-only"
description:"write-only"
- value:"deny-all"
description:"deny-all"
- variable:ENABLE_SMTP_SETTINGS
label:"Enable SMTP Settings"
description:"If set to true, it enables the SMTP settings"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:NTFY_SMTP_SENDER_ADDR
label:"SMTP Sender Address"
description:"SMTP server address to allow email sending"
schema:
type:string
default:""
- variable:NTFY_SMTP_SENDER_USER
label:"SMTP Sender User"
description:"SMTP user. Only used if e-mail sending is enabled"
schema:
type:string
default:""
- variable:NTFY_SMTP_SENDER_PASS
label:"SMTP Sender Password"
description:SMTP password. Only used if e-mail sending is enabled"
schema:
type:string
private:true
default:""
- variable:NTFY_SMTP_SENDER_FROM
label:"SMTP Sender From Address"
description:"SMTP sender e-mail address. Only used if e-mail sending is enabled"
schema:
type:string
default:""
- variable:NTFY_SMTP_SERVER_LISTEN
label:"SMTP Server Listen"
description:"Defines the IP address and port the SMTP server will listen on, e.g. :25 or 1.2.3.4:25"
schema:
type:string
default:""
- variable:NTFY_SMTP_SERVER_DOMAIN
label:"SMTP Server Domain"
description:"SMTP server e-mail domain, e.g. ntfy.sh"
schema:
type:string
default:""
- variable:NTFY_SMTP_SERVER_ADDR_PREFIX
label:"SMTP Server Address Prefix"
description:"Optional prefix for the e-mail addresses to prevent spam, e.g. ntfy-"
schema:
type:string
default:""
- variable:TZ
label:Timezone
group:"General Settings"
schema:
type:string
default:"Etc/UTC"
$ref:
- "definitions/timezone"
- 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..."
group:"General Settings"
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: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)
- 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: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:10222
required:true
- variable:serviceexpert
group:Networking and Services
label:Show Expert Config
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:hostNetwork
group:Networking and Services
label:Host-Networking (Complicated)
schema:
type:boolean
default:false
- variable:externalInterfaces
description:Add External Interfaces
label:Add external Interfaces
group:Networking
schema:
type:list
items:
- variable:interfaceConfiguration
description:Interface Configuration
label:Interface Configuration
schema:
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:
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
show_subquestions_if:static
subquestions:
- variable:staticIPConfigurations
label:Static IP Addresses
schema:
type:list
items:
- variable:staticIP
label:Static IP
schema:
type:ipaddr
cidr:true
- variable:staticRoutes
label:Static Routes
schema:
type:list
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:persistence
label:Integrated Persistent Storage
description:Integrated Persistent Storage
group:Storage and Persistence
schema:
additional_attrs:true
type:dict
attrs:
- variable:config
label:"App Config Storage"
description:"Stores the Application Configuration."
schema:
additional_attrs:true
type:dict
attrs:
- variable:type
label:Type of Storage
description:Sets the persistence type, Anything other than PVC could break rollback!
schema:
type:string
default:pvc
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:setPermissions
label:Automatic Permissions
description:Automatically set permissions on install
schema:
show_if:[["type","=","hostPath"]]
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: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 (Do NOT REDUCE after installation)
description:This value can ONLY be INCREASED after the installation
schema:
show_if:[["type","=","pvc"]]
type:string
default:256Gi
- variable:cache
label:"App Cache Storage"
description:"Stores the Application Cache."
schema:
additional_attrs:true
type:dict
attrs:
- variable:type
label:Type of Storage
description:Sets the persistence type, Anything other than PVC could break rollback!
schema:
type:string
default:pvc
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:setPermissions
label:Automatic Permissions
description:Automatically set permissions on install
schema:
show_if:[["type","=","hostPath"]]
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: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 (Do NOT REDUCE after installation)
description:This value can ONLY be INCREASED after the installation
schema:
show_if:[["type","=","pvc"]]
type:string
default:256Gi
- 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:setPermissions
label:Automatic Permissions
description:Automatically set permissions on install
schema:
show_if:[["type","=","hostPath"]]
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