Introduction
Gotify is a simple server for sending and receiving messages (real-time via WebSocket).
Features
- Send messages via REST-API
- Receive messages via WebSocket
- Manage users, clients, and applications
- Plugins
- Web-UI -> ./ui
- CLI for sending messages -> gotify/cli
- Android App -> gotify/android
Upgrading from 2.x to 3.x
- Stop the app and back up
dataand.envin the app directory before upgrading. - Gotify 3 no longer supports
config.yml. The 1Panel template already uses environment variables; if you added a configuration file manually, migrate it with the officialmigrate-configcommand first. GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS,GOTIFY_SERVER_CORS_ALLOWORIGINS,GOTIFY_SERVER_CORS_ALLOWMETHODS,GOTIFY_SERVER_CORS_ALLOWHEADERS, andGOTIFY_SERVER_STREAM_ALLOWEDORIGINSnow use CSV syntax. For example, change[GET, POST]toGET,POST.GOTIFY_SERVER_RESPONSEHEADERSnow requires JSON. For example, change{X-Custom-Header: "custom value"}to{"X-Custom-Header":"custom value"}. The old format prevents Gotify 3 from starting.- If the old instance uses Let's Encrypt and
GOTIFY_SERVER_SSL_LETSENCRYPT_CACHEis still set tocertsin.env, copy/app/certsfrom the old container todata/certsin the app directory, then change the variable todata/certs. This prevents certificates and ACME account data from being lost when the container is recreated. - Gotify 3 changes token visibility, authorization for sensitive client operations, and message pagination. Check scripts and clients that use the Gotify API before upgrading. Existing application and client tokens continue to work.
- Official migration guide: https://gotify.net/docs/migrate-to-3