Need help with docker-parse-server?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

yongjhih
455 Stars 164 Forks Apache License 2.0 368 Commits 36 Opened issues

Description

Provide docker images and docker stack for parse-server npm versions and latest commit

Services available

!
?

Need anything else?

Contributors list

Docker ❤ Parse

Docker Pulls Docker Stars Docker Tag License Travis CI Gitter Chat

:cloud: One-Click Deploy

Deploy Deploy to Azure Deploy to AWS Deploy to Scalingo Deploy to Docker Cloud

:star: Features

  • [x] Parse Server with MongoDB
  • [x] Parse Cloud Code via git with auto rebuild
  • [x] Parse Push Notification : iOS, Android
  • [x] Parse Live Query
  • [x] Parse Dashboard
  • [x] Tested Docker Image
  • [x] Deploy with Docker
  • [x] Deploy with Docker Compose
  • [x] Deploy with one click
  • [x] GraphQL support
    GRAPHQL_SUPPORT=true
    ,
    GRAPHQL_SCHEMA=YOUR_SCHEMA_URL
    (default to
    ./cloud/graphql/schema.js
    )

:tv: Overview

Parse Server Diagram

:seenoevil: Sneak Preview

Screencast

:rocket: Deployments

Note

:paperclip: Deploy with Docker

$ docker run -d -p 27017:27017 --name mongo mongo

$ docker run -d
-e APP_ID=${APP_ID}
-e MASTER_KEY=${MASTER_KEY}
-p 1337:1337
--link mongo
--name parse-server
yongjhih/parse-server

$ docker run -d
-p 2022:22
--volumes-from parse-server
--name parse-cloud-code-git
yongjhih/parse-server:git

Test parse-server

$ curl -X POST
-H "X-Parse-Application-Id: {appId}"
-H "Content-Type: application/json"
-d '{}'
http://localhost:1337/parse/functions/hello

$ docker run -d
-e APP_ID=${APP_ID}
-e MASTER_KEY=${MASTER_KEY}
-e SERVER_URL=http://localhost:1337/parse
-p 4040:4040
--link parse-server
--name parse-dashboard
yongjhih/parse-dashboard

The above command will asuume you will later create a ssh

and log into the dashboard remotely in production.

However, to see the dashboard instanly using either

localhost:4040 or someip:4040(if hosted somewhere remotely)

then you need to add extra option to allowInsecureHTTP like

It is also required that you create username and password

before accessing the portal else you cant get in

$ docker run -d
-e PARSE_DASHBOARD_CONFIG='{"apps":[{"appId":"","serverURL":"http://localhost:1337/parse","masterKey":"","appName":""}],"users":[{"user":"","pass":""}]}'
-e PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=1
-p 4040:4040
--link parse-server
--name parse-dashboard
yongjhih/parse-dashboard

:paperclip: Deploy with Docker Compose

$ wget https://github.com/yongjhih/docker-parse-server/raw/master/docker-compose.yml
$ APP_ID=YOUR_APP_ID MASTER_KEY=YOUR_MASTER_KEY PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=1 SERVER_URL=http://localhost:1337/parse docker-compose up -d

Note

  • We use
    PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=1
    to allow insecure via development environment.
  • $ wget https://github.com/yongjhih/docker-parse-server/raw/master/docker-compose.yml -O - | APP_ID=YOUR_APP_ID MASTER_KEY=YOUR_MASTER_KEY docker-compose up -d -f - # not supported for docker-compose container

:paperclip: Deploy to Cloud Services

:zap: Advance topics

:fire: Server Side Developments

How to push cloud code to server
Screencast - git ```sh

This command wil create a SSH keys for you as

~/.ssh/id_rsa.pub and another private key.

you can leave the options balnk by pressing enter.

$ ssh-keygen -t rsa

If git container name is
parse-cloud-code-git

$ docker exec -i parse-cloud-code-git ssh-add-key < ~/.ssh/id_rsa.pub

port 2022, repo path is
/parse-cloud-code

$ git clone ssh://[email protected]:2022/parse-cloud-code $ cd parse-cloud-code $ echo "Parse.Cloud.define('hello', function(req, res) { res.success('Hi, git'); });" > main.js $ git add main.js && git commit -m 'Update main.js' $ git push origin master

$ curl -X POST \ -H "X-Parse-Application-Id: ${APP_ID}" \ -H "Content-Type: application/json" \ -d '{}' \ http://localhost:1337/parse/functions/hello ```

:iphone: Client Side Developments

You can use the REST API, the JavaScript SDK, and any of our open-source SDKs:

:paperclip: curl example

curl -X POST \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "Content-Type: application/json" \
  -d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
  http://localhost:1337/parse/classes/GameScore

curl -X POST
-H "X-Parse-Application-Id: YOUR_APP_ID"
-H "Content-Type: application/json"
-d '{}'
http://localhost:1337/parse/functions/hello

curl -H "X-Parse-Application-Id: YOUR_APP_ID"
-H "X-Parse-Master-Key: YOUR_MASTER_KEY"
-H "Content-Type: application/json"
http://localhost:1337/parse/serverInfo

:paperclip: JavaScript example

Parse.initialize('YOUR_APP_ID','unused');
Parse.serverURL = 'https://whatever.herokuapp.com';
var obj = new Parse.Object('GameScore');
obj.set('score',1337);
obj.save().then(function(obj) {
  console.log(obj.toJSON());
  var query = new Parse.Query('GameScore');
  query.get(obj.id).then(function(objAgain) {
    console.log(objAgain.toJSON());
  }, function(err) {console.log(err); });
}, function(err) { console.log(err); });

:paperclip: Android example

//in your application class

Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) .applicationId("YOUR_APP_ID") .clientKey("YOUR_CLIENT_ID") .server("http://YOUR_SERVER_URL/parse/") // '/' important after 'parse' .build());

ParseObject testObject = new ParseObject("TestObject"); testObject.put("foo", "bar"); testObject.saveInBackground();

:paperclip: iOS example

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
        let configuration = ParseClientConfiguration {
            $0.applicationId = "YOUR_APP_ID"
            $0.clientKey = "YOUR_CLIENT_ID"
            $0.server = "http://YOUR_SERVER_URL/parse"
        }
        Parse.initializeWithConfiguration(configuration)
    }
}

:paperclip: GraphQL

Run with GraphQL support.

shell
GRAPHQL_SUPPORT=true APP_ID=YOUR_APP_ID MASTER_KEY=YOUR_MASTER_KEY SERVER_URL=http://localhost:1337/parse docker-compose up -d

Make sure

./cloud/graphql/schema.js
is pushed to cloud code.
Then navigate to http://localhost:1337/graphql?query=%7B%0A%20%20hello%0A%7D%0A

:eyes: See Also

  • https://github.com/ParsePlatform/parse-server
  • http://blog.parse.com/announcements/introducing-parse-server-and-the-database-migration-tool/
  • https://parse.com/docs/server/guide#migrating
  • https://hub.docker.com/r/yongjhih/parse-server/
  • https://github.com/yongjhih/parse-cloud-code
  • https://hub.docker.com/r/yongjhih/parse-cloud-code/
  • https://medium.com/cowbear-coder/migration-of-parse-server-with-docker-part1-87034cc29978
  • https://github.com/yongjhih/docker-parse-dashboard
  • Docker ❤ Parse
  • DigitalOcean ❤ Parse

:thumbsup: Contributors & Credits

didierfranc ArnaudValensi gerhardsletten acinader kandelvijaya vitaminwater cleever katopz

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.