OpenPaaS ESN comes with a CLI to ease several configuration steps. From the root directory:
$ node ./bin/cli --help
configure
It will set the global configuration in the mongodb database defined from CLI options. The global configuration is generated from the data in ../fixtures/esn-config/data and so from environment variables:
- REDIS_HOST: default is
localhost
- REDIS_PORT: default is
6379
- WEB_HOST: default is
localhost
- WEB_PORT:default is
8080
- DAV_SERVER_HOST: default is
localhost
- DAV_SERVER_PORT: default is
8001
- ELASTICSEARCH_HOST: default is
localhost
- ELASTICSEARCH_PORT: default is
9200
- JMAP_SERVER_HOST: default is
localhost
- AMQP_HOST: default is
amqp
- AMQP_PORT: default is
5672
- AMQP_PROTOCOL: default is
amqp
- AMQP_USERNAME: default is
guest
- AMQP_PASSWORD: default is
guest
$ DAV_SERVER_HOST=dav.open-paas.org node ./bin/cli configure
This will connect to the MongoDB database of the ESN instance, set the DAV_SERVER_HOST
value to dav.open-paas.org
and inject all the configuration at the right place.
db
It will generate and override the ../config/db.json file from CLI options.
$ node ./bin/cli db --host localhost --port 27017 --database esn
A full connection string is also support:
$ node ./bin/cli db --connection-string mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test
docker-dev
It will generate all the configuration so that components can be run in docker and reached from your local OpenPaaS instance.
$ node ./bin/cli docker-dev --host localhost --port 27017 --database esn
elasticsearch
It will create the indexes on the elasticsearch instance defined from CLI options.
$ node ./bin/cli elasticsearch --host localhost --port 9200 --type users --index users.idx
- host: default is localhost
- port: default is 9200
- type: the data type to create. When not set, it will create all the required index types. Possible values: users, contacts, events, resources, core.events, groups.
- index: Defines the index to create. When not set, it will be generated automatically from type
reindex
It will index or reindex data from the DB to ES.
$ node ./bin/cli reindex --es-host localhost --es-port 9200 --type users
- es-host: default is localhost
- es-port: default is 9200
- type: the data type to reindex. Possible values: users, contacts, events, resources, core.events, groups.
populate
It will populate the MongoDB database with initial required data to use OpenPaaS.
$ node ./bin/cli populate
Once populated, you should be able to log into the OpenPaaS instance using user [email protected]
and password secret
.
init
Performs the initial setup of an OpenPaas instance, by configuring a domain and an administrator along with the associated default configurations. Also configures the various storage servers. This reads environment variables to know what to configure, as per the populate, elasticsearch and configure commands.
$ node ./bin/cli init --email [email protected] --password secret
- email: required, the email address of the domain administrator. The OpenPaas domain name is taken from the email address
- password: optional, the password of the domain administrator. When omitted, the username of the email address will be used as password;
domain
This command allows you to manage domains of an OpenPaaS instance. For example, to create a new domain, type:
$ node ./bin/cli domain create --email [email protected] --password secret
The new domain will be created and the administrator login is [email protected]
with password secret
.
- email: required, the email address of the domain administrator. The OpenPaas domain name is taken from the email address
- password: optional, the password of the domain administrator. When omitted, the username of the email address will be used as password;
To see all option, use help
command:
$ node ./bin/cli help domain
platformadmin
This command allows you to manage platformadmin of an OpenPaaS instance.
In case your system does not have any platformadmin, use init
command to set
the first one:
$ node ./bin/cli platformadmin init --email [email protected]
Where:
- email: required, email of the user to make as platformadmin
- force: optional, used to overwrite the current platformadmin
In case there is already platformadmin in the instance, you need to be a platformadmin to list, set, unset platformadmins.
For example, use set
command to set user as platformadmin:
$ node bin/cli platformadmin set --username [email protected] --password secret --email [email protected]
To see all supported commands, use help
command:
$ node ./bin/cli help platformadmin