MeteorApp - Meteor Runtime for App Engine
Add the following
Dockerfile into the root of your app:
Make sure your app has a valid
app.yaml file. It should look something like the following:
runtime: custom vm: true api_version: 1 handlers: - url: .* script: dynamic env_variables: NODE_ENV: production ROOT_URL: http://[my-project-id].appspot.com MONGO_URL: mongodb://mymongourl
This file sets two very important environment variables.
ROOT_URL variable is the domain of the app. (In this case, it's App Engine's default domain.)
MONGO_URL is the url of your MongoDB database. This image currently. You can set up your own MongoDB cluster on the Google Cloud Platform or use a managed service like MongoLab
You will also need to make sure your app is responding to App Engine's health checks. You can disable this by adding the following to your app.yaml file
health_check: enable_health_check: False
Deploy to App Engine
Deploy with the following command
gcloud preview app deploy app.yaml
This will create a new version of your app. You deploy to the default version with the
gcloud preview app deploy app.yaml --set-default
Currently you must handle App Engine's health checking in your app. You can disable this in app.yaml. A future version of this image will automatically handle these checks for you.
Websockets are disabled by default until a better solution can be found. You can get this to work with a static IP and setting up port forwarding in your app.yaml. Make sure you enable websockets.
network: forwarded_ports: ["3000"] env_variables: DISABLE_WEBSOCKETS: 0