Utilities, checked 2026-09-07
Gotify: Docker configuration reference
Self-hosted push notification server with a simple REST API, a web UI and a plugin system.
At a glance
- Image:
gotify/server - Tags:
latest,3.1.0,3.1,3 - Licence: MIT
- Source: https://github.com/gotify/server
- Docs: https://gotify.net/docs/
Ports
| Port | What listens | Source |
|---|---|---|
80 | Default HTTP listener. Configurable via GOTIFY_SERVER_PORT. | source for port 80 |
Environment variables
| Variable | Required | What it does | Example | Source |
|---|---|---|---|---|
GOTIFY_DEFAULTUSER_PASS | No | Sets the initial admin password on first start. Only takes effect before the database is created. | a strong random password | source for GOTIFY_DEFAULTUSER_PASS |
GOTIFY_SERVER_PORT | No | Port the HTTP server listens on. | 80 | source for GOTIFY_SERVER_PORT |
GOTIFY_SERVER_LISTENADDR | No | Network address the HTTP server binds to. Left empty, it listens on all interfaces. | 0.0.0.0 | source for GOTIFY_SERVER_LISTENADDR |
GOTIFY_SERVER_TRUSTEDPROXIES | No | IPs or CIDR ranges of proxies whose X-Forwarded-For header is trusted to determine the real client IP. | 127.0.0.1/32 | source for GOTIFY_SERVER_TRUSTEDPROXIES |
GOTIFY_LOCALAUTH_ENABLED | No | Disables local username and password authentication. Added in v3.1.0, for instances that only want OIDC login. | false | source for GOTIFY_LOCALAUTH_ENABLED |
Volumes that must persist
| Path | What is in it | Source |
|---|---|---|
/app/data | SQLite database file, uploaded application images and Let's Encrypt certificates if enabled. The one directory to include in backups. | source for /app/data |
Behind a reverse proxy
- Route the domain to container port 80, or whatever GOTIFY_SERVER_PORT is set to. source for this reverse-proxy note
- Set GOTIFY_SERVER_TRUSTEDPROXIES to the proxy's address so client IPs in the UI and rate limiting reflect the real visitor, not the proxy. source for this reverse-proxy note
- GOTIFY_DEFAULTUSER_PASS only sets the admin password on the very first start, before the database exists. Setting it later on an already-initialised instance has no effect. source for this reverse-proxy note
Release timeline
| Version | Date | Breaking | What changed | Source |
|---|---|---|---|---|
v3.1.0 | 2026-08-27 | No | Adds GOTIFY_LOCALAUTH_ENABLED to disable local authentication and allows mapping user admin status from OIDC. | source for release v3.1.0 |
v3.0.0 | 2026-07-18 | No | Adds OIDC login support and session elevation for sensitive actions in the web UI. | source for release v3.0.0 |
v2.9.1 | 2026-02-28 | No | Fixes a startup crash on MySQL and application sort order on MySQL and Postgres. | source for release v2.9.1 |
v2.9.0 | 2026-02-13 | No | Adds a push message dialog to the UI and drag-and-drop reordering for applications. | source for release v2.9.0 |
v2.8.0 | 2026-01-02 | No | Allows deleting an application image and adds a file type restriction to application image upload. | source for release v2.8.0 |
If it is not coming up
- Coolify volume data lost after redeploy / a new empty volume is created every deploy
- ntfy: Push Notifications From Your Own Scripts
Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.