Highly configurable Parse Server image with external MongoDB and Cloud Code volume support
527
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 storage:
$ 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 a best-practice.
Parse Server requires configuration to run which is passed through environment variables in this image.
Here's a brief description of those:
mongodb://[username:password@]host1[:port1][/[database]]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 /usr/src/app/parse/cloud.
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.
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 thing.
Content type
Image
Digest
Size
258.7 MB
Last updated
over 10 years ago
docker pull blackxored/parse-server