What options do I have deploying my Meteor app?

Ah, ok.

Also, is adding MongoURL necessary if it’s a local database on the host server?

No, you don’t need to specify MONGO_URL if you’re using MongoDB on the same server.

About $28/mo, for a single 512MB container.

I think that may be my only option left.

I’ve literally tried every single method and still can’t deploy. 2 days trying to deploy the app and there’s always an error somewhere. Reponse to problems from the Phusion team take forever, which is understandable since it’s an open source project and they are helping on their free time.

Galaxy is just so damn expensive. You get 1/2 the space and ram for 3x the price of a DO droplet.

pm2-meteor and Phusion Passenger are the only tools that let me almost deploy my app, but I get this tar: Cannot use compressed or remote archives error for pm2-meteor (obviously, windows can’t handle decompressing tar files) and some npm error using Phusion. I’m so close, but still no cigar.

I’ve been deploying Meteor apps for over a year and this is by far the most frustrating deployment I’ve ever been through. Meteor is one hell of a pain to deploy.

There’s a new kid on the block: https://github.com/mazlix/meteor-now :slight_smile:

2 Likes

I use https://github.com/AdmitHub/meteor-buildpack-horse/ to much success and ease. It has been the most painless of the options I’ve used.

1 Like

Yeah, but it looks like you won’t be able to deploy it to DO or other cloud providers.

@sproleee

It’s not 100% ready for release, but Habitat For Meteor is a whole new deployment paradigm for Meteor that I have been working on…

TL;DR

Future-proof your Meteor app deployments with Habitat by Chef. Bundle up your app with all the necessary installation and configuration instructions, get similar bundles for MongoDB, NGinx, PostgreSQL, etc, define them as a single logical unit with their connections parameters and then launch the unit automatically at boot-time as a single entity. Manage remotely using Habitat’s supervisory tools.

I just successfully deployed using the latest Docker version of Mup without any incident. Not even an error, while I have been trying deploying my app with Phusion Passenger for the last 2 days. Ridiculous.

Meteor deployment would be so much easier if we just had official Docker build support. Imgaine -

meteor build docker name/tag - this will build a Docker image with all dependencies and push your image to docker hub.

Deploying Docker is so trivial compared to a normal app - no need to install anything, configure dependencies etc - this is why all the regular deployment methods are complicated.

You can deploy a docket image in 1 line using container support which is in every cloud platform. For something like DigitalOcean, all you need to do is Oneclick app with Docker as base, then run docker run with ‘restart always’ and your image name.

I don’t understand why Docker support has to come from the community when it is such a core feature.

$28 for a 512MB container is grossly overpriced. I can pay for convenience but not 5-6x more when a similar DO droplet is $5/mo.

DO is fine if you’re confident managing a high-traffic SaaS on it and handling all DevOps issues yourself. With Galaxy, obviously you’re paying for more than just the server:

  • Ability to scale horizontally or vertically with the click of a button
  • Fully managed
  • Effortless deployment

I don’t have time to hassle with server administration. I’d prefer to focus on coding, and running the business.

2 Likes

I agree with what you’re saying. Hopefully, I’ll reach your level of success one day! :slight_smile:

1 Like

To anyone wondering how I deployed without problems: Use https://github.com/kadirahq/meteor-up

It’s the Docker version of Mup. If you’re @ Meteor 1.4 and above, use image: 'abernix/meteord:base' instead of image: 'kadirahq/meteord'. Also, you can’t just call mup setup or mup deploy like you did with other Mup versions. You have to call it via the full path name, since the mup file is not a JSON file, but a JS file. So, instead of calling mup setup you have to call C:\Users\path\to\mup\npm\mup setup. To find this path, just run where mup.

1 Like

Ha! I wouldn’t call it success as much as not having enough time… or an aversion to DevOps. :wink:

BTW, check out pm2-meteor, I’ve heard good things about it.

For production I use Galaxy. It’s a bit pricey but I haven’t seen anything else like it.

For everything else I’ve been using Heroku. The last time I used this buildpack I had success.

For any “serious” application, $28 is not much at all (less than 1 hour of working on developing the application). But it’s a complete pleasure to use. We have had over 50 update builds released since November 11th - this would not have been possible without Galaxy.

But I do think Galaxy should have a cheaper “Hobbyist” option - which would be perfect for users to get started on before their apps begin generating income.

Yeah, DO is much cheaper, but most users I’ve found host the database on the same server, so the server won’t 100% scale to what you will have with Galaxy.

Also, don’t underestimate the lack of DevOps. If you spend an extra 1-2 hours per month, you already made your money back and then some.

1 Like

If you don’t mind a little effort in automating the build, using Google (or AWS) and Docker would be a good option, I run a load balanced system in GCU It costs around 30 USD to run a medium sized instance with upto 3GB ram. There are also tools like google stack-driver (trace and monitoring and logs) that you can integrate…

Check this post https://medium.com/@sathariharan/we-have-been-running-an-app-in-production-for-a-while-using-a-different-configuration-using-75c2bd35ce26#.fjxp4w4mr

I can’t recommend NodeChef highly enough. They’re an inexpensive alternative to Galaxy, with fast servers, automated backups to an S3 bucket, and a super easy deploy from the command line. Scalingo is pretty good also.

2 Likes

NodeChef is the same price point as Galaxy, no? $28/mo for a 512MB container.