
ntfy lets you send push notifications to your phone or desktop via scripts from any computer, using simple HTTP PUT or POST requests.
Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBudGZ5OlxuICAgIGltYWdlOiBiaW53aWVkZXJoaWVyL250ZnlcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGNvbW1hbmQ6XG4gICAgICAtIHNlcnZlXG4gICAgZXhwb3NlOlxuICAgICAgLSBcIiR7SFRUUF9QT1JUfVwiXG4gICAgdm9sdW1lczpcbiAgICAgIC0gbnRmeS1kYXRhOi92YXIvbGliL250ZnlcbiAgICAgIC0gbnRmeS1jYWNoZTovdmFyL2NhY2hlL250ZnlcbiAgICAgIC0gLi4vZmlsZXMvc2VydmVyLnltbDovZXRjL250Znkvc2VydmVyLnltbDpyb1xuICAgICAgLSAuLi9maWxlcy90ZW1wbGF0ZXM6L2V0Yy9udGZ5L3RlbXBsYXRlczpyb1xuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01ELVNIRUxMXCIsIFwid2dldCAtcSAtLXRyaWVzPTEgaHR0cDovL2xvY2FsaG9zdDoke0hUVFBfUE9SVH0vdjEvaGVhbHRoIC1PIC0gfCBncmVwIC1FbyAnXFxcImhlYWx0aHlcXFwiXFxcXHMqOlxcXFxzKnRydWUnIHx8IGV4aXQgMVwiXVxuICAgICAgaW50ZXJ2YWw6IDYwc1xuICAgICAgdGltZW91dDogMTBzXG4gICAgICByZXRyaWVzOiAzXG4gICAgICBzdGFydF9wZXJpb2Q6IDQwc1xuXG52b2x1bWVzOlxuICBudGZ5LWRhdGE6XG4gIG50ZnktY2FjaGU6IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5udGZ5X2RvbWFpbiA9IFwiJHtkb21haW59XCJcbm50ZnlfaHR0cF9wb3J0ID0gXCI4MFwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIm50ZnlcIlxuaG9zdCA9IFwiJHtudGZ5X2RvbWFpbn1cIlxucG9ydCA9IDgwXG5wYXRoID0gXCIvXCJcblxuW2NvbmZpZy5lbnZdXG5IVFRQX1BPUlQgPSBcIiR7bnRmeV9odHRwX3BvcnR9XCJcblxuIyBUaGlzIGlzIGFuIGV4YW1wbGUsIHlvdSdsbCBuZWVkIHRvIGFkZCBtYW51YWxseSBhbnkgdGVtcGxhdGVzIHlvdSB3YW50IHRvIHVzZVxuI8KgU2hvdWxkIGJlIHByZXNlcnZlZCBhcyB3ZSB1c2UgdGhlIC4uL2ZpbGVzL3RlbXBsYXRlcyBzb2x1dGlvblxuW1tjb25maWcubW91bnRzXV1cbmZpbGVQYXRoID0gXCIvdGVtcGxhdGVzL215YXBwLnltbFwiXG5jb250ZW50ID0gXCJcIlwiXG50aXRsZTogfFxuICB7ey0gaWYgZXEgLnN0YXR1cyBcImZpcmluZ1wiIH19XG4gICAge3stIGlmIGd0IC5wZXJjZW50IDkwLjAgfX3wn5qoIENyaXRpY2FsIGFsZXJ0XG4gICAge3stIGVsc2UgfX3imqDvuI8gQWxlcnR7ey0gZW5kIH19XG4gIHt7LSBlbHNlIGlmIGVxIC5zdGF0dXMgXCJyZXNvbHZlZFwiIH19XG4gIOKchSBBbGVydCByZXNvbHZlZFxuICB7ey0gZW5kIH19XG5tZXNzYWdlOiB8XG4gIFN0YXR1czoge3sgLnN0YXR1cyB9fVxuICBUeXBlOiB7eyAudHlwZSB8IHVwcGVyIH19ICh7eyAucGVyY2VudCB9fSUpXG4gIFNlcnZlcjoge3sgLnNlcnZlciB9fVxuXCJcIlwiXG5cbltbY29uZmlnLm1vdW50c11dXG5maWxlUGF0aCA9IFwiL3NlcnZlci55bWxcIlxuY29udGVudCA9IFwiXCJcIlxuIyBudGZ5IHNlcnZlciBjb25maWcgZmlsZVxuI1xuIyBQbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9udGZ5LnNoL2RvY3MvY29uZmlnLyBmb3IgZGV0YWlscy5cbiMgQWxsIG9wdGlvbnMgYWxzbyBzdXBwb3J0IHVuZGVyc2NvcmVzIChfKSBpbnN0ZWFkIG9mIGRhc2hlcyAoLSkgdG8gY29tcGx5IHdpdGggdGhlIFlBTUwgc3BlYy5cblxuIyBQdWJsaWMgZmFjaW5nIGJhc2UgVVJMIG9mIHRoZSBzZXJ2aWNlIChlLmcuIGh0dHBzOi8vbnRmeS5zaCBvciBodHRwczovL250ZnkuZXhhbXBsZS5jb20pXG4jXG4jIFRoaXMgc2V0dGluZyBpcyByZXF1aXJlZCBmb3IgYW55IG9mIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4jIC0gYXR0YWNobWVudHMgKHRvIHJldHVybiBhIGRvd25sb2FkIFVSTClcbiMgLSBlLW1haWwgc2VuZGluZyAoZm9yIHRoZSB0b3BpYyBVUkwgaW4gdGhlIGVtYWlsIGZvb3RlcilcbiMgLSBpT1MgcHVzaCBub3RpZmljYXRpb25zIGZvciBzZWxmLWhvc3RlZCBzZXJ2ZXJzICh0byBjYWxjdWxhdGUgdGhlIEZpcmViYXNlIHBvbGxfcmVxdWVzdCB0b3BpYylcbiMgLSBNYXRyaXggUHVzaCBHYXRld2F5ICh0byB2YWxpZGF0ZSB0aGF0IHRoZSBwdXNoa2V5IGlzIGNvcnJlY3QpXG4jXG5iYXNlLXVybDogaHR0cHM6Ly8ke250ZnlfZG9tYWlufVxuXG4jIExpc3RlbiBhZGRyZXNzIGZvciB0aGUgSFRUUCAmIEhUVFBTIHdlYiBzZXJ2ZXIuIElmIFwibGlzdGVuLWh0dHBzXCIgaXMgc2V0LCB5b3UgbXVzdCBhbHNvXG4jIHNldCBcImtleS1maWxlXCIgYW5kIFwiY2VydC1maWxlXCIuIEZvcm1hdDogWzxpcD5dOjxwb3J0PiwgZS5nLiBcIjEuMi4zLjQ6ODA4MFwiLlxuI1xuIyBUbyBsaXN0ZW4gb24gYWxsIGludGVyZmFjZXMsIHlvdSBtYXkgb21pdCB0aGUgSVAgYWRkcmVzcywgZS5nLiBcIjo0NDNcIi5cbiMgVG8gZGlzYWJsZSBIVFRQLCBzZXQgXCJsaXN0ZW4taHR0cFwiIHRvIFwiLVwiLlxuI1xubGlzdGVuLWh0dHA6IFwiOiR7bnRmeV9odHRwX3BvcnR9XCJcbiMgbGlzdGVuLWh0dHBzOiBcIjo0NDNcIlxuXG4jIExpc3RlbiBvbiBhIFVuaXggc29ja2V0LCBlLmcuIC92YXIvbGliL250ZnkvbnRmeS5zb2NrXG4jIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBhdm9pZCBwb3J0IGlzc3VlcyBvbiBsb2NhbCBzeXN0ZW1zLCBhbmQgdG8gc2ltcGxpZnkgcGVybWlzc2lvbnMuXG4jXG4jIGxpc3Rlbi11bml4OiA8c29ja2V0LXBhdGg+XG4jIGxpc3Rlbi11bml4LW1vZGU6IDxsaW51eCBwZXJtaXNzaW9ucywgZS5nLiAwNzAwPlxuXG4jIFBhdGggdG8gdGhlIHByaXZhdGUga2V5ICYgY2VydCBmaWxlIGZvciB0aGUgSFRUUFMgd2ViIHNlcnZlci4gTm90IHVzZWQgaWYgXCJsaXN0ZW4taHR0cHNcIiBpcyBub3Qgc2V0LlxuI1xuIyBrZXktZmlsZTogXCJcIlxuIyBjZXJ0LWZpbGU6IFwiXCJcblxuIyBJZiBzZXQsIGFsc28gcHVibGlzaCBtZXNzYWdlcyB0byBhIEZpcmViYXNlIENsb3VkIE1lc3NhZ2luZyAoRkNNKSB0b3BpYyBmb3IgeW91ciBhcHAuXG4jIFRoaXMgaXMgb3B0aW9uYWwgYW5kIG9ubHkgcmVxdWlyZWQgdG8gc2F2ZSBiYXR0ZXJ5IHdoZW4gdXNpbmcgdGhlIEFuZHJvaWQgYXBwLlxuI1xuIyBmaXJlYmFzZS1rZXktZmlsZTogPGZpbGVuYW1lPlxuXG4jIElmIFwiY2FjaGUtZmlsZVwiIGlzIHNldCwgbWVzc2FnZXMgYXJlIGNhY2hlZCBpbiBhIGxvY2FsIFNRTGl0ZSBkYXRhYmFzZSBpbnN0ZWFkIG9mIG9ubHkgaW4tbWVtb3J5LlxuIyBUaGlzIGFsbG93cyBmb3Igc2VydmljZSByZXN0YXJ0cyB3aXRob3V0IGxvc2luZyBtZXNzYWdlcyBpbiBzdXBwb3J0IG9mIHRoZSBzaW5jZT0gcGFyYW1ldGVyLlxuI1xuIyBUaGUgXCJjYWNoZS1kdXJhdGlvblwiIHBhcmFtZXRlciBkZWZpbmVzIHRoZSBkdXJhdGlvbiBmb3Igd2hpY2ggbWVzc2FnZXMgd2lsbCBiZSBidWZmZXJlZFxuIyBiZWZvcmUgdGhleSBhcmUgZGVsZXRlZC4gVGhpcyBpcyByZXF1aXJlZCB0byBzdXBwb3J0IHRoZSBcInNpbmNlPS4uLlwiIGFuZCBcInBvbGw9MVwiIHBhcmFtZXRlci5cbiMgVG8gZGlzYWJsZSB0aGUgY2FjaGUgZW50aXJlbHkgKG9uLWRpc2svaW4tbWVtb3J5KSwgc2V0IFwiY2FjaGUtZHVyYXRpb25cIiB0byAwLlxuIyBUaGUgY2FjaGUgZmlsZSBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHksIHByb3ZpZGVkIHRoYXQgdGhlIGNvcnJlY3QgcGVybWlzc2lvbnMgYXJlIHNldC5cbiNcbiMgVGhlIFwiY2FjaGUtc3RhcnR1cC1xdWVyaWVzXCIgcGFyYW1ldGVyIGFsbG93cyB5b3UgdG8gcnVuIGNvbW1hbmRzIHdoZW4gdGhlIGRhdGFiYXNlIGlzIGluaXRpYWxpemVkLFxuIyBlLmcuIHRvIGVuYWJsZSBXQUwgbW9kZSAoc2VlIGh0dHBzOi8vcGhpcmVza3kuZ2l0aHViLmlvL2Jsb2cvMjAyMC9zcWxpdGUtcGVyZm9ybWFuY2UtdHVuaW5nLykpLlxuIyBFeGFtcGxlOlxuIyAgICBjYWNoZS1zdGFydHVwLXF1ZXJpZXM6IHxcbiMgICAgICAgcHJhZ21hIGpvdXJuYWxfbW9kZSA9IFdBTDtcbiMgICAgICAgcHJhZ21hIHN5bmNocm9ub3VzID0gbm9ybWFsO1xuIyAgICAgICBwcmFnbWEgdGVtcF9zdG9yZSA9IG1lbW9yeTtcbiMgICAgICAgcHJhZ21hIGJ1c3lfdGltZW91dCA9IDE1MDAwO1xuIyAgICAgICB2YWN1dW07XG4jXG4jIFRoZSBcImNhY2hlLWJhdGNoLXNpemVcIiBhbmQgXCJjYWNoZS1iYXRjaC10aW1lb3V0XCIgcGFyYW1ldGVyIGFsbG93IGVuYWJsaW5nIGFzeW5jIGJhdGNoIHdyaXRpbmdcbiMgb2YgbWVzc2FnZXMuIElmIHNldCwgbWVzc2FnZXMgd2lsbCBiZSBxdWV1ZWQgYW5kIHdyaXR0ZW4gdG8gdGhlIGRhdGFiYXNlIGluIGJhdGNoZXMgb2YgdGhlIGdpdmVuXG4jIHNpemUsIG9yIGFmdGVyIHRoZSBnaXZlbiB0aW1lb3V0LiBUaGlzIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGhpZ2ggdm9sdW1lIHNlcnZlcnMuXG4jXG4jIERlYmlhbi9SUE0gcGFja2FnZSB1c2VyczpcbiMgICBVc2UgL3Zhci9jYWNoZS9udGZ5L2NhY2hlLmRiIGFzIGNhY2hlIGZpbGUgdG8gYXZvaWQgcGVybWlzc2lvbiBpc3N1ZXMuIFRoZSBwYWNrYWdlXG4jICAgY3JlYXRlcyB0aGlzIGZvbGRlciBmb3IgeW91LlxuI1xuIyBDaGVjayB5b3VyIHBlcm1pc3Npb25zOlxuIyAgIElmIHlvdSBhcmUgcnVubmluZyBudGZ5IHdpdGggc3lzdGVtZCwgbWFrZSBzdXJlIHRoaXMgY2FjaGUgZmlsZSBpcyBvd25lZCBieSB0aGVcbiMgICBudGZ5IHVzZXIgYW5kIGdyb3VwIGJ5IHJ1bm5pbmc6IGNob3duIG50ZnkubnRmeSA8ZmlsZW5hbWU+LlxuI1xuY2FjaGUtZmlsZTogL3Zhci9jYWNoZS9udGZ5L2NhY2hlLmRiXG5jYWNoZS1kdXJhdGlvbjogXCIxMmhcIlxuIyBjYWNoZS1zdGFydHVwLXF1ZXJpZXM6XG4jIGNhY2hlLWJhdGNoLXNpemU6IDBcbiMgY2FjaGUtYmF0Y2gtdGltZW91dDogXCIwbXNcIlxuXG4jIElmIHNldCwgYWNjZXNzIHRvIHRoZSBudGZ5IHNlcnZlciBhbmQgQVBJIGNhbiBiZSBjb250cm9sbGVkIG9uIGEgZ3JhbnVsYXIgbGV2ZWwgdXNpbmdcbiMgdGhlICdudGZ5IHVzZXInIGFuZCAnbnRmeSBhY2Nlc3MnIGNvbW1hbmRzLiBTZWUgdGhlIC0taGVscCBwYWdlcyBmb3IgZGV0YWlscywgb3IgY2hlY2sgdGhlIGRvY3MuXG4jXG4jIC0gYXV0aC1maWxlIGlzIHRoZSBTUUxpdGUgdXNlci9hY2Nlc3MgZGF0YWJhc2U7IGl0IGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3RcbiMgLSBhdXRoLWRlZmF1bHQtYWNjZXNzIGRlZmluZXMgdGhlIGRlZmF1bHQvZmFsbGJhY2sgYWNjZXNzIGlmIG5vIGFjY2VzcyBjb250cm9sIGVudHJ5IGlzIGZvdW5kOyBpdCBjYW4gYmVcbiMgICBzZXQgdG8gXCJyZWFkLXdyaXRlXCIgKGRlZmF1bHQpLCBcInJlYWQtb25seVwiLCBcIndyaXRlLW9ubHlcIiBvciBcImRlbnktYWxsXCIuXG4jIC0gYXV0aC1zdGFydHVwLXF1ZXJpZXMgYWxsb3dzIHlvdSB0byBydW4gY29tbWFuZHMgd2hlbiB0aGUgZGF0YWJhc2UgaXMgaW5pdGlhbGl6ZWQsIGUuZy4gdG8gZW5hYmxlXG4jICAgV0FMIG1vZGUuIFRoaXMgaXMgc2ltaWxhciB0byBjYWNoZS1zdGFydHVwLXF1ZXJpZXMuIFNlZSBhYm92ZSBmb3IgZGV0YWlscy5cbiMgLSBhdXRoLXVzZXJzIGlzIGEgbGlzdCBvZiB1c2VycyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgd2hlbiB0aGUgc2VydmVyIHN0YXJ0cy5cbiMgICBFYWNoIGVudHJ5IGlzIGluIHRoZSBmb3JtYXQgXCI8dXNlcm5hbWU+OjxwYXNzd29yZC1oYXNoPjo8cm9sZT5cIiwgZS5nLiBcInBoaWw6JDJhJDEwJFlMaU84VTIxc1gxdWhaYW1UTEpYSHV4Z1ZDMFovR0tJU2licktDTG9oUGd0Rzd5SXhTazRDOnVzZXJcIlxuIyAgIFVzZSAnbnRmeSB1c2VyIGhhc2gnIHRvIGdlbmVyYXRlIHRoZSBwYXNzd29yZCBoYXNoIGZyb20gYSBwYXNzd29yZC5cbiMgLSBhdXRoLWFjY2VzcyBpcyBhIGxpc3Qgb2YgYWNjZXNzIGNvbnRyb2wgZW50cmllcyB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgd2hlbiB0aGUgc2VydmVyIHN0YXJ0cy5cbiMgICBFYWNoIGVudHJ5IGlzIGluIHRoZSBmb3JtYXQgXCI8dXNlcm5hbWU+Ojx0b3BpYy1wYXR0ZXJuPjo8YWNjZXNzPlwiLCBlLmcuIFwicGhpbDpteXRvcGljOnJ3XCIgb3IgXCJwaGlsOnBoaWwtKjpyd1wiLlxuIyAtIGF1dGgtdG9rZW5zIGlzIGEgbGlzdCBvZiBhY2Nlc3MgdG9rZW5zIHRoYXQgYXJlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCB3aGVuIHRoZSBzZXJ2ZXIgc3RhcnRzLlxuIyAgIEVhY2ggZW50cnkgaXMgaW4gdGhlIGZvcm1hdCBcIjx1c2VybmFtZT46PHRva2VuPls6PGxhYmVsPl1cIiwgZS5nLiBcInBoaWw6dGtfMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjpNeSB0b2tlblwiLlxuIyAgIFVzZSAnbnRmeSB0b2tlbiBnZW5lcmF0ZScgdG8gZ2VuZXJhdGUgYSBuZXcgYWNjZXNzIHRva2VuLlxuI1xuIyBEZWJpYW4vUlBNIHBhY2thZ2UgdXNlcnM6XG4jICAgVXNlIC92YXIvbGliL250ZnkvdXNlci5kYiBhcyB1c2VyIGRhdGFiYXNlIHRvIGF2b2lkIHBlcm1pc3Npb24gaXNzdWVzLiBUaGUgcGFja2FnZVxuIyAgIGNyZWF0ZXMgdGhpcyBmb2xkZXIgZm9yIHlvdS5cbiNcbiMgQ2hlY2sgeW91ciBwZXJtaXNzaW9uczpcbiMgICBJZiB5b3UgYXJlIHJ1bm5pbmcgbnRmeSB3aXRoIHN5c3RlbWQsIG1ha2Ugc3VyZSB0aGlzIHVzZXIgZGF0YWJhc2UgZmlsZSBpcyBvd25lZCBieSB0aGVcbiMgICBudGZ5IHVzZXIgYW5kIGdyb3VwIGJ5IHJ1bm5pbmc6IGNob3duIG50ZnkubnRmeSA8ZmlsZW5hbWU+LlxuI1xuYXV0aC1maWxlOiAvdmFyL2xpYi9udGZ5L3VzZXIuZGJcbmF1dGgtZGVmYXVsdC1hY2Nlc3M6IFwicmVhZC13cml0ZVwiXG4jIGF1dGgtc3RhcnR1cC1xdWVyaWVzOlxuYXV0aC11c2VyczogW11cbiAgIyAtIFwiPHVzZXJuYW1lPjo8cGFzc3dvcmQtaGFzaD46PHJvbGU+XCJcbmF1dGgtYWNjZXNzOiBbXVxuICAjIC0gXCI8dXNlcm5hbWU+Ojx0b3BpYy1wYXR0ZXJuPjo8YWNjZXNzPlwiXG5hdXRoLXRva2VuczogW11cbiAgIyAtIFwiPHVzZXJuYW1lPjo8dG9rZW4+Wzo8bGFiZWw+XVwiXG5cbiMgSWYgc2V0LCB0aGUgWC1Gb3J3YXJkZWQtRm9yIGhlYWRlciAob3Igd2hhdGV2ZXIgaXMgY29uZmlndXJlZCBpbiBwcm94eS1mb3J3YXJkZWQtaGVhZGVyKSBpcyB1c2VkIHRvIGRldGVybWluZVxuIyB0aGUgdmlzaXRvciBJUCBhZGRyZXNzIGluc3RlYWQgb2YgdGhlIHJlbW90ZSBhZGRyZXNzIG9mIHRoZSBjb25uZWN0aW9uLlxuI1xuIyBXQVJOSU5HOiBJZiB5b3UgYXJlIGJlaGluZCBhIHByb3h5LCB5b3UgbXVzdCBzZXQgdGhpcywgb3RoZXJ3aXNlIGFsbCB2aXNpdG9ycyBhcmUgcmF0ZS1saW1pdGVkXG4jICAgICAgICAgIGFzIGlmIHRoZXkgYXJlIG9uZS5cbiNcbiMgLSBiZWhpbmQtcHJveHkgbWFrZXMgaXQgc28gdGhhdCB0aGUgcmVhbCB2aXNpdG9yIElQIGFkZHJlc3MgaXMgZXh0cmFjdGVkIGZyb20gdGhlIGhlYWRlciBkZWZpbmVkIGluXG4jICAgcHJveHktZm9yd2FyZGVkLWhlYWRlci4gV2l0aG91dCB0aGlzLCB0aGUgcmVtb3RlIGFkZHJlc3Mgb2YgdGhlIGluY29taW5nIGNvbm5lY3Rpb24gaXMgdXNlZC5cbiMgLSBwcm94eS1mb3J3YXJkZWQtaGVhZGVyIGlzIHRoZSBoZWFkZXIgdG8gdXNlIHRvIGlkZW50aWZ5IHZpc2l0b3JzLiBJdCBtYXkgYmUgYSBzaW5nbGUgSVAgYWRkcmVzcyAoZS5nLiAxLjIuMy40KSxcbiMgICBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIElQIGFkZHJlc3NlcyAoZS5nLiBcIjEuMi4zLjQsIDUuNi43LjhcIiksIG9yIGFuIFJGQyA3MjM5LXN0eWxlIGhlYWRlciAoZS5nLiBcImZvcj0xLjIuMy40O2J5PXByb3h5LmV4YW1wbGUuY29tLCBmb3I9NS42LjcuOFwiKS5cbiMgLSBwcm94eS10cnVzdGVkLWhvc3RzIGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgSVAgYWRkcmVzc2VzLCBob3N0bmFtZXMgb3IgQ0lEUnMgdGhhdCBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBmb3J3YXJkZWQgaGVhZGVyXG4jICAgdG8gZGV0ZXJtaW5lIHRoZSByZWFsIElQIGFkZHJlc3MuIFRoaXMgaXMgb25seSB1c2VmdWwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHByb3hpZXMgaW52b2x2ZWQgdGhhdCBhZGQgdGhlbXNlbHZlcyB0b1xuIyAgIHRoZSBmb3J3YXJkZWQgaGVhZGVyLlxuI1xuYmVoaW5kLXByb3h5OiB0cnVlXG4jIHByb3h5LWZvcndhcmRlZC1oZWFkZXI6IFwiWC1Gb3J3YXJkZWQtRm9yXCJcbiMgcHJveHktdHJ1c3RlZC1ob3N0czpcblxuIyBJZiBlbmFibGVkLCBjbGllbnRzIGNhbiBhdHRhY2ggZmlsZXMgdG8gbm90aWZpY2F0aW9ucyBhcyBhdHRhY2htZW50cy4gTWluaW11bSBzZXR0aW5ncyB0byBlbmFibGUgYXR0YWNobWVudHNcbiMgYXJlIFwiYXR0YWNobWVudC1jYWNoZS1kaXJcIiBhbmQgXCJiYXNlLXVybFwiLlxuI1xuIyAtIGF0dGFjaG1lbnQtY2FjaGUtZGlyIGlzIHRoZSBjYWNoZSBkaXJlY3RvcnkgZm9yIGF0dGFjaGVkIGZpbGVzXG4jIC0gYXR0YWNobWVudC10b3RhbC1zaXplLWxpbWl0IGlzIHRoZSBsaW1pdCBvZiB0aGUgb24tZGlzayBhdHRhY2htZW50IGNhY2hlIGRpcmVjdG9yeSAodG90YWwgc2l6ZSlcbiMgLSBhdHRhY2htZW50LWZpbGUtc2l6ZS1saW1pdCBpcyB0aGUgcGVyLWZpbGUgYXR0YWNobWVudCBzaXplIGxpbWl0IChlLmcuIDMwMGssIDJNLCAxMDBNKVxuIyAtIGF0dGFjaG1lbnQtZXhwaXJ5LWR1cmF0aW9uIGlzIHRoZSBkdXJhdGlvbiBhZnRlciB3aGljaCB1cGxvYWRlZCBhdHRhY2htZW50cyB3aWxsIGJlIGRlbGV0ZWQgKGUuZy4gM2gsIDIwaClcbiNcbiMgYXR0YWNobWVudC1jYWNoZS1kaXI6XG4jIGF0dGFjaG1lbnQtdG90YWwtc2l6ZS1saW1pdDogXCI1R1wiXG4jIGF0dGFjaG1lbnQtZmlsZS1zaXplLWxpbWl0OiBcIjE1TVwiXG4jIGF0dGFjaG1lbnQtZXhwaXJ5LWR1cmF0aW9uOiBcIjNoXCJcblxuIyBUZW1wbGF0ZSBkaXJlY3RvcnkgZm9yIG1lc3NhZ2UgdGVtcGxhdGVzLlxuI1xuIyBXaGVuIFwiWC1UZW1wbGF0ZTogPG5hbWU+XCIgKGFsaWFzZXM6IFwiVGVtcGxhdGU6IDxuYW1lPlwiLCBcIlRwbDogPG5hbWU+XCIpIG9yIFwiP3RlbXBsYXRlPTxuYW1lPlwiIGlzIHNldCwgdHJhbnNmb3JtIHRoZSBtZXNzYWdlXG4jIGJhc2VkIG9uIG9uZSBvZiB0aGUgYnVpbHQtaW4gcHJlLWRlZmluZWQgdGVtcGxhdGVzLCBvciBvbiBhIHRlbXBsYXRlIGRlZmluZWQgaW4gdGhlIFwidGVtcGxhdGUtZGlyXCIgZGlyZWN0b3J5LlxuI1xuIyBUZW1wbGF0ZSBmaWxlcyBtdXN0IGhhdmUgdGhlIFwiLnltbFwiIGV4dGVuc2lvbiBhbmQgbXVzdCBiZSBmb3JtYXR0ZWQgYXMgWUFNTC4gVGhleSBtYXkgY29udGFpbiBcInRpdGxlXCIgYW5kIFwibWVzc2FnZVwiIGtleXMsXG4jIHdoaWNoIGFyZSBpbnRlcnByZXRlZCBhcyBHbyB0ZW1wbGF0ZXMuXG4jXG4jIEV4YW1wbGUgdGVtcGxhdGUgZmlsZSAoZS5nLiAvZXRjL250ZnkvdGVtcGxhdGVzL2dyYWZhbmEueW1sKTpcbiMgICB0aXRsZTogfFxuIyAgICAge3stIGlmIGVxIC5zdGF0dXMgXCJmaXJpbmdcIiB9fVxuIyAgICAge3sgLnRpdGxlIHwgZGVmYXVsdCBcIkFsZXJ0IGZpcmluZ1wiIH19XG4jICAgICB7ey0gZWxzZSBpZiBlcSAuc3RhdHVzIFwicmVzb2x2ZWRcIiB9fVxuIyAgICAge3sgLnRpdGxlIHwgZGVmYXVsdCBcIkFsZXJ0IHJlc29sdmVkXCIgfX1cbiMgICAgIHt7LSBlbmQgfX1cbiMgICBtZXNzYWdlOiB8XG4jICAgICB7eyAubWVzc2FnZSB8IHRydW5jIDIwMDAgfX1cbiNcbnRlbXBsYXRlLWRpcjogXCIvZXRjL250ZnkvdGVtcGxhdGVzXCJcblxuIyBJZiBlbmFibGVkLCBhbGxvdyBvdXRnb2luZyBlLW1haWwgbm90aWZpY2F0aW9ucyB2aWEgdGhlICdYLUVtYWlsJyBoZWFkZXIuIElmIHRoaXMgaGVhZGVyIGlzIHNldCxcbiMgbWVzc2FnZXMgd2lsbCBhZGRpdGlvbmFsbHkgYmUgc2VudCBvdXQgYXMgZS1tYWlsIHVzaW5nIGFuIGV4dGVybmFsIFNNVFAgc2VydmVyLlxuI1xuIyBBcyBvZiB0b2RheSwgb25seSBTTVRQIHNlcnZlcnMgd2l0aCBwbGFpbiB0ZXh0IGF1dGggKG9yIG5vIGF1dGggYXQgYWxsKSwgYW5kIFNUQVJUTFMgYXJlIHN1cHBvcnRlZC5cbiMgUGxlYXNlIGFsc28gcmVmZXIgdG8gdGhlIHJhdGUgbGltaXRpbmcgc2V0dGluZ3MgYmVsb3cgKHZpc2l0b3ItZW1haWwtbGltaXQtYnVyc3QgJiB2aXNpdG9yLWVtYWlsLWxpbWl0LWJ1cnN0KS5cbiNcbiMgLSBzbXRwLXNlbmRlci1hZGRyIGlzIHRoZSBob3N0bmFtZTpwb3J0IG9mIHRoZSBTTVRQIHNlcnZlclxuIyAtIHNtdHAtc2VuZGVyLWZyb20gaXMgdGhlIGUtbWFpbCBhZGRyZXNzIG9mIHRoZSBzZW5kZXJcbiMgLSBzbXRwLXNlbmRlci11c2VyL3NtdHAtc2VuZGVyLXBhc3MgYXJlIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgb2YgdGhlIFNNVFAgdXNlciAobGVhdmUgYmxhbmsgZm9yIG5vIGF1dGgpXG4jXG4jIHNtdHAtc2VuZGVyLWFkZHI6XG4jIHNtdHAtc2VuZGVyLWZyb206XG4jIHNtdHAtc2VuZGVyLXVzZXI6XG4jIHNtdHAtc2VuZGVyLXBhc3M6XG5cbiMgSWYgZW5hYmxlZCwgbnRmeSB3aWxsIGxhdW5jaCBhIGxpZ2h0d2VpZ2h0IFNNVFAgc2VydmVyIGZvciBpbmNvbWluZyBtZXNzYWdlcy4gT25jZSBjb25maWd1cmVkLCB1c2VycyBjYW4gc2VuZFxuIyBlbWFpbHMgdG8gYSB0b3BpYyBlLW1haWwgYWRkcmVzcyB0byBwdWJsaXNoIG1lc3NhZ2VzIHRvIGEgdG9waWMuXG4jXG4jIC0gc210cC1zZXJ2ZXItbGlzdGVuIGRlZmluZXMgdGhlIElQIGFkZHJlc3MgYW5kIHBvcnQgdGhlIFNNVFAgc2VydmVyIHdpbGwgbGlzdGVuIG9uLCBlLmcuIDoyNSBvciAxLjIuMy40OjI1XG4jIC0gc210cC1zZXJ2ZXItZG9tYWluIGlzIHRoZSBlLW1haWwgZG9tYWluLCBlLmcuIG50Znkuc2hcbiMgLSBzbXRwLXNlcnZlci1hZGRyLXByZWZpeCBpcyBhbiBvcHRpb25hbCBwcmVmaXggZm9yIHRoZSBlLW1haWwgYWRkcmVzc2VzIHRvIHByZXZlbnQgc3BhbS4gSWYgc2V0IHRvIFwibnRmeS1cIixcbiMgICBmb3IgaW5zdGFuY2UsIG9ubHkgZS1tYWlscyB0byBudGZ5LSR0b3BpY0BudGZ5LnNoIHdpbGwgYmUgYWNjZXB0ZWQuIElmIHRoaXMgaXMgbm90IHNldCwgYWxsIGVtYWlscyB0b1xuIyAgICR0b3BpY0BudGZ5LnNoIHdpbGwgYmUgYWNjZXB0ZWQgKHdoaWNoIG1heSBiZSBhIHNwYW0gcHJvYmxlbSkuXG4jXG4jIHNtdHAtc2VydmVyLWxpc3RlbjpcbiMgc210cC1zZXJ2ZXItZG9tYWluOlxuIyBzbXRwLXNlcnZlci1hZGRyLXByZWZpeDpcblxuIyBXZWIgUHVzaCBzdXBwb3J0IChiYWNrZ3JvdW5kIG5vdGlmaWNhdGlvbnMgZm9yIGJyb3dzZXJzKVxuI1xuIyBJZiBlbmFibGVkLCBhbGxvd3MgdGhlIG50Znkgd2ViIGFwcCB0byByZWNlaXZlIHB1c2ggbm90aWZpY2F0aW9ucywgZXZlbiB3aGVuIHRoZSB3ZWIgYXBwIGlzIGNsb3NlZC4gV2hlbiBlbmFibGVkLCB1c2Vyc1xuIyBjYW4gZW5hYmxlIGJhY2tncm91bmQgbm90aWZpY2F0aW9ucyBpbiB0aGUgd2ViIGFwcC4gT25jZSBlbmFibGVkLCBudGZ5IHdpbGwgZm9yd2FyZCBwdWJsaXNoZWQgbWVzc2FnZXMgdG8gdGhlIHB1c2hcbiMgZW5kcG9pbnQsIHdoaWNoIHdpbGwgdGhlbiBmb3J3YXJkIGl0IHRvIHRoZSBicm93c2VyLlxuI1xuIyBZb3UgbXVzdCBjb25maWd1cmUgd2ViLXB1c2gtcHVibGljL3ByaXZhdGUga2V5LCB3ZWItcHVzaC1maWxlLCBhbmQgd2ViLXB1c2gtZW1haWwtYWRkcmVzcyBiZWxvdyB0byBlbmFibGUgV2ViIFB1c2guXG4jIFJ1biBcIm50Znkgd2VicHVzaCBrZXlzXCIgdG8gZ2VuZXJhdGUgdGhlIGtleXMuXG4jXG4jIC0gd2ViLXB1c2gtcHVibGljLWtleSBpcyB0aGUgZ2VuZXJhdGVkIFZBUElEIHB1YmxpYyBrZXksIGUuZy4gQUExMjM0QkJDQ2RkdnZlZWthYWJjZGZxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubTEyMzQ1Njc4OTBcbiMgLSB3ZWItcHVzaC1wcml2YXRlLWtleSBpcyB0aGUgZ2VuZXJhdGVkIFZBUElEIHByaXZhdGUga2V5LCBlLmcuIEFBMkJCMTIzNDU2Nzg5MGFiY2RlZnp4Y3Zibm0xMjM0NTY3ODkwXG4jIC0gd2ViLXB1c2gtZmlsZSBpcyBhIGRhdGFiYXNlIGZpbGUgdG8ga2VlcCB0cmFjayBvZiBicm93c2VyIHN1YnNjcmlwdGlvbiBlbmRwb2ludHMsIGUuZy4gL3Zhci9jYWNoZS9udGZ5L3dlYnB1c2guZGJcbiMgLSB3ZWItcHVzaC1lbWFpbC1hZGRyZXNzIGlzIHRoZSBhZG1pbiBlbWFpbCBhZGRyZXNzIHNlbmQgdG8gdGhlIHB1c2ggcHJvdmlkZXIsIGUuZy4gc3lzYWRtaW5AZXhhbXBsZS5jb21cbiMgLSB3ZWItcHVzaC1zdGFydHVwLXF1ZXJpZXMgaXMgYW4gb3B0aW9uYWwgbGlzdCBvZiBxdWVyaWVzIHRvIHJ1biBvbiBzdGFydHVwYFxuIyAtIHdlYi1wdXNoLWV4cGlyeS13YXJuaW5nLWR1cmF0aW9uIGRlZmluZXMgdGhlIGR1cmF0aW9uIGFmdGVyIHdoaWNoIHVudXNlZCBzdWJzY3JpcHRpb25zIGFyZSBzZW50IGEgd2FybmluZyAoZGVmYXVsdCBpcyA1NWRgKVxuIyAtIHdlYi1wdXNoLWV4cGlyeS1kdXJhdGlvbiBkZWZpbmVzIHRoZSBkdXJhdGlvbiBhZnRlciB3aGljaCB1bnVzZWQgc3Vic2NyaXB0aW9ucyB3aWxsIGV4cGlyZSAoZGVmYXVsdCBpcyA2MGQpXG4jXG4jIHdlYi1wdXNoLXB1YmxpYy1rZXk6XG4jIHdlYi1wdXNoLXByaXZhdGUta2V5OlxuIyB3ZWItcHVzaC1maWxlOlxuIyB3ZWItcHVzaC1lbWFpbC1hZGRyZXNzOlxuIyB3ZWItcHVzaC1zdGFydHVwLXF1ZXJpZXM6XG4jIHdlYi1wdXNoLWV4cGlyeS13YXJuaW5nLWR1cmF0aW9uOiBcIjU1ZFwiXG4jIHdlYi1wdXNoLWV4cGlyeS1kdXJhdGlvbjogXCI2MGRcIlxuXG4jIElmIGVuYWJsZWQsIG50ZnkgY2FuIHBlcmZvcm0gdm9pY2UgY2FsbHMgdmlhIFR3aWxpbyB2aWEgdGhlIFwiWC1DYWxsXCIgaGVhZGVyLlxuI1xuIyAtIHR3aWxpby1hY2NvdW50IGlzIHRoZSBUd2lsaW8gYWNjb3VudCBTSUQsIGUuZy4gQUMqKipcbiMgLSB0d2lsaW8tYXV0aC10b2tlbiBpcyB0aGUgVHdpbGlvIGF1dGggdG9rZW4sIGUuZy4gYWYqKipcbiMgLSB0d2lsaW8tcGhvbmUtbnVtYmVyIGlzIHRoZSBvdXRnb2luZyBwaG9uZSBudW1iZXIgeW91IHB1cmNoYXNlZCwgZS5nLiArMTgqKipcbiMgLSB0d2lsaW8tdmVyaWZ5LXNlcnZpY2UgaXMgdGhlIFR3aWxpbyBWZXJpZnkgc2VydmljZSBTSUQsIGUuZy4gVkEqKipcbiNcbiMgdHdpbGlvLWFjY291bnQ6XG4jIHR3aWxpby1hdXRoLXRva2VuOlxuIyB0d2lsaW8tcGhvbmUtbnVtYmVyOlxuIyB0d2lsaW8tdmVyaWZ5LXNlcnZpY2U6XG5cbiMgSW50ZXJ2YWwgaW4gd2hpY2gga2VlcGFsaXZlIG1lc3NhZ2VzIGFyZSBzZW50IHRvIHRoZSBjbGllbnQuIFRoaXMgaXMgdG8gcHJldmVudFxuIyBpbnRlcm1lZGlhcmllcyBjbG9zaW5nIHRoZSBjb25uZWN0aW9uIGZvciBpbmFjdGl2aXR5LlxuI1xuIyBOb3RlIHRoYXQgdGhlIEFuZHJvaWQgYXBwIGhhcyBhIGhhcmRjb2RlZCB0aW1lb3V0IGF0IDc3cywgc28gaXQgc2hvdWxkIGJlIGxlc3MgdGhhbiB0aGF0LlxuI1xuIyBrZWVwYWxpdmUtaW50ZXJ2YWw6IFwiNDVzXCJcblxuIyBJbnRlcnZhbCBpbiB3aGljaCB0aGUgbWFuYWdlciBwcnVuZXMgb2xkIG1lc3NhZ2VzLCBkZWxldGVzIHRvcGljc1xuIyBhbmQgcHJpbnRzIHRoZSBzdGF0cy5cbiNcbm1hbmFnZXItaW50ZXJ2YWw6IFwiMTJoXCJcblxuIyBEZWZpbmVzIHRvcGljIG5hbWVzIHRoYXQgYXJlIG5vdCBhbGxvd2VkLCBiZWNhdXNlIHRoZXkgYXJlIG90aGVyd2lzZSB1c2VkLiBUaGVyZSBhcmUgYSBmZXcgZGVmYXVsdCB0b3BpY3NcbiMgdGhhdCBjYW5ub3QgYmUgdXNlZCAoZS5nLiBhcHAsIGFjY291bnQsIHNldHRpbmdzLCAuLi4pLiBUbyBleHRlbmQgdGhlIGRlZmF1bHQgbGlzdCwgZGVmaW5lIHRoZW0gaGVyZS5cbiNcbiMgRXhhbXBsZTpcbiMgICBkaXNhbGxvd2VkLXRvcGljczpcbiMgICAgIC0gYWJvdXRcbiMgICAgIC0gcHJpY2luZ1xuIyAgICAgLSBjb250YWN0XG4jXG4jIGRpc2FsbG93ZWQtdG9waWNzOlxuXG4jIERlZmluZXMgdGhlIHJvb3QgcGF0aCBvZiB0aGUgd2ViIGFwcCwgb3IgZGlzYWJsZXMgdGhlIHdlYiBhcHAgZW50aXJlbHkuXG4jXG4jIENhbiBiZSBhbnkgc2ltcGxlIHBhdGgsIGUuZy4gXCIvXCIsIFwiL2FwcFwiLCBvciBcIi9udGZ5XCIuIEZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSByZWFzb25zLFxuIyB0aGUgdmFsdWVzIFwiYXBwXCIgKG1hcHMgdG8gXCIvXCIpLCBcImhvbWVcIiAobWFwcyB0byBcIi9hcHBcIiksIG9yIFwiZGlzYWJsZVwiIChtYXBzIHRvIFwiXCIpIHRvIGRpc2FibGVcbiMgdGhlIHdlYiBhcHAgZW50aXJlbHkuXG4jXG4jIHdlYi1yb290OiAvXG5cbiMgVmFyaW91cyBmZWF0dXJlIGZsYWdzIHVzZWQgdG8gY29udHJvbCB0aGUgd2ViIGFwcCwgYW5kIEFQSSBhY2Nlc3MsIG1haW5seSBhcm91bmQgdXNlciBhbmRcbiMgYWNjb3VudCBtYW5hZ2VtZW50LlxuI1xuIyAtIGVuYWJsZS1zaWdudXAgYWxsb3dzIHVzZXJzIHRvIHNpZ24gdXAgdmlhIHRoZSB3ZWIgYXBwLCBvciBBUElcbiMgLSBlbmFibGUtbG9naW4gYWxsb3dzIHVzZXJzIHRvIGxvZyBpbiB2aWEgdGhlIHdlYiBhcHAsIG9yIEFQSVxuIyAtIHJlcXVpcmUtbG9naW4gcmVkaXJlY3RzIHVzZXJzIHRvIHRoZSBsb2dpbiBwYWdlIGlmIHRoZXkgYXJlIG5vdCBsb2dnZWQgaW4gKGRpc2FsbG93cyB3ZWIgYXBwIGFjY2VzcyB3aXRob3V0IGxvZ2luKVxuIyAtIGVuYWJsZS1yZXNlcnZhdGlvbnMgYWxsb3dzIHVzZXJzIHRvIHJlc2VydmUgdG9waWNzIChpZiB0aGVpciB0aWVyIGFsbG93cyBpdClcbiNcbmVuYWJsZS1zaWdudXA6IGZhbHNlXG5yZXF1aXJlLWxvZ2luOiBmYWxzZVxuZW5hYmxlLWxvZ2luOiB0cnVlXG5lbmFibGUtcmVzZXJ2YXRpb25zOiBmYWxzZVxuXG4jIFNlcnZlciBVUkwgb2YgYSBGaXJlYmFzZS9BUE5TLWNvbm5lY3RlZCBudGZ5IHNlcnZlciAobGlrZWx5IFwiaHR0cHM6Ly9udGZ5LnNoXCIpLlxuI1xuIyBpT1MgdXNlcnM6XG4jICAgSWYgeW91IHVzZSB0aGUgaU9TIG50ZnkgYXBwLCB5b3UgTVVTVCBjb25maWd1cmUgdGhpcyB0byByZWNlaXZlIHRpbWVseSBub3RpZmljYXRpb25zLiBZb3UnbGwgbGlrZSB3YW50IHRoaXM6XG4jICAgdXBzdHJlYW0tYmFzZS11cmw6IFwiaHR0cHM6Ly9udGZ5LnNoXCJcbiNcbiMgSWYgc2V0LCBhbGwgaW5jb21pbmcgbWVzc2FnZXMgd2lsbCBwdWJsaXNoIGEgXCJwb2xsX3JlcXVlc3RcIiBtZXNzYWdlIHRvIHRoZSBjb25maWd1cmVkIHVwc3RyZWFtIHNlcnZlciwgY29udGFpbmluZ1xuIyB0aGUgbWVzc2FnZSBJRCBvZiB0aGUgb3JpZ2luYWwgbWVzc2FnZSwgaW5zdHJ1Y3RpbmcgdGhlIGlPUyBhcHAgdG8gcG9sbCB0aGlzIHNlcnZlciBmb3IgdGhlIGFjdHVhbCBtZXNzYWdlIGNvbnRlbnRzLlxuIyBUaGlzIGlzIHRvIHByZXZlbnQgdGhlIHVwc3RyZWFtIHNlcnZlciBhbmQgRmlyZWJhc2UvQVBOUyBmcm9tIGJlaW5nIGFibGUgdG8gcmVhZCB0aGUgbWVzc2FnZS5cbiNcbiMgLSB1cHN0cmVhbS1iYXNlLXVybCBpcyB0aGUgYmFzZSBVUkwgb2YgdGhlIHVwc3RyZWFtIHNlcnZlci4gU2hvdWxkIGJlIFwiaHR0cHM6Ly9udGZ5LnNoXCIuXG4jIC0gdXBzdHJlYW0tYWNjZXNzLXRva2VuIGlzIHRoZSB0b2tlbiB1c2VkIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHRoZSB1cHN0cmVhbSBzZXJ2ZXIuIFRoaXMgaXMgb25seSByZXF1aXJlZFxuIyAgIGlmIHlvdSBleGNlZWQgdGhlIHVwc3RyZWFtIHJhdGUgbGltaXRzLCBvciB0aGUgdXB0cmVhbSBzZXJ2ZXIgcmVxdWlyZXMgYXV0aGVudGljYXRpb24uXG4jXG51cHN0cmVhbS1iYXNlLXVybDogXCJodHRwczovL250Znkuc2hcIlxuIyB1cHN0cmVhbS1hY2Nlc3MtdG9rZW46XG5cbiMgQ29uZmlndXJlcyBtZXNzYWdlLXNwZWNpZmljIGxpbWl0c1xuI1xuIyAtIG1lc3NhZ2Utc2l6ZS1saW1pdCBkZWZpbmVzIHRoZSBtYXggc2l6ZSBvZiBhIG1lc3NhZ2UgYm9keS4gUGxlYXNlIG5vdGUgbWVzc2FnZSBzaXplcyA+NEsgYXJlIE5PVCBSRUNPTU1FTkRFRCxcbiMgICBhbmQgbGFyZ2VseSB1bnRlc3RlZC4gSWYgRkNNIGFuZC9vciBBUE5TIGlzIHVzZWQsIHRoZSBsaW1pdCBzaG91bGQgc3RheSA0SywgYmVjYXVzZSB0aGVpciBsaW1pdHMgYXJlIGFyb3VuZCB0aGF0IHNpemUuXG4jICAgSWYgeW91IGluY3JlYXNlIHRoaXMgc2l6ZSBsaW1pdCByZWdhcmRsZXNzLCBGQ00gYW5kIEFQTlMgd2lsbCBOT1Qgd29yayBmb3IgbGFyZ2UgbWVzc2FnZXMuXG4jIC0gbWVzc2FnZS1kZWxheS1saW1pdCBkZWZpbmVzIHRoZSBtYXggZGVsYXkgb2YgYSBtZXNzYWdlIHdoZW4gdXNpbmcgdGhlIFwiRGVsYXlcIiBoZWFkZXIuXG4jXG4jIG1lc3NhZ2Utc2l6ZS1saW1pdDogXCI0a1wiXG4jIG1lc3NhZ2UtZGVsYXktbGltaXQ6IFwiM2RcIlxuXG4jIFJhdGUgbGltaXRpbmc6IFRvdGFsIG51bWJlciBvZiB0b3BpY3MgYmVmb3JlIHRoZSBzZXJ2ZXIgcmVqZWN0cyBuZXcgdG9waWNzLlxuI1xuIyBnbG9iYWwtdG9waWMtbGltaXQ6IDE1MDAwXG5cbiMgUmF0ZSBsaW1pdGluZzogTnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMgcGVyIHZpc2l0b3IgKElQIGFkZHJlc3MpXG4jXG4jIHZpc2l0b3Itc3Vic2NyaXB0aW9uLWxpbWl0OiAzMFxuXG4jIFJhdGUgbGltaXRpbmc6IEFsbG93ZWQgR0VUL1BVVC9QT1NUIHJlcXVlc3RzIHBlciBzZWNvbmQsIHBlciB2aXNpdG9yOlxuIyAtIHZpc2l0b3ItcmVxdWVzdC1saW1pdC1idXJzdCBpcyB0aGUgaW5pdGlhbCBidWNrZXQgb2YgcmVxdWVzdHMgZWFjaCB2aXNpdG9yIGhhc1xuIyAtIHZpc2l0b3ItcmVxdWVzdC1saW1pdC1yZXBsZW5pc2ggaXMgdGhlIHJhdGUgYXQgd2hpY2ggdGhlIGJ1Y2tldCBpcyByZWZpbGxlZFxuIyAtIHZpc2l0b3ItcmVxdWVzdC1saW1pdC1leGVtcHQtaG9zdHMgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBob3N0bmFtZXMsIElQcyBvciBDSURScyB0byBiZVxuIyAgIGV4ZW1wdCBmcm9tIHJlcXVlc3QgcmF0ZSBsaW1pdGluZy4gSG9zdG5hbWVzIGFyZSByZXNvbHZlZCBhdCB0aGUgdGltZSB0aGUgc2VydmVyIGlzIHN0YXJ0ZWQuXG4jICAgRXhhbXBsZTogXCIxLjIuMy40LG50ZnkuZXhhbXBsZS5jb20sOC43LjYuMC8yNFwiXG4jXG4jIHZpc2l0b3ItcmVxdWVzdC1saW1pdC1idXJzdDogNjBcbiMgdmlzaXRvci1yZXF1ZXN0LWxpbWl0LXJlcGxlbmlzaDogXCI1c1wiXG4jIHZpc2l0b3ItcmVxdWVzdC1saW1pdC1leGVtcHQtaG9zdHM6IFwiXCJcblxuIyBSYXRlIGxpbWl0aW5nOiBIYXJkIGRhaWx5IGxpbWl0IG9mIG1lc3NhZ2VzIHBlciB2aXNpdG9yIGFuZCBkYXkuIFRoZSBsaW1pdCBpcyByZXNldFxuIyBldmVyeSBkYXkgYXQgbWlkbmlnaHQgVVRDLiBJZiB0aGUgbGltaXQgaXMgbm90IHNldCAob3Igc2V0IHRvIHplcm8pLCB0aGUgcmVxdWVzdFxuIyBsaW1pdCAoc2VlIGFib3ZlKSBnb3Zlcm5zIHRoZSB1cHBlciBsaW1pdC5cbiNcbiMgdmlzaXRvci1tZXNzYWdlLWRhaWx5LWxpbWl0OiAwXG5cbiMgUmF0ZSBsaW1pdGluZzogQWxsb3dlZCBlbWFpbHMgcGVyIHZpc2l0b3I6XG4jIC0gdmlzaXRvci1lbWFpbC1saW1pdC1idXJzdCBpcyB0aGUgaW5pdGlhbCBidWNrZXQgb2YgZW1haWxzIGVhY2ggdmlzaXRvciBoYXNcbiMgLSB2aXNpdG9yLWVtYWlsLWxpbWl0LXJlcGxlbmlzaCBpcyB0aGUgcmF0ZSBhdCB3aGljaCB0aGUgYnVja2V0IGlzIHJlZmlsbGVkXG4jXG4jIHZpc2l0b3ItZW1haWwtbGltaXQtYnVyc3Q6IDE2XG4jIHZpc2l0b3ItZW1haWwtbGltaXQtcmVwbGVuaXNoOiBcIjFoXCJcblxuIyBSYXRlIGxpbWl0aW5nOiBJUHY0L0lQdjYgYWRkcmVzcyBwcmVmaXggYml0cyB1c2VkIGZvciByYXRlIGxpbWl0aW5nXG4jIC0gdmlzaXRvci1wcmVmaXgtYml0cy1pcHY0OiBudW1iZXIgb2YgYml0cyBvZiB0aGUgSVB2NCBhZGRyZXNzIHRvIHVzZSBmb3IgcmF0ZSBsaW1pdGluZyAoZGVmYXVsdDogMzIsIGZ1bGwgYWRkcmVzcylcbiMgLSB2aXNpdG9yLXByZWZpeC1iaXRzLWlwdjY6IG51bWJlciBvZiBiaXRzIG9mIHRoZSBJUHY2IGFkZHJlc3MgdG8gdXNlIGZvciByYXRlIGxpbWl0aW5nIChkZWZhdWx0OiA2NCwgLzY0IHN1Ym5ldClcbiNcbiMgVGhpcyBpcyB1c2VkIHRvIGdyb3VwIHZpc2l0b3JzIGJ5IHRoZWlyIElQIGFkZHJlc3Mgb3Igc3VibmV0LiBGb3IgZXhhbXBsZSwgaWYgeW91IHNldCB2aXNpdG9yLXByZWZpeC1iaXRzLWlwdjQgdG8gMjQsXG4jIGFsbCB2aXNpdG9ycyBpbiB0aGUgMS4yLjMuMC8yNCBuZXR3b3JrIGFyZSB0cmVhdGVkIGFzIG9uZS5cbiNcbiMgQnkgZGVmYXVsdCwgbnRmeSB1c2VzIHRoZSBmdWxsIElQdjQgYWRkcmVzcyAoMzIgYml0cykgYW5kIHRoZSAvNjQgc3VibmV0IG9mIHRoZSBJUHY2IGFkZHJlc3MgKDY0IGJpdHMpLlxuI1xuIyB2aXNpdG9yLXByZWZpeC1iaXRzLWlwdjQ6IDMyXG4jIHZpc2l0b3ItcHJlZml4LWJpdHMtaXB2NjogNjRcblxuIyBSYXRlIGxpbWl0aW5nOiBBdHRhY2htZW50IHNpemUgYW5kIGJhbmR3aWR0aCBsaW1pdHMgcGVyIHZpc2l0b3I6XG4jIC0gdmlzaXRvci1hdHRhY2htZW50LXRvdGFsLXNpemUtbGltaXQgaXMgdGhlIHRvdGFsIHN0b3JhZ2UgbGltaXQgdXNlZCBmb3IgYXR0YWNobWVudHMgcGVyIHZpc2l0b3JcbiMgLSB2aXNpdG9yLWF0dGFjaG1lbnQtZGFpbHktYmFuZHdpZHRoLWxpbWl0IGlzIHRoZSB0b3RhbCBkYWlseSBhdHRhY2htZW50IGRvd25sb2FkL3VwbG9hZCB0cmFmZmljIGxpbWl0IHBlciB2aXNpdG9yXG4jXG4jIHZpc2l0b3ItYXR0YWNobWVudC10b3RhbC1zaXplLWxpbWl0OiBcIjEwME1cIlxuIyB2aXNpdG9yLWF0dGFjaG1lbnQtZGFpbHktYmFuZHdpZHRoLWxpbWl0OiBcIjUwME1cIlxuXG4jIFJhdGUgbGltaXRpbmc6IEVuYWJsZSBzdWJzY3JpYmVyLWJhc2VkIHJhdGUgbGltaXRpbmcgKG1vc3RseSB1c2VkIGZvciBVbmlmaWVkUHVzaClcbiNcbiMgSWYgc3Vic2NyaWJlci1iYXNlZCByYXRlIGxpbWl0aW5nIGlzIGVuYWJsZWQsIG1lc3NhZ2VzIHB1Ymxpc2hlZCBvbiBVbmlmaWVkUHVzaCB0b3BpY3MqKiAodG9waWNzIHN0YXJ0aW5nIHdpdGggXCJ1cFwiKVxuIyB3aWxsIGJlIGNvdW50ZWQgdG93YXJkcyB0aGUgXCJyYXRlIHZpc2l0b3JcIiBvZiB0aGUgdG9waWMuIEEgXCJyYXRlIHZpc2l0b3JcIiBpcyB0aGUgZmlyc3Qgc3Vic2NyaWJlciB0byB0aGUgdG9waWMuXG4jXG4jIE9uY2UgZW5hYmxlZCwgYSBjbGllbnQgc3Vic2NyaWJpbmcgdG8gVW5pZmllZFB1c2ggdG9waWNzIHZpYSBIVFRQIHN0cmVhbSwgb3Igd2Vic29ja2V0cywgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyZWQgYXNcbiMgYSBcInJhdGUgdmlzaXRvclwiLCBpLmUuIHRoZSB2aXNpdG9yIHdob3NlIHJhdGUgbGltaXRzIHdpbGwgYmUgdXNlZCB3aGVuIHB1Ymxpc2hpbmcgb24gdGhpcyB0b3BpYy4gTm90ZSB0aGF0IHNldHRpbmcgdGhlIHJhdGUgdmlzaXRvclxuIyByZXF1aXJlcyAqKnJlYWQtd3JpdGUgcGVybWlzc2lvbioqIG9uIHRoZSB0b3BpYy5cbiNcbiMgSWYgdGhpcyBzZXR0aW5nIGlzIGVuYWJsZWQsIHB1Ymxpc2hpbmcgdG8gVW5pZmllZFB1c2ggdG9waWNzIHdpbGwgbGVhZCB0byBhIEhUVFAgNTA3IHJlc3BvbnNlIGlmXG4jIG5vIFwicmF0ZSB2aXNpdG9yXCIgaGFzIGJlZW4gcHJldmlvdXNseSByZWdpc3RlcmVkLiBUaGlzIGlzIHRvIGF2b2lkIGJ1cm5pbmcgdGhlIHB1Ymxpc2hlcidzIFwidmlzaXRvci1tZXNzYWdlLWRhaWx5LWxpbWl0XCIuXG4jXG4jIHZpc2l0b3Itc3Vic2NyaWJlci1yYXRlLWxpbWl0aW5nOiBmYWxzZVxuXG4jIFBheW1lbnRzIGludGVncmF0aW9uIHZpYSBTdHJpcGVcbiNcbiMgLSBzdHJpcGUtc2VjcmV0LWtleSBpcyB0aGUga2V5IHVzZWQgZm9yIHRoZSBTdHJpcGUgQVBJIGNvbW11bmljYXRpb24uIFNldHRpbmcgdGhpcyB2YWx1ZXNcbiMgICBlbmFibGVzIHBheW1lbnRzIGluIHRoZSBudGZ5IHdlYiBhcHAgKGUuZy4gVXBncmFkZSBkaWFsb2cpLiBTZWUgaHR0cHM6Ly9kYXNoYm9hcmQuc3RyaXBlLmNvbS9hcGlrZXlzLlxuIyAtIHN0cmlwZS13ZWJob29rLWtleSBpcyB0aGUga2V5IHJlcXVpcmVkIHRvIHZhbGlkYXRlIHRoZSBhdXRoZW50aWNpdHkgb2YgaW5jb21pbmcgd2ViaG9va3MgZnJvbSBTdHJpcGUuXG4jICAgV2ViaG9va3MgYXJlIGVzc2VudGlhbCB1cCBrZWVwIHRoZSBsb2NhbCBkYXRhYmFzZSBpbiBzeW5jIHdpdGggdGhlIHBheW1lbnQgcHJvdmlkZXIuIFNlZSBodHRwczovL2Rhc2hib2FyZC5zdHJpcGUuY29tL3dlYmhvb2tzLlxuIyAtIGJpbGxpbmctY29udGFjdCBpcyBhbiBlbWFpbCBhZGRyZXNzIG9yIHdlYnNpdGUgZGlzcGxheWVkIGluIHRoZSBcIlVwZ3JhZGUgdGllclwiIGRpYWxvZyB0byBsZXQgcGVvcGxlIHJlYWNoXG4jICAgb3V0IHdpdGggYmlsbGluZyBxdWVzdGlvbnMuIElmIHVuc2V0LCBub3RoaW5nIHdpbGwgYmUgZGlzcGxheWVkLlxuI1xuIyBzdHJpcGUtc2VjcmV0LWtleTpcbiMgc3RyaXBlLXdlYmhvb2sta2V5OlxuIyBiaWxsaW5nLWNvbnRhY3Q6XG5cbiMgTWV0cmljc1xuI1xuIyBudGZ5IGNhbiBleHBvc2UgUHJvbWV0aGV1cy1zdHlsZSBtZXRyaWNzIHZpYSBhIC9tZXRyaWNzIGVuZHBvaW50LCBvciBvbiBhIGRlZGljYXRlZCBsaXN0ZW4gSVAvcG9ydC5cbiMgTWV0cmljcyBtYXkgYmUgY29uc2lkZXJlZCBzZW5zaXRpdmUgaW5mb3JtYXRpb24sIHNvIGJlZm9yZSB5b3UgZW5hYmxlIHRoZW0sIGJlIHN1cmUgeW91IGtub3cgd2hhdCB5b3UgYXJlXG4jIGRvaW5nLCBhbmQvb3Igc2VjdXJlIGFjY2VzcyB0byB0aGUgZW5kcG9pbnQgaW4geW91ciByZXZlcnNlIHByb3h5LlxuI1xuIyAtIGVuYWJsZS1tZXRyaWNzIGVuYWJsZXMgdGhlIC9tZXRyaWNzIGVuZHBvaW50IGZvciB0aGUgZGVmYXVsdCBudGZ5IHNlcnZlciAoaS5lLiBIVFRQLCBIVFRQUyBhbmQvb3IgVW5peCBzb2NrZXQpXG4jIC0gbWV0cmljcy1saXN0ZW4taHR0cCBleHBvc2VzIHRoZSBtZXRyaWNzIGVuZHBvaW50IHZpYSBhIGRlZGljYXRlZCBbSVBdOnBvcnQuIElmIHNldCwgdGhpcyBvcHRpb24gaW1wbGljaXRseVxuIyAgIGVuYWJsZXMgbWV0cmljcyBhcyB3ZWxsLCBlLmcuIFwiMTAuMC4xLjE6OTA5MFwiIG9yIFwiOjkwOTBcIlxuI1xuIyBlbmFibGUtbWV0cmljczogZmFsc2VcbiMgbWV0cmljcy1saXN0ZW4taHR0cDogXCI6OTA5MFwiXG5cbiMgUHJvZmlsaW5nXG4jXG4jIG50ZnkgY2FuIGV4cG9zZSBHbydzIG5ldC9odHRwL3Bwcm9mIGVuZHBvaW50cyB0byBzdXBwb3J0IHByb2ZpbGluZyBvZiB0aGUgbnRmeSBzZXJ2ZXIuIElmIGVuYWJsZWQsIG50Znkgd2lsbCBsaXN0ZW5cbiMgb24gYSBkZWRpY2F0ZWQgbGlzdGVuIElQL3BvcnQsIHdoaWNoIGNhbiBiZSBhY2Nlc3NlZCB2aWEgdGhlIHdlYiBicm93c2VyIG9uIGh0dHA6Ly88aXA+Ojxwb3J0Pi9kZWJ1Zy9wcHJvZi8uXG4jIFRoaXMgY2FuIGJlIGhlbHBmdWwgdG8gZXhwb3NlIGJvdHRsZW5lY2tzLCBhbmQgdmlzdWFsaXplIGNhbGwgZmxvd3MuIFNlZSBodHRwczovL3BrZy5nby5kZXYvbmV0L2h0dHAvcHByb2YgZm9yIGRldGFpbHMuXG4jXG4jIHByb2ZpbGUtbGlzdGVuLWh0dHA6XG5cbiMgTG9nZ2luZyBvcHRpb25zXG4jXG4jIEJ5IGRlZmF1bHQsIG50ZnkgbG9ncyB0byB0aGUgY29uc29sZSAoc3RkZXJyKSwgd2l0aCBhbiBcImluZm9cIiBsb2cgbGV2ZWwsIGFuZCBpbiBhIGh1bWFuLXJlYWRhYmxlIHRleHQgZm9ybWF0LlxuIyBudGZ5IHN1cHBvcnRzIGZpdmUgZGlmZmVyZW50IGxvZyBsZXZlbHMsIGNhbiBhbHNvIHdyaXRlIHRvIGEgZmlsZSwgbG9nIGFzIEpTT04sIGFuZCBldmVuIHN1cHBvcnRzIGdyYW51bGFyXG4jIGxvZyBsZXZlbCBvdmVycmlkZXMgZm9yIGVhc2llciBkZWJ1Z2dpbmcuIFNvbWUgb3B0aW9ucyAobG9nLWxldmVsIGFuZCBsb2ctbGV2ZWwtb3ZlcnJpZGVzKSBjYW4gYmUgaG90IHJlbG9hZGVkXG4jIGJ5IGNhbGxpbmcgXCJraWxsIC1IVVAgJHBpZFwiIG9yIFwic3lzdGVtY3RsIHJlbG9hZCBudGZ5XCIuXG4jXG4jIC0gbG9nLWZvcm1hdCBkZWZpbmVzIHRoZSBvdXRwdXQgZm9ybWF0LCBjYW4gYmUgXCJ0ZXh0XCIgKGRlZmF1bHQpIG9yIFwianNvblwiXG4jIC0gbG9nLWZpbGUgaXMgYSBmaWxlbmFtZSB0byB3cml0ZSBsb2dzIHRvLiBJZiB0aGlzIGlzIG5vdCBzZXQsIG50ZnkgbG9ncyB0byBzdGRlcnIuXG4jIC0gbG9nLWxldmVsIGRlZmluZXMgdGhlIGRlZmF1bHQgbG9nIGxldmVsLCBjYW4gYmUgb25lIG9mIFwidHJhY2VcIiwgXCJkZWJ1Z1wiLCBcImluZm9cIiAoZGVmYXVsdCksIFwid2FyblwiIG9yIFwiZXJyb3JcIi5cbiMgICBCZSBhd2FyZSB0aGF0IFwiZGVidWdcIiAoYW5kIHBhcnRpY3VsYXJseSBcInRyYWNlXCIpIGNhbiBiZSBWRVJZIENIQVRUWS4gT25seSB0dXJuIHRoZW0gb24gYnJpZWZseSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxuIyAtIGxvZy1sZXZlbC1vdmVycmlkZXMgbGV0cyB5b3Ugb3ZlcnJpZGUgdGhlIGxvZyBsZXZlbCBpZiBjZXJ0YWluIGZpZWxkcyBtYXRjaC4gVGhpcyBpcyBpbmNyZWRpYmx5IHBvd2VyZnVsXG4jICAgZm9yIGRlYnVnZ2luZyBjZXJ0YWluIHBhcnRzIG9mIHRoZSBzeXN0ZW0gKGUuZy4gb25seSB0aGUgYWNjb3VudCBtYW5hZ2VtZW50LCBvciBvbmx5IGEgY2VydGFpbiB2aXNpdG9yKS5cbiMgICBUaGlzIGlzIGFuIGFycmF5IG9mIHN0cmluZ3MgaW4gdGhlIGZvcm1hdDpcbiMgICAgICAtIFwiZmllbGQ9dmFsdWUgLT4gbGV2ZWxcIiB0byBtYXRjaCBhIHZhbHVlIGV4YWN0bHksIGUuZy4gXCJ0YWc9bWFuYWdlciAtPiB0cmFjZVwiXG4jICAgICAgLSBcImZpZWxkIC0+IGxldmVsXCIgdG8gbWF0Y2ggYW55IHZhbHVlLCBlLmcuIFwidGltZV90YWtlbl9tcyAtPiBkZWJ1Z1wiXG4jICAgV2FybmluZzogVXNpbmcgbG9nLWxldmVsLW92ZXJyaWRlcyBoYXMgYSBwZXJmb3JtYW5jZSBwZW5hbHR5LiBPbmx5IHVzZSBpdCBmb3IgdGVtcG9yYXJ5IGRlYnVnZ2luZy5cbiNcbiMgQ2hlY2sgeW91ciBwZXJtaXNzaW9uczpcbiMgICBJZiB5b3UgYXJlIHJ1bm5pbmcgbnRmeSB3aXRoIHN5c3RlbWQsIG1ha2Ugc3VyZSB0aGlzIGxvZyBmaWxlIGlzIG93bmVkIGJ5IHRoZVxuIyAgIG50ZnkgdXNlciBhbmQgZ3JvdXAgYnkgcnVubmluZzogY2hvd24gbnRmeS5udGZ5IDxmaWxlbmFtZT4uXG4jXG4jIEV4YW1wbGUgKGdvb2QgZm9yIHByb2R1Y3Rpb24pOlxuIyAgIGxvZy1sZXZlbDogaW5mb1xuIyAgIGxvZy1mb3JtYXQ6IGpzb25cbiMgICBsb2ctZmlsZTogL3Zhci9sb2cvbnRmeS5sb2dcbiNcbiMgRXhhbXBsZSBsZXZlbCBvdmVycmlkZXMgKGZvciBkZWJ1Z2dpbmcsIG9ubHkgdXNlIHRlbXBvcmFyaWx5KTpcbiMgICBsb2ctbGV2ZWwtb3ZlcnJpZGVzOlxuIyAgICAgIC0gXCJ0YWc9bWFuYWdlciAtPiB0cmFjZVwiXG4jICAgICAgLSBcInZpc2l0b3JfaXA9MS4yLjMuNCAtPiBkZWJ1Z1wiXG4jICAgICAgLSBcInRpbWVfdGFrZW5fbXMgLT4gZGVidWdcIlxuI1xuIyBsb2ctbGV2ZWw6IGluZm9cbiMgbG9nLWxldmVsLW92ZXJyaWRlczpcbiMgbG9nLWZvcm1hdDogdGV4dFxuIyBsb2ctZmlsZTpcblwiXCJcIiIKfQ==
The exact Docker Compose and template configuration this template deploys.
Version: 3.18.0
Open-source notification infrastructure for multi-channel workflows — in-app Inbox, email, SMS, push, and chat — with a unified API and dashboard.
Version: latest
Apprise API provides a simple interface for sending notifications to almost all of the most popular notification services available to us today.
Version: 2.9.1
Gotify is a simple server for sending and receiving self-hosted push notifications.
Version: 4.1.1
Kener is an open-source status page system for monitoring and alerting. It provides a modern interface for tracking service uptime and sending notifications.
Version: 1.0.0
RSSHub is the world's largest RSS network, consisting of over 5,000 global instances.RSSHub delivers millions of contents aggregated from all kinds of sources, our vibrant open source community is ensuring the deliver of RSSHub's new routes, new features and bug fixes.
Version: latest
WhatsApp API Multi Device Version the open-source, self-hosted whatsapp api. Send a chat, image and voice note with your own server.
Dokploy is a free, open source deployment platform. Deploy NTFY and 517+ other templates on your own infrastructure with a single click.