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).
PrerequisitesDockerOnce app is installed Set gotify and compose:igotify Installeddomain in Nginx Reverse Proxy and upPangolin for domain with ssl login
Install Gotify
- ssh to
date.folderNetworkwhereaccess:gotifyYourappiPhonewillcanlivereachoryouruseserver on your LAN (for initial setup).DomainKomodo andSSLcreate(optional):Stack - Add docker-compose.
yaml.yaml- Add services: Gotify and iGotify, with ports exposed (e.g., Gotify 3030:80, iGotify 3031:8080)
. - Persist data: Use a volume for Gotify (data:/app/data or ./gotify_data:/app/data)
. - GOTIFY_DEFAULTUSER_PASS for the default
admin.admin
Set password: - Add services: Gotify and iGotify, with ports exposed (e.g., Gotify 3030:80, iGotify 3031:8080)
- Start the stack
- Check URLs: Gotify at http://<server-ip>:3030, iGotify at http://<server-ip>:3031/
Version.Version - Login: Open Gotify, sign in as
admin.admin
Step-by-step setupPrepare the compose file
Create file:
Run: docker compose up -d.
Verify: docker ps shows both containers up.
Create a Gotify client token
Create client:Tokens Settingsfor →iOS app
- Login to Gotify in browser and got to Clients
- Create a Gotify client token by clicking New client (e.g., “igotify”).
- Copy
token:token - Add to iGotify env: GOTIFY_CLIENT_TOKENS: "cXXXXXXXX"
.inside yml file- Adjust the URL to the domain url of Gotify
iGotify iOS App Setup
Point
- Install iGotify
toapp - Enable local instance: In the app’s
settings.settings - Connect to iGotify: Use http://<server-ip>:
3031.3031 - Get
SecNtfyigotify app token: In the app, Settings → Development → copy the notification token (NTFY-DEVICE-XXXXXX). - Add
SecNtfythat tokenand restartUpdate 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)
ymlReverse proxy: Create a host for Gotify (e.g., gotify.yourdomain) and for iGotify (e.g., igotify.yourdomain) forwardingto thecontainers.Enablefile - Update
app:compose - Once
localeverythinginstanceis up andsetrunning, go to igotify app into settings - Select Instance and click Edit
- Change the
iGotify API URLhttp://<server-ip>:3031 tohttps://igotify.yourdomain.Test notificationsSend test: In Gotify, create an applicationhttps andsendpointaitmessageto(ordomain
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.
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)