Mysql has a setting called wait_timeout, which defines the duration after which a connection may not be used anymore. Gotify doesn't apply this, and expects the connection to work without timeout. The fix is to set SetConnMaxLifetime, this however, isn't the exact counterpart for wait_timeout on mysql. wait_timeout is relative to the last use of the connection. The go setting uses the creation of the connection as base. Example error output: ``` [mysql] 2020/05/31 17:53:02 packets.go:36: unexpected EOF [GIN] 2020/05/31 - 17:53:02 | 500 | 247.062µs | 10.2.2.1 | GET "/application" Error #01: an error occured while authenticating user (/proj/database/client.go:24) [2020-05-31 17:53:02] invalid connection ``` |
||
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| api | ||
| auth | ||
| config | ||
| database | ||
| docker | ||
| docs | ||
| error | ||
| hack/packr | ||
| mode | ||
| model | ||
| plugin | ||
| router | ||
| runner | ||
| test | ||
| ui | ||
| .editorconfig | ||
| .gitignore | ||
| .travis.yml | ||
| CODEOWNERS | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| GO_VERSION | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| app.go | ||
| config.example.yml | ||
| docker-push.sh | ||
| go.mod | ||
| go.sum | ||
| ui.png | ||
README.md
gotify/server
Intro
We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there.
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
(Google Play and the Google Play logo are trademarks of Google LLC.)
Install ᛫ Configuration ᛫ REST-API ᛫ Setup Dev Environment
Contributing
We welcome all kinds of contribution, including bug reports, feature requests, documentation improvements, UI refinements, etc. Check out CONTRIBUTING.md for guidelines.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
License
This project is licensed under the MIT License - see the LICENSE file for details

