Command Line Interface
deepstream comes with a comprehensive command line interface (CLI) that lets you start or stop the server, install connectors or override configuration options.
Many of these options can also be set via the configuration file, read config file documentation. for a detailed list.
Usage
If you’ve installed deepstream on linux via a package manager, the deepstream
command is already on your path. On Mac and Windows, you can access it through the executable, e.g. ./deepstream
or deepstream.exe
For the brave souls who’ve got deepstream via Github or NPM instead, you can find the executable in bin/deepstream
Let’s start simple:
deepstream --help
will print out all available commands:
Usage: deepstream [command]
Commands:
start [options] start a deepstream server
daemon [options] start a deepstream daemon that will auto-restart on failures
service [options] [add|remove|start|stop] Add, remove, start or stop deepstream as a
service to your operating system
install [options] install connectors
info [options] print meta information about build and runtime
hash [options] [password] Generate a hash from a plain text password using file auth configuration settings
Options:
-h, --help output usage information
-V, --version output the version number
You can pass the --help
option to individual commands as well.
deepstream start
deepstream start --help
will print all the options you can specify for the deepstream server:
Usage: start [options]
start a deepstream server
Options:
-h, --help output usage information
-c, --config [file] configuration file, parent directory will be used as prefix for other config files
-l, --lib-dir [directory] path where to lookup for plugins like connectors and logger
--server-name <name> Each server within a cluster needs a unique name
--host <host> host for the HTTP/websocket server
--port <port> port for the HTTP/websocket server
--disable-auth Force deepstream to use "none" auth type
--disable-permissions Force deepstream to use "none" permissions
--log-level <level> Log messages with this level and above
--colors [true|false] Enable or disable logging with colors
You can either use the shorthand syntax with one hyphen or the long syntax with two hyphens.
All the options starting from --server-name
and below will overwrite the values within your config file if. If you want to specify more options, or see the default values provided please look at the config file documentation.
—config
If you installed it via a linux package manager it will default to /etc/deepstream. Otherwise the paths are relative to your current working directory.
—lib-dir
If you installed it via a linux package manager it will default to /var/lib/deepstream. Otherwise the paths are relative to your current working directory.
deepstream daemon
deepstream damemon --help
This command starts the deepstream server and monitors it for crashes, allowing it to be automatically restarted on unexpected exits.
It allows all the same commands as deepstream start
deepstream service
deepstream service --help
Usage: service [options] [add|remove|start|stop|status]
Add, remove, start, stop or see the status of deepstream as a service to your operating system
Options:
-h, --help output usage information
-c, --config [file] configuration file, parent directory will be used as prefix for other config files
--service-name <name> the name to register the service
--std-out <directory> the directory for output logs
--std-err <directory> the directory for error logs
--dry-run outputs the service file to screen
—config
If you installed it via a linux package manager it will default to /etc/deepstream. Pass the config file you would like the service to use
—service-name
Defaults to deepstream Allows you to create multiple services on the same machine. You would need to ensure that different ports are used to avoid clashing.
—std-out
Specify where you would like your logs to be stored. Default to /var/log/deepstream
—std-err
Specify where you would like your error logs to be stored. Default to /var/log/deepstream
—dry-run
See what the config file will emit without writing it to disk. This is useful if you want to avoid running with sudo.
deepstream install
This command allows you to install connectors for deepstream.io. Append --help
to get some examples.
Usage: install <type> <name>[:version]
install connectors
Options:
-h, --help output usage information
-l, --lib-dir [directory] directory where to extract the connector, defaults to ./lib
-c, --config [file] the configuration file containing
the lib-dir as an option
--verbose more debug output
--quiet no output
Examples:
$ deepstream install cache redis
$ deepstream install storage rethinkdb:0.1.0
list of available connectors: https://deepstream.io/download
The version is optional. If omitted deepstream will fetch the latest release.
deepstream info
Displays information, about deepstream’s version and system architecture. If you’d like to raise an issue on Github we’d appreciate if you could paste attach it.
Output example
//TODO: Update to V4
{
"deepstreamVersion": "2.4.0",
"gitRef": "5bca621165ac2e45b9153cd0019e1df4b39825a3",
"buildTime": "Sat Jul 01 2017 18:44:18 GMT+0000 (UTC)",
"platform": "darwin",
"arch": "x64",
"nodeVersion": "v6.11.0",
"libs": [
"deepstream.io-logger-winston:1.1.0",
"deepstream.io-msg-redis:1.0.4"
]
}
deepstream hash
This command allows you generate a hash for a plaintext password. Show the usage by appending --help
to that command:
Usage: hash [options] [password]
Generate a hash from a plaintext password using file auth configuration settings
Options:
-h, --help output usage information
-c, --config [file] configuration file containing file auth and hash settings