Parse Dashboard
Parse Dashboard is standalone dashboard for managing your Parse apps. You can use it to manage your Parse Server apps and your apps that are running on Parse.com.
Getting Started
Node.js version >= 4.3 is required to run the dashboard. Install the dashboard from npm
.
npm install -g parse-dashboard
You can launch the dashboard for an app with a single command by supplying an app ID, master key, URL, and name like this:
parse-dashboard --appID yourAppId --masterKey yourMasterKey --serverURL https://example.com/parse --appName optionalName
You can then visit the dashboard in your browser at http://localhost:4040. If you want to use a different port you can supply the --port option to parse-dashboard. You can also leave out the appName, in which case the app ID will be used.
If you want to manage multiple apps from the same dashboard, you can put the app's info into a config file. For example, you could put your info parse-dashboard-config.json
and then start the dashboard using parse-dashboard --config parse-dashboard-config.json
. The file should match the following format:
{
"apps": [
{
"serverURL": "http://localhost:1337/parse",
"appId": "myAppId",
"masterKey": "myMasterKey",
"appName": "MyApp"
}
]
}
Your app name can be anything you want.
Make sure the server URL is a URL that can be accessed by your browser. If you are deploying the dashboard, then localhost
urls will not work.
You can also manage apps that on Parse.com from the same dashboard. In your config file, you will need to add the restKey
and javascriptKey
as well as the other paramaters, which you can find on dashboard.parse.com
. Set the serverURL to http://api.parse.com/1
:
{
"apps": [
{
"serverURL": "https://api.parse.com/1",
"appId": "myAppId",
"masterKey": "myMasterKey",
"javascriptKey": "myJavascriptKey",
"restKey": "myRestKey",
"appName": "My Parse.Com App"
},
{
"serverURL": "http://localhost:1337/parse",
"appId": "myAppId",
"masterKey": "myMasterKey",
"appName": "My Parse Server App"
}
]
}

Other options
You can set appNameForURL
in the config file for each app to control the url of your app within the dashboard.
Deploying the dashboard.
If you want to deploy the dashboard, you will need to use HTTPS and basic auth to prevent your master key from leaking. You can do this by adding usernames and passwords for HTTP Basic Auth to your configuration file.
{
"apps": [...],
"users": [
{
"user":"user1",
"pass":"pass"
},
{
"user":"user2",
"pass":"pass"
}
]
}
If you are deploying the dashboard behind a load balancer or proxy that does early SSL termination,
Run with Docker
It is easy to use it with Docker. First build the image:
docker build -t parse-dashboard .
Run the image with your config.json
mounted as a volume
docker run -d -p 8080:4040 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard
By default, the container will start the app at port 4040 inside the container. However, you can run custom command as well (see Deploying in production
for custom setup).
In this example, we want to run the application in production mode at port 80 of the host machine.
docker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard --port 8080
If you are not familiar with Docker, --port 8080
with be passed in as argument to the entrypoint to form the full command npm start -- --port 8080
. The application will start at port 8080 inside the container and port 8080
will be mounted to port 80
on your host machine.
Deploying in production
If you're deploying to a provider like Heroku, or Google App Engine, the SSL endpoint is terminated early and handled by the provider and you may encounter this error: Parse Dashboard can only be remotely accessed via HTTPS
.
:warning: :warning: Before going further, make sure your server cannot be reachable via HTTP. See the provider documentation for force HTTPS connections to your deployment.
Set the environment variable PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=1
to tell parse server to skip the secure tests.
To start your server use:
$ npm start
Optionally you can use the command line arguments:
$ npm start -- --config path/to/config.json --port 8080 --allowInsecureHTTP=1
Or update you start script with the accoring configuration.
All paramters are optional and their default values are:
config: parse-dashboard/Parse-Dashboard/parse-dashboard-config.json
port: 4040
allowInsecureHTTP: false
Contributing
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the Contributing to Parse Dashboard guide.