Has anyone run Meteor on AWS t2.micro?

I launched an instance, cloned my project, installed Meteor and tried to run it. Meteor took forever (in the downloading meteor tool stage), the instance slowed to a crawl, and finally the process got killed.

t2 instances don’t have a swap file. However I’m able to run other node apps just fine, the Meteor tool itself seems like its causing out of memory errors (with 1GB RAM).

Hey there detective, yes I’ve run a meteor app on similar specs. But not to actually build the app on the instance.

I deploy meteor into a docker image similar to this one. You’ll want to meteor build on your dev machine. That makes a regular node app you can deploy anywhere node’s available. The command would be something like this:

meteor build \
  --directory ../$BUILDDIR \
  --architecture os.linux.x86_64 \
  --server-only || exit 1

If you’re already doing that and running out of memory, it’s probably an application error. My meteor apps use <100m with no users.

Hi, yes deploy works fine. I am trying to use it as a dev machine since I only have a Chromebook at present since my main pc is dead :frowning:

It may not have enough resources for that. Just wanted to find out how much Meteor actually needs.

As you know, everything is interconnected so it may solve other problems as well :smiley:

Yeah the problem is probably that you are running meteor in development mode. That uses a whole lot more resources than the compiled production app.

Be careful 8gb is not enough for storage, give it at least 12, or 20gb. Otherwise MongoDB will not work :slight_smile:

I think in general running a database on the same instance is not good for a production app - I’d suggest buying a database from one of the Mongo hosting providers.

2 Likes

I ran into the same issue a few years back with a Rails app I deployed on Elastic Beanstalk w/ t1.micro instances. There wasn’t enough memory to bundle successfully. I ran across this which explains how to add swap space to a t1.micro and it saved the day. I integrated it into my EB deployment config and that was that. (until, of course, it broke…)

Then I found Docker (or Docker found me) and never looked back.