---
title: "Wdróż aplikację ntfy na Pethost jednym kliknięciem"
description: "Powiadomienia push na telefon i pulpit z twoich skryptów, przez HTTP. Szablon dla Pethost: za minutę czy dwie aplikacja działa na twojej maszynie, z HTTPS pod własnym adresem i backupami co noc."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/)

# Wdróż aplikację ntfy na Pethost jednym kliknięciem

Powiadomienia push na telefon i pulpit z twoich skryptów, przez HTTP

[Wdróż na Pethost](https://console.pethost.dev/?template=ntfy)

## Co się dzieje

1. Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
2. Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
3. Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **Hasło administratora**.
4. Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
5. To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pierwsze kroki

Zaloguj się jako admin hasłem administratora, które podano. Dla wszystkich innych tematy są zamknięte: utwórz osobnego użytkownika dla telefonu lub skryptu w terminalu usługi ntfy, poleceniami ntfy user add i ntfy access. W aplikacji ntfy dodaj https://ntfy.sam.pethost.app jako serwer. Wiadomości zostają w /var/lib/ntfy.

## Co uruchamia

Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

```
services:
  ntfy:
    image: binwiederhier/ntfy:v2.30.0
    restart: unless-stopped
    environment:
      NTFY_BASE_URL: ${URL}
      NTFY_LISTEN_HTTP: ":80"
      NTFY_BEHIND_PROXY: "true"
      NTFY_CACHE_FILE: /var/lib/ntfy/cache.db
      NTFY_AUTH_FILE: /var/lib/ntfy/user.db
      # Without a user nobody reads or sends: the address alone does not open a topic.
      NTFY_AUTH_DEFAULT_ACCESS: deny-all
      NTFY_ENABLE_LOGIN: "true"
      NTFY_REQUIRE_LOGIN: "true"
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # ntfy makes its user database at the first start, and only then takes a user: it is started
    # once on a port nobody reaches, the admin is added, and the server proper starts.
    entrypoint:
      - sh
      - -c
      - |
        set -e
        if [ ! -f /var/lib/ntfy/user.db ]; then
          ntfy serve --listen-http 127.0.0.1:81 &
          until wget -q -O /dev/null http://127.0.0.1:81/v1/health; do sleep 1; done
          kill $$!
          wait $$! || true
          NTFY_PASSWORD="$$ADMIN_PASSWORD" ntfy user add --role=admin admin
        fi
        exec ntfy serve
    volumes:
      - data:/var/lib/ntfy
volumes:
  data:
```

[compose.yaml](https://pethost.dev/templates/ntfy/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/ntfy)

Pethost · Stephan Gomer · NIP 1133096755

[Szablony](https://pethost.dev/pl/templates/) [O nas](https://pethost.dev/about/) [Blog](https://pethost.dev/blog/) [Regulamin](https://pethost.dev/terms/) [Prywatność](https://pethost.dev/privacy/) [Zwroty](https://pethost.dev/refunds/) [API](https://pethost.dev/docs/api/) [CLI](https://pethost.dev/docs/cli/) [Plugin](https://github.com/pethost-dev/plugin) [support@pethost.dev](mailto:support@pethost.dev)
