Skip to content

Settings.json

Stian Håklev edited this page Feb 19, 2019 · 1 revision

FROG can be configured through a settings file, which can either be used through the --settings settings.json command line, or passed through mup etc. Below is an explanation of the different options. All settings inside the public: {} object are passed to the client, the other settings are only available to the server.

Access control

By default, anyone can log in with development mode, and there is a somewhat helpful screen displayed if someone goes to the root url without logging in. In production, the default is that a token is required as access control. This token can be specified in the settings file ({"token": "t0ken"}), otherwise one will be automatically generated, and displayed on startup.

An option, if you want to turn off security and make a production build act like a development build, is to specify {"public": { "friendlyProduction": true }}. This is the default on the FROG test server.

ShareDB connections

The frontend will connect to current domain at port 3002 by default, unless {"public": {"sharedburl": "ws://frog.ch:922"}} is specified. Note that for https connections, you must use wss.

The backend will connect to mongodb on localhost:3001 by default, unless {"sharedb_dburl": "mongodb://127.0.0.1:27017"} is specified. When multiple servers are deployed, they require redis to coordinate, provide URL through {"sharedb_redis": "127.0.0.1:6379"}.

Multiple servers

When multiple servers are used, one must be designated as the dashboard processor.

Dashboard processor

It should have {"dashboardServer": true}.

Other servers

Should have {"sendLogsToExternalDashboardServer": true, "public": {"dashboard_server_url": "https://icchilisrv3.epfl.ch:5000"}}.

Minio

When you want to use external file storage (required when more than one server), you specify an array of S3 compatible servers like this: {"Minio": { "urls": ["https://icchilisrv3.epfl.ch:9000"]}}.