Gotify-CLI is a command line client for pushing messages to gotify/server. It is not required to push messages. See alternatives.
- stores token/url in a config file
- initialization wizard
- piping support (
echo message | gotify push
) - simple to use
You can simply use curl, HTTPie or any other http-client to push messages.
$ curl -X POST "https://push.example.de/message?token=<apptoken>" -F "title=my title" -F "message=my message"
$ http -f POST "https://push.example.de/message?token=<apptoken>" title="my title" message="my message"
Download the latest release for your os: (this example uses version v1.2.0
)
$ wget -O gotify https://github.com/gotify/cli/releases/download/v1.2.0/gotify-cli-linux-amd64
# or
$ curl -Lo gotify https://github.com/gotify/cli/releases/download/v1.2.0/gotify-cli-linux-amd64
Make gotify
executable:
$ chmod +x gotify
Test if the Gotify-CLI works: (When it doesn't work, you may have downloaded the wrong file or your device/os isn't supported)
$ gotify version
It should output something like this:
Version: 1.2.0
Commit: ec4a598f124c149802038c74571aa704a6660c4a
BuildDate: 2018-11-24-19:41:36
(optional) Move the executable to a folder on your $PATH
:
$ mv gotify /usr/bin/gotify
Now you can either run the initialization wizard or create a config manually. This tutorial uses the wizard.
$ gotify init
When you've finished initializing Gotify-CLI, you are ready to push messages to gotify/server.
Here are some examples commands, you can view the "push help" via gotify help push
(or have a look at push help).
$ gotify push my message
$ gotify push "my message"
$ echo my message | gotify push
$ gotify push < somefile
$ gotify push -t "my title" -p 10 "my message"
Uses version v1.2.0
$ gotify help
NAME:
Gotify - The official Gotify-CLI
USAGE:
gotify [global options] command [command options] [arguments...]
VERSION:
1.2.0
COMMANDS:
init Initializes the Gotify-CLI
version, v Shows the version
config Shows the config
push, p Pushes a message
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
$ gotify help push
NAME:
gotify push - Pushes a message
USAGE:
gotify push [command options] <message-text>
DESCRIPTION:
the message can also provided in stdin f.ex:
echo my text | gotify push
OPTIONS:
--priority value, -p value Set the priority (default: 0)
--title value, -t value Set the title (empty for app name)
--token value Override the app token
--url value Override the Gotify URL
--quiet, -q Do not output anything (on success)
--contentType value The content type of the message. See https://gotify.net/docs/msgextras#client-display
Note: The config can be created by gotify init
.
Gotify-CLI will search the following paths for a config file:
/etc/gotify/cli.json
~/.gotify/cli.json
./cli.json
name | description | example |
---|---|---|
token | an application token (a client token will not work) | A4ZudDRdLT40L5X |
url | the URL to your gotify/server | https://gotify.example.com |
{
"token": "A4ZudDRdLT40L5X",
"url": "https://gotify.example.com"
}
The Dockerfile contains the steps necessary to build a new version of the CLI and then run it in a minimal Alpine container.
Build:
docker build -t gotify/gotify-cli .
Run (this assumes your cli.json
file is in the current working directory):
docker run -it -v "$PWD/cli.json:/home/app/cli.json" gotify/gotify-cli:latest push -p 5 "Test from Gotify CLI"