Skip to main content

Installing Gotify with iGotify for iOS

Gotify is a self-hosted notification server that lets you send messages to devices and apps via a simple API. It’s great for server alerts, home automation, and custom scripts because you control delivery and history.

iGotify is the bridge that makes Gotify work with iOS push notifications. It listens to Gotify, translates messages, and forwards them to the SecNtfy app on your iPhone so you get real push alerts (iOS can’t poll in the background, so the bridge is required).

Prerequisites
DockerOnce app is installed Set gotify and compose:igotify Installeddomain in Nginx Reverse Proxy and upPangolin for domain with ssl login

Install Gotify

  1. ssh to date.

    folder

    Networkwhere access:gotify Yourapp iPhonewill canlive reachor youruse server on your LAN (for initial setup).

    DomainKomodo and SSLcreate (optional):Stack

  2. For remote access via Nginx Proxy Manager or similar.

    Step-by-step setup
    Prepare the compose file

    Create file:

  3. Add docker-compose.yaml.

    yaml

    1. Add services: Gotify and iGotify, with ports exposed (e.g., Gotify 3030:80, iGotify 3031:8080).

    2. Persist data: Use a volume for Gotify (data:/app/data or ./gotify_data:/app/data).

    3. Set password:

    4. GOTIFY_DEFAULTUSER_PASS for the default admin.

      admin
  4. Start the stack

  5. Run: docker compose up -d.

    Verify: docker ps shows both containers up.

  6. Check URLs: Gotify at http://<server-ip>:3030, iGotify at http://<server-ip>:3031/Version.

    Version
  7. Create a Gotify client token

  8. Login: Open Gotify, sign in as admin.admin

 

Create client:Tokens Settingsfor iOS app

  1. Login to Gotify in browser and got to Clients
  2. Create a Gotify client token by clicking New client (e.g., “igotify”).

  3. Copy token:token
  4. It looks like cXXXXXXXX.

  5. Add to iGotify env: GOTIFY_CLIENT_TOKENS: "cXXXXXXXX". inside yml file
    1. Adjust the URL to the domain url of Gotify


iGotify iOS App Setup

Point 

  1. Install iGotify toapp
  2. Gotify:

    Local: GOTIFY_URLS: "http://gotify:80" (same Docker network).

    Domain: GOTIFY_URLS: "https://your-gotify-domain".

    Bootstrap with local instance (iOS app)

    Install app: SecNtfy on your iPhone.

  3. Enable local instance: In the app’s settings.

    settings
  4. Connect to iGotify: Use http://<server-ip>:3031.

    3031
  5. Get SecNtfyigotify app token: In the app, Settings → Development → copy the notification token (NTFY-DEVICE-XXXXXX).

  6. Add SecNtfythat token and restart

    Update compose: Under igotify → environment add:

    SECNTFY_TOKENS: "NTFY-DEVICE-XXXXXX"

    Optional: 'ENABLE_CONSOLE_LOG': 'true', 'ENABLE_SCALAR_UI': 'true' (booleans in single quotes).

    Apply changes: docker compose up -d.

    Switch to domain (optional, for remote)

    Reverse proxy: Create a host for Gotify (e.g., gotify.yourdomain) and for iGotify (e.g., igotify.yourdomain) forwarding to the containers.

    yml

    Enablefile

  7. SSL: Use Let’s Encrypt in your proxy.

  8. Update app:compose
  9. Disable
  10. Once localeverything instanceis up and setrunning, go to igotify app into settings
  11. Select Instance and click Edit
  12. Change the iGotify API URLhttp://<server-ip>:3031 to https://igotify.yourdomain.

    Test notifications

    Send test: In Gotify, create an applicationhttps and sendpoint ait messageto (ordomain

  13. use
curl).

Verify: Notification appears on your iPhone via SecNtfy.

Adding multiple devices
 Multiple tokens:tokens

Add each device’s SecNtfy token separated by semicolons.

Example:

Env

Enviroment:
  values:

SECNTFY_TOKENS: "NTFY-DEVICE-AAA;NTFY-DEVICE-BBB"

GOTIFY_CLIENT_TOKENS: "cXXXX1;cXXXX2" (if using multiple Gotify clients)

GOTIFY_URLS: "https://gotify1;https://gotify2" (if using multiple Gotify servers)