Finally, after going through endless issues, I was able to deploy a Meteor v.1.4.2.3 app to DigitalOcean and Compose.
As it looks like Mup is not being maintained anymore, and Galaxy was always far to expensive for a MVP app, what are the present day best hosting options for Meteor apps?
Iām a Meteor user since January 2015, and saw this awesome Framework evolve. I remember when everything was smooth and seamlessly coherent and integrated. Boy those days are really over!
Well, back to the topic: Please anyone, list the best hosting alternatives in terms of price, easiness to deploy, features.
I am using NodeChef to host two apps. They have been great. No complaints.
I loved Galaxy - but like you said, quite expensive when you consider you need to source your own DB hosting.
NodeChef is $9US a month.
Prior to using NodeChef I was using DigitalOcean, which was fine - but I just wasnāt confident in my ability to maintain the server and keep it up to date with security patches and what not. I ran into issues where I would run an update on the server update and break somethingā¦ I also didnāt fully understand how node apps worked on a server, so that contributed to the confusion.
There was also this issue with the MONGO_OPLOG_URL with the & and ? parameters, and single vs double quotes. Also, on Windows, you have to run mup.cmd deploy instead of the standard command for it to work. And none of that is explained anywhere on the documentation.
[edit] those issues have less to do with Mup itself than with sintax details and the general programming practice of finding your way through a problem
Phusion Passenger gets a big +1 from me. It has a great walkthrough guide on how to deploy a Meteor app and with your own server so the cost is whatever you want it to be.
Iām currently working on a hosting platform that supports Meteor (out of the box) aimed at developers that ājust want to deploy their projectā without any hassle and expensive bills. If youāre willing, weād love to have you on-board as an early tester, no strings attached.
If youāre looking for a production-ready platform, weāre looking to launch our product in early February.
Vultr(cloud servers) always have coupons for a few free months worth of hosting, just for signing up. Of course, rolling your own is a little trickier than using something like Galaxy but youāll save money and gain the experience of doing it yourself.
One quirk with Passenger is that each app gets its own user account(if you do it using Ubuntu). I initially ran into problems with other services using port 80 so I couldnāt start the passenger server. If you go this route, use nginx.
Iāve been using Clever Cloud since May. Iāve been very happy with it. Good backend interface, very affordable, pretty good support when needed. Not Meteor-focused, but their Node container works just fine with the right setup. They can host databases too but Iāve got my database on mLab. Note that Clever Cloud is based in France and only has servers there and in Montreal, Canada.
I tried the DigitalOcean route, but like others have said, Iād rather not be responsible for the upkeep of a server, even though Iāve got some years of devops experience. These new IaaS offerings are so niceā¦
Iāve been doing some tests both with deploying using PM2-Meteor and Passenger on Scaleway. Hereās my initial experience:
PM2-Meteor
PM2-Meteor is probably the best Mup replacement. You do need to install some essentials on your server but once youāve set it up deployment is fast and fluid. There is a tutorial but it is lacking some essential details, so make sure to have a look at these scripts. I especially like fast access to logs on all instances, and that it uses all cores (cluster mode) enabling zero-downtime deploys.
EDIT: Note that PM2 does not support sticky session. Although this doesnāt seem to be a major issue for most app, as far as I read.
Passenger
Their Meteor tutorial is very good but I still did run into many Ubuntu related issues (and you need to have nginx installed prior to Passenger) and issues with Meteor settings.
And man, itās a shitload of work to make your first deploy. After that, yes you can use/write a script to do it for you (they even provide an example), but the initial server setup takes a lot of effort. I cannot imagine having to setup multiple serversā¦
Compared to MUP
Both options require you to have much more knowledge about devops than Mup, but I also feel that Mup is like a black box that either works, or it really doesnāt. Either way you have to learn Nginx to make the setup production-proof.
Personally I think Iām going to use PM2-Meteor from now.
I recently stood up Nginx in from of my Mup/Meteor deployment. I had issues with my site reloading at first, but took out the cache from the Nginx config and that seems to have stop it. Do you have any tips on Nginx config and/or using/managing Nginx in general? And are there any monitoring tools for Nginx that might make my life easer?
Iām actually on Heroku with a project, and I think that the price is really affordableā¦ But you have to pay the DB separatelly (because their internal options arenāt suitable). You have also a bunch of free running-hours to develop the application before releasing in production.
Itās really easy to deploy on Heroku, you set the puildpack, push the code to the git repository and they manage to download everything needed, build and deploy. The only disavantage is that meteor isnāt officially supported so you depend on a third party for the buildpack (but you can fork it and manage it as you prefer).
I would just like to point out, free mLab database works perfectly fine with Galaxy.
Galaxy is still a bit more expensive than NodeChef, but is not quite as expensive as it seems at first glance. I personally do not paying an extra $10-15 just for the convenience in fast deployment without issues.
Our team has been able to easily do daily deployments as well as emergency updates, in our production app, flawlessly.