Any impressions about meteor on DigitalOcean

Hi.

I am looking forward inexpensive solution of small meteor apps.

*.meteor.com was heaven but lost its dependablitiy for last week.
I understand that it is free and no guarantees.

I tried Heroku + mLab sandbox, Heroku is not bad but mLab sandbox is too slow.
My apps need just a few tens MB, don’t need 1GB, so paid plans are overspec.

Finally, I wonder if DigitalOcean is the cheapest solution for small but high speed app.
I care deployment time.
Could you tell me your experience?

I use DigitalOcean for production apps and my experience has been great. If your app isn’t too heavy and doesn’t get a lot of traffic, a $10 or even $5 droplet will do just fine.

You can use a mongoDB on the same server, which will run a lot faster than connection to MongoLab sandbox. If you don’t want your database running on the same server, it’ll also be super-fast connecting to a MongoDB droplet from DigitalOcean.

Deployment and setup is ridiculously easy with mupx. Let me know if you need any pointers.

1 Like

qdrspzd-san, Thank you for your comments.
I want to run MongoDB on the same server.

How about the time for deployment?
heroku deployment by buildpack takes very, very long time because it seems to download all softwares every time.

Don’t you need long time to redeploy your app on DigitalOcean?

Redeploying with Digital Ocean using MUP (or MUPX) is really easy.
I do “mup reconfig” and then “mup deploy” and it usually uploads the new packages and such to the server within 5 minutes.

1 Like

Agreed. Use $5 DO droplet and MUP.

The more expensive part is the MongoDB hosting. You can use Compose.io for $18 a month. The sandbox is slow. And self hosting mongodb is annoying and makes it difficult to access your db directly.

Nodechef is probably the cheapest all in one solution. I haven’t used them yet, but it looks good.

Actually, accessing Mongo on a DO droplet (or any SSH-able server for that matter) is quite easy. All you have to do is to create an SSH tunnel, by running this in terminal (works on OSX, should work fine on Linux):

sudo ssh -L 29017:localhost:27017 USER@HOST

It will connect and open SSH shell as normal, but additionally it will tunnel from port 27017 (Mongo’s default port) to 29017 on your localhost.

And I’ll just add another data point by saying that using DO with Meteor is fine for small apps, I never had problems with it, and setting it up using mup just couldn’t be easier.

1 Like

Could you also use this to connect to a client such as RoboMongo?

Exactly, like that: Robomongo screenshot

Great to know. Thanks

I moved from DO/mupx -> Galaxy Developer Edition - loving it.

  • easy deploys
  • faster performance
  • no weird bugs
  • nice UI

Could anyone tell me the difference between mup and mupx?
I saw these repositories and am confused which one I should use.

I may agree if you need non-small external DB.

The external DB is dominant cost rather than Galaxy Developer Edition.
It become expensive for small DB app.

Take a look on https://www.arubacloud.com/
I have moved my small projects there from DO. I run benchmarks on €1 aruba and $10 DO vps and as result 900 points have aruba and 1200 DO. As cons aruba has ugly interfaces and complex standart backup system. But as I saw, DO quite far from the ideal provider too, as example I had few times when my droplet where down for 8 hours, just because they maintain there something and read as they simple rid a whole droplet of one guy, then just said “sorry it happens” and gave $20 coupon.

Mupx is the new version of mup that uses Docker, which according to authors should address whole bunch of issues that previous version had. I personally use the older mup and never had problems with it. Just make sure that you choose Ubuntu 14.04 LTS for your droplet and set Node version in mup.json to 0.10.40.

1 Like

Hey, I’ve got a question regarding this stuff.
I have two DO droplets running, one with my Meteor app, and one with my Mongo DB.

At first everything worked fine, stuff was being saved properly to the Mongo server, but since then I have made some changes to the database simple-schemas, adding new fields and such.
The Mongo server doesn’t seem to be connected anymore, nothing new comes into it, but say if I send a message, it still goes through, I think it is being stored in the local Mongodb on the Meteor app server - What I imagine is happening is that the Mongo server still has the “old” database schema which is causing problems??

I’m not too sure about this whole situation as I’m new to Meteor and Mongo.

What is the status of MONGO_URL?
It might change.

I’m happily using Dokku on a 1GB DigitalOcean droplet/ instance, running two versions of my app. I love being able to use Docker and just git push my app to the server.

So I deployed Crater.io to Digital Ocean a long time ago and it has been perfect for what I need. The database is on Compose.io so I could get an oplog enabled database for scaling purposes. I have an upcoming blog post that covers all of this, but here is a screenshot of my current setup:

3 Likes

That’s a very nice image @joshowens
Do you have any tutorial on your setup?

I am working on a nginx load balancer setup and I am struggling with it at the moment :confused:

Do you have a standalone nginx server or do you use one of the meteor server as an nginx server with it?

We have multiple apps running on DO with compose.io for MongoDB.
Haven’t experienced any issues!
Depending on traffic, even a $5 droplet is sufficient!