What is Parse Server?
As you might now Parse decided to wind down their services
beginning January 28, 2016, effective on January 29th, 2017.
To make things easier for the community, they published an
open source version of their
actual servers which can be run and maintained locally.
If you are willing to continue to use Parse API’s in your applications, you
will need to run that Parse Server on your own.
Parse Server requires a MongoDB instance to run, versions
2.6 to 3.0.
Since the DB is the most important part of the infrastructure, this image
doesn't provide one by default, instead allowing you to choose whether you want
to use a hosted service, a local setup, or sticking to Docker (where you can
use Docker networking, the ambassador pattern, linked containers, etc).
You would need to provide a connection string to this image.
Notice that Parse requires a bit of configuration tweaks described in their
Database Guide, and if you're
running their migration tool they require admin access.
Here's an example on how to run a simple MongoDB container with persistent
$ docker volume create myappdata $ docker run -v myappdata:/data/db --restart=always --name parse-data -p 27017:27017 mongo:3.0 \ --setParameter failIndexKeyTooLong=false
Adding authentication and enabling SSL outside of the scope of this
documentation as they're not required, but you should certainly consider it as
Parse Server requires configuration to run which is passed through environment
variables in this image.
Here's a brief description of those:
- PARSE_MONGODB_URI: A MongoDB
connection string in
- PARSE_APP_ID: Application App Identifier
- PARSE_MASTER_KEY: Master Key
- PARSE_FILE_KEY: (Optional) For migrated apps, the file key to access
- Client keys: (Optional) Their values are self-explanatory.
- PARSE_FACEBOOK_APP_IDS: Comma-separated list of Facebook App IDs.
From the Parse Server documentation: The client keys used with Parse are no
longer necessary with parse-server. If you wish to still require them, perhaps
to be able to refuse access to older clients, you can set the keys at
initialization time. Setting any of these keys will require all requests to
provide one of the configured keys.
This image exposes port 8080 which is running the Express server.
You can mount your cloud code as a volume in
It's recommended that you check everything's working as intended first:
docker run --rm -it \ -e PARSE_MONGODB_URI='<MONGODB URI>' \ -e PARSE_APP_ID='<MY_APP_ID>' \ -e PARSE_MASTER_KEY='<MY_MASTER_KEY>' \ -e PARSE_FILE_KEY='<MY_FILE_KEY>' \ -d -p 8080:8080 blackxored/parse-server
And then run it in a more resilient way:
docker run -d \ -e PARSE_MONGODB_URI='<MONGODB URI>' \ -e PARSE_APP_ID='<MY_APP_ID>' \ -e PARSE_MASTER_KEY='<MY_MASTER_KEY>' \ -e PARSE_FILE_KEY='<MY_FILE_KEY>' \ -e NODE_ENV=production \ --restart=always \ -d -p 8080:8080 blackxored/parse-server
View license information
for the software contained in this image.
Supported Docker versions
This image is officially supported on Docker version 1.9.1.
Please see the Docker installation documentation for details on how to upgrade
your Docker daemon.
If you have any problems with or questions about this image, please make
contact through a GitHub issue.
You are invited to contribute new features, fixes, or updates, large or small;
we are always thrilled to receive pull requests, and do our best to process
them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub
issue, especially for more ambitious contributions. This gives other
contributors a chance to point you in the right direction, give you feedback on
your design, and help you find out if someone else is working on the same