Reputation: 1172
I implemented a small meteorjs demo application. The application converts svgs to binary images (incl. resizing) with the help of meteorite, libxmljs, and imagemagick. Unfortunately, I am not able to deploy it on meteor's own infrastructure (mrt deploy). And the really bad thing is: I cannot find some logs. I have no clue what's going on. I am pretty sure it's something with my dependencies. The source is hosted here. The problem is most probably at the beginning of server/server.js. I guess the way I import my dependencies doesn't work for meteorjs. If yes, how can I fix it? If not, does someone see the issue?
BTW: Also, deploying on appfog and nodejitsu didn't work.
Upvotes: 0
Views: 698
Reputation: 144
You did not say what Operating System you are running on. I assume the most basic is a Ubuntu 12.04 server. You would have to install MongoDB on it and Node.js with all the dependecies. Create a Admin user for MongoDB and add a user to a database.
You can use a tool called Demeteorize to package you Meteor app. Demeteorize is better since it allows to deploy apps from one platform to another and fixing the issues that happen. So if you use a Mac to develop and want to deploy to Ubuntu you do not encounter problems because of separate environments.
Once on the server you can use Node to start the demeteorized application with port settings set running on localhost.
Now you could use Apache to proxy to the port you specified and map it to a domain name. This allows you to run multiple Meteor apps on different ports and still assign domain names to them.
A complete guide to doing all of this can be found at the following url:
Deploying multiple vhost Meteor JS apps on Ubuntu 12.04 with MongoDB
Upvotes: 1
Reputation: 1491
Take all node.js sources that are currently in your node_modules and copy them to the /public directory of your project.
When deploying, Meteor will grab your local packages but not node modules. The only way to get node modules on meteor.com is to put them in an accesible directory within your project. /public is a good choice as the files in that directory are sent to the client only if the client requests it, whereas all other files except those /server will be sent to the client.
You'll then have to update your require() statements appropriately.
See also:
How can I deploy node modules in a Meteor app on meteor.com?
How do we or can we use node modules via npm with Meteor?
Upvotes: 1