You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# -*- ispell-local-dictionary: "english" -*-
* Usage
** Basic usage
#+begin_src yaml ntfy: options: ## These are default of the charm (different from default of `ntfy`) #auth-default-access: deny-all #enable-signup: false #enable-login: true #enable-reservations: true #+end_src
Any option from the help of [[https://docs.ntfy.sh/config/][ntfy]] can be used, to the exception of ~firebase-key-file~.
To setup ~firebase~, there are some slight differences you can find here.
*** Creating an admin account
By default, =ntfy= doesn't provide any account nor permissions. This charm will enforce a different stance, and by default will not allow anything without permission.
If you want to follow this route, you'll need to create an admin account:
You need to attach to the ntfy container:
#+begin_src sh docker exec -ti myproject_ntfy_1 sh #+end_src
#+begin_src sh ntfy user add --role=admin admin #+end_src
*** Adding user
For listening topics
#+begin_src sh ntfy user add myuser #+end_src
To set access to topics
#+begin_src sh ntfy access myuser mytopic read-only #+end_src
*** Create a token for a user
This allows to give a kind of secret key that is revokable. You would do this to distribute access to services that would need to send notification.
To create a token from a user:
#+begin_src sh ntfy token add admin #+end_src
** Connection with =Firebase=
I you build your own Android/IOS ntfy app, you can use Firebase Cloud Messaging (FCM) to send notification through official channel. To configure your server to send notification with Firebase you can:
#+begin_src yaml ntfy: options: firebase: ## content of your firebase service key file in yaml type: service_account project_id: myfirebase-project private_key_id: 0ebce...41480 private_key: | -----BEGIN PRIVATE KEY----- MzynkLGbScqN4XAWCU84Q6LLi6MFsnDyrA883Cdkttg1zI62q/BohgIck+897oyb .. ifQT/X7DVZl42p0M1mwwdAS8Ig== -----END PRIVATE KEY----- client_email: firebase-adminsdk-fodhh@ntfy-0k.iam.gserviceaccount.com client_id: "101777552980915316312" auth_uri: https://accounts.google.com/o/oauth2/auth token_uri: https://oauth2.googleapis.com/token auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fxdhj%40myfirebase-project.iam.gserviceaccount.com #+end_src
To produce the output from the private service key file you created in =Firebase= you could:
#+begin_src sh cat myfirebase-project-firebase-adminsdk-fxdhj-6eaewk4a4.json | yq -p json -o yaml #+end_src
To get more information about how to deploy your own app [[https://docs.ntfy.sh/config/#firebase-fcm][ntfy's doc about FCM]] might be helpful.
|