Galaxy - NUDelta/dtr-guides GitHub Wiki

What's Galaxy good for?

Galaxy's primary selling points are:

  • very quick deployment process
  • simplified scaling if one server gets overloaded
  • handy-dandy immediately available analytics (e.g. users online, CPU consumption, etc.)

You should not use Galaxy if:

  • You're not building a Meteor app

Pre-Deployment

  1. Make sure you're a part of the DTR Galaxy Account. If not, ask anyone in it (e.g. Kevin or Haoqi) to add you. If someone doesn't know how, direct them to this guide with your Meteor username (meteor whoami in terminal).
  2. Find cloud MongoDB hosting. I'd recommend signing up for a mLab and getting a free instance. To do so, click "Create New". For "Cloud Provider", AWS US-East is probably best, but doesn't really matter -- just get something in the US, since that's where the Meteor app will be. For "Plan", the free one is the first under "Single-node". Click on the one you've now created, and add a user -- you'll be using this username and password later, not the one you originally signed up for mLabs with. Take note of the part at the top with the URL -- you'll need it for below and to connect to your mongo shell directly.
  3. Acquire a domain name or find a free <your-app>.meteorapp.com domain (these replace the former <your-app>.meteor.com. I'm not sure there's a good way to check if it's taken besides just visiting these urls.
  4. Create a settings.json in the root of your Meteor project as follows:
{
    "galaxy.meteor.com": {
        "env": {
            "ROOT_URL": "http://[your-app].meteor.com",
            "MONGO_URL": "mongodb://<username>:<password>@<mongodb-url>"
        }
    }
}

Deploying

This is basically the same as meteor deploy, but prepended with DEPLOY_HOSTNAME=galaxy.meteor.com. So:

DEPLOY_HOSTNAME=galaxy.meteor.com meteor deploy [your-app].meteorapp.com --settings settings.json

The settings.json is mandatory. Ok, so it should be up -- head to Galaxy to check it out. If it's not there...

Transfer to organization

If you have an individual developer account, you'll probably have to transfer the app to the DTR organization. To do so:

DEPLOY_HOSTNAME=galaxy.meteor.com meteor authorized [your-app].meteorapp.com --add dtr

Configuring DNS

If you've got your own domain, look at this article. Very basically, the recommended practice is to set a CNAME record pointing to galaxy-ingress.meteor.com for the www/ host, and redirect all traffic to www/.

Adding people to the DTR organizational account

Open up the DTR Galaxy Account Management Page, click "Change" in the top right. Find "dtr" in the list, hit "edit members", then add the person's username.

⚠️ **GitHub.com Fallback** ⚠️