All Projects → EducationLink → Meteor Google Cloud

EducationLink / Meteor Google Cloud

Licence: mit
Automate Meteor deployments on Google Cloud App Engine Flexible

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Meteor Google Cloud

Meteor Azure
Automate Meteor deployments on Azure App Service
Stars: ✭ 69 (+115.63%)
Mutual labels:  meteor, deployment, hosting
Runtimes Common
Common tools used by the GCP runtimes.
Stars: ✭ 86 (+168.75%)
Mutual labels:  gcp, google
Cloudprober
An active monitoring software to detect failures before your customers do.
Stars: ✭ 1,269 (+3865.63%)
Mutual labels:  gcp, google
Infracost
Cloud cost estimates for Terraform in pull requests💰📉 Love your cloud bill!
Stars: ✭ 4,505 (+13978.13%)
Mutual labels:  gcp, google
Meli
Platform for deploying static sites and frontend applications easily. Automatic SSL, deploy previews, reverse proxy, and more.
Stars: ✭ 2,125 (+6540.63%)
Mutual labels:  deployment, hosting
Docs Examples
Open in Cloud Shell Examples for the Google provider docs
Stars: ✭ 50 (+56.25%)
Mutual labels:  gcp, google
Goth
Elixir package for Oauth authentication via Google Cloud APIs
Stars: ✭ 191 (+496.88%)
Mutual labels:  gcp, google
Meteor Now
Instantly deploy your Meteor apps with `meteor-now`
Stars: ✭ 339 (+959.38%)
Mutual labels:  meteor, deployment
Fake Gcs Server
Google Cloud Storage emulator & testing library.
Stars: ✭ 316 (+887.5%)
Mutual labels:  gcp, google
Ccat
Cloud Container Attack Tool (CCAT) is a tool for testing security of container environments.
Stars: ✭ 300 (+837.5%)
Mutual labels:  gcp, google
The forge
Our groundbreaking, lightning fast PWA CLI tool
Stars: ✭ 70 (+118.75%)
Mutual labels:  deployment, hosting
Cloud Functions Go
Unofficial Native Go Runtime for Google Cloud Functions
Stars: ✭ 427 (+1234.38%)
Mutual labels:  gcp, google
Seldon Server
Machine Learning Platform and Recommendation Engine built on Kubernetes
Stars: ✭ 1,435 (+4384.38%)
Mutual labels:  gcp, deployment
starter-NodeJS
Recast.AI official starter-kit for NodeJS
Stars: ✭ 22 (-31.25%)
Mutual labels:  deployment, hosting
Gifee
Google's Infrastructure for Everyone Else
Stars: ✭ 370 (+1056.25%)
Mutual labels:  gcp, google
Fsfirestore
Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase.
Stars: ✭ 22 (-31.25%)
Mutual labels:  gcp, google
Mr Drupal
Declaratively indicate which Drupal projects you want to use, run `mr update`, the end. No "check tarballs into git", no git submodules, no git-subtree. Great for smallish Drupal sites.
Stars: ✭ 27 (-15.62%)
Mutual labels:  deployment
Akkeeper
An easy way to deploy your Akka services to a distributed environment.
Stars: ✭ 30 (-6.25%)
Mutual labels:  deployment
Fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
Stars: ✭ 33,382 (+104218.75%)
Mutual labels:  deployment
Rocket.chat
The communications platform that puts data protection first.
Stars: ✭ 31,251 (+97559.38%)
Mutual labels:  meteor

Meteor Google Cloud

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

A command line tool for deploying Meteor applications on Google Cloud App Engine Flexible.

What is Google Cloud App Engine Flexible?

App Engine allows developers to focus on doing what they do best, writing code. Based on Google Compute Engine, the App Engine flexible environment automatically scales your app up and down while balancing the load.

Meteor needs to run on App Engine Flexible, not Standard.

App Engine manages your virtual machines, ensuring that:

  • Instances are health-checked, healed as necessary, and co-located with other services within the project. Critical, backwards compatible updates are automatically applied to the underlying operating system.
  • VM instances are automatically located by geographical region according to the settings in your project. Google's management services ensure that all of a project's VM instances are co-located for optimal performance.
  • VM instances are restarted on a weekly basis. During restarts Google's management services will apply any necessary operating system and security updates.
  • You always have root access to Compute Engine VM instances. SSH access to VM instances in the flexible environment is disabled by default. If you choose, you can enable root access to your app's VM instances.

For more information, check: App Engine Flexible Environment's page.

App Engine Flexible Pricing

Because we run Meteor on the Flexible environment you may not be able to use the free tier of App Engine Standard. For the first year you may have $300 in credit per month, but be aware of the costs:

Installation

npm install meteor-google-cloud -g

Deploying

To deploy to App Engine Flexible, follow the steps bellow:

1. Install gcloud CLI

Follow the guide on: https://cloud.google.com/sdk/install

2. Init Meteor Google Cloud

If this is the first time you deploy, you will need some specific files on your repo, run the command below to get them automatically generated.

meteor-google-cloud --init

3. Set your App Engine Flexible settings

cd ./deploy
ls
Dockerfile	app.yml		settings.json
  • Dockerfile: you can customize your Docker image, if you don't need to or don't know how to, you can either delete this fle or leave iit as is.
  • app.yml: The settings and preferences of your App Engine service goes in here, check Google's app.yml documentation for full options.
  • settings.json: This is your normal Meteor settings file, you will need to have the special key meteor-google-cloud for the deployment settings.
    • Required keys:
      • project: The project name of the project on Google Cloud to use.
    • Other keys: You can add any option you would like here, and they will be passed to gcloud deploy app command, for the full list, check Google's gcloud deploy documentation.

4. Deploy

meteor-google-cloud --settings deploy/settings.json --app deploy/app.yml --docker deploy/Dockerfile 

P.S: It may take a few minutes to build your app, which may appear to be unresponsive, but it's not, just wait.

CLI options

The Meteor Google Cloud CLI supports the following options:

  -v, --version             output the version number
  -i, --init                init necessary files on your repo
  -b, --build-only          build only, without deploying to gcp
  -s, --settings <path>     path to settings file (settings.json)
  -c, --app <path>          path to app.yaml config file
  -d, --docker <path>       path to Dockerfile file
  -p, --project <path>      path of the directory of your Meteor project
  -o, --output-dir <path>   path of the output directory of build files
  -v, --verbose             enable verbose mode
  -q, --quiet               enable quite mode
  -ci, --ci                 add --allow-superuser flag in meteor commands for running in CI
  -h, --help                output usage information
  --node-version <version>  set custom node version
  --npm-version <version>   set custom npm version

FAQ

1. Does App Engine supports websockets? Yes, announced in February 5, 2019, more info.

2. Does App Engine supports session affinity? Yes.

3. Do I get auto scaling? Yes.

4. Do I get auto healing? Yes.

5. Can I add the environment variables to the settings.json? Yes. Just create add a property env_variables to meteor-google-cloud. It will prefer those over the ones in your app.yaml.

Support

We welcome any questions, contributions or bug reports in the GitHub issue tracker.

Meteor Azure

This package was heavily inspired on meteor-azure, a deployment packge for Meteor applicatons on Microsoft Azure, click here for more information.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].