Polski
Zacznij

← Wszystkie szablony · Analityka i monitoring

Wdróż Gotify jednym kliknięciem

Serwer powiadomień push: skrypty wysyłają wiadomości przez REST API, a aplikacja webowa i aplikacja na Androida pokazują je na żywo

Alternatywa dla Pushover i Pushbullet, hostowana u siebie.

Czym jest Gotify?

Gotify to serwer open source do wysyłania i odbierania wiadomości, napisany w Go i używany zamiast Pushovera czy Pushbulleta. Skrypt, zadanie cron albo narzędzie do monitoringu wysyła wiadomość jednym żądaniem HTTP z tokenem aplikacji, a aplikacja webowa i aplikacja na Androida od razu odbierają ją przez WebSocket i pokazują jako powiadomienie. Każda wiadomość ma tytuł, treść i priorytet, a jej pole extras pozwala wyświetlić ją jako Markdown albo otworzyć link po stuknięciu w powiadomienie.

Gotify odróżnia aplikacje od klientów: aplikacja może tylko wysyłać, a klient, taki jak telefon czy przeglądarka, odbiera wiadomości i nimi zarządza. Każdy użytkownik ma własne aplikacje, klientów i wiadomości, a administrator dodaje użytkowników w aplikacji webowej. Aplikacja na Androida jest w Google Play i F-Droid, CLI gotify wysyła wiadomości z terminala, a pluginy napisane w Go dodają funkcje po stronie serwera.

Ten szablon uruchamia oficjalny obraz Gotify w wersji 3, z bazą danych SQLite i wgranymi obrazkami w wolumenie. Administrator powstaje z podanej nazwy użytkownika i hasła, gdy Gotify po raz pierwszy tworzy swoją bazę danych, zanim komukolwiek odpowie, a rejestracja pozostaje zamknięta.

Hosting Gotify na Pethost

  1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
  2. Okno „Nowy projekt” otwiera się na aplikacji Gotify. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: Nazwa użytkownika, Hasło administratora.
  3. Za minutę czy dwie aplikacja Gotify działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
  4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

Pytania o Gotify

Czy Gotify jest darmowy i open source?

Tak. Serwer Gotify, jego aplikacja webowa, aplikacja na Androida i CLI są open source na licencji MIT i nie ma płatnej edycji: jego uruchomienie kosztuje tylko maszynę, na której działa.

Jak wysłać wiadomość do Gotify za pomocą curl?

W aplikacji webowej utwórz aplikację, skopiuj jej token i wyślij żądanie POST na /message: curl https://gotify.example.com/message -H "X-Gotify-Key: <token>" -F title=Backup -F message=Done -F priority=5. Wymagane jest tylko pole message.

Gotify czy ntfy: co wybrać?

Oba wysyłają wiadomości push ze skryptów na telefony. Gotify daje każdemu nadawcy token aplikacji, a każdemu użytkownikowi osobną skrzynkę, a jego własna aplikacja jest na Androida. ntfy publikuje wiadomości w tematach, które może subskrybować każdy, kto ma do nich dostęp, i ma aplikacje na Androida i iOS.

Czy Gotify działa na iPhonie?

Własna aplikacja Gotify jest tylko na Androida. Na iPhonie aplikacja webowa pokazuje wiadomości, dopóki jest otwarta, a aplikacje innych autorów, takie jak iGotify, przekazują je przez usługę powiadomień push Apple.

Czy mogę jeszcze raz zobaczyć swój token Gotify?

Nie. Od Gotify 3 token aplikacji jest pokazywany tylko raz, przy utworzeniu albo rotacji, więc skopiuj go od razu. Jeśli go zgubisz, zrób jego rotację na stronie Apps i zaktualizuj skrypt, który nim wysyła.

Ile pamięci i miejsca na dysku potrzebuje Gotify?

Gotify ma bardzo małe wymagania: około 10 MB pamięci, a jego baza danych SQLite rośnie tylko wraz z wiadomościami, które zachowujesz. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

Gotify: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

Kontenery: gotify (gotify/server:3).

Wolumeny, w nocnym backupie: data.

services:
  gotify:
    image: gotify/server:3
    restart: unless-stopped
    environment:
      # The admin is made from these when Gotify creates its database, at the first start, before
      # it answers anyone; a later change of the password is made in Gotify's Users page.
      GOTIFY_DEFAULTUSER_NAME: ${ADMIN_USERNAME}
      GOTIFY_DEFAULTUSER_PASS: ${ADMIN_PASSWORD}
      # Only the admin adds users: nobody registers by the address.
      GOTIFY_REGISTRATION: "false"
      # The machine's proxy, whose X-Forwarded-For carries the visitor's address.
      GOTIFY_SERVER_TRUSTEDPROXIES: 10.192.0.0/10
      GOTIFY_SERVER_SECURECOOKIE: "true"
      TZ: Etc/UTC
    volumes:
      - data:/app/data
volumes:
  data:

Więcej w kategorii Analityka i monitoring