How to deploy a meteor app to FiWare Fi-Lab (is it possible)?

Hi to all experts,

In case there are already someone here experienced in EU’s non-commercial (free, feeless) infrastructure service FiWare Fi-Lab (http://account.lab.fiware.org), I would like to ask my question through this thread.

Could we deploy our meteor apps to Fi-Lab?

Thanks very much in advance for any guidance.

Regards.

Hey,

I had a look at their infrastructure offerings some months ago and iirc there was something that was basically a managed OpenStack service (instances/cluster) that you can use. I understood that basically you can get some “raw” (virtual) servers through that and run anything you want on them. Which would include nodejs and, by extension, Meteor.

Fi-Lab has lots of very specialized software that they offer, but using their OpenStack offering (I think it’s some fork of it) you should be able to run whatever you want.

And OpenStack is basically a bunch of software that lets you make and run and manage “your own cloud”, i.e. put a bunch of servers to work for you in an organized and relatively easy to use fashion.

HTH, feel free to ask more specific questions.

  • Denis

Thanks for the prompt reply.

Like you said, since Fi-Lab has so wide options (offerings) , I humbly think that it would be quite helpful if there were some step by step guides to follow as a base path (template) in deploying meteor apps, however there are already useful sources around (like your valued reply) explaining deploying processes generally. There may be some additional guides specific to meteor world.

I’m not sure if you were asking for it or not, but if you wanted a guide on how to deploy Meteor to a server, I’d suggest following something like this guide from DO:

If you think about or intend to be using Fi-Lab’s OpenStack offering, then you can treat it as just another (virtual) root server and use guides that are written for just that, like the one above.

Other options to deploy Meteor include using Docker (using e.g. meteord or mupx, https://github.com/meteorhacks/meteord) or meteor-up (https://github.com/arunoda/meteor-up).

As @seeekr comments, you can use the FiLab Cloud, as another Virtual Machine (VM). You just need to configure it appropriately. I will recommend following this steps:

FiLab server configuration:

  1. Create a Keypair: search for the Keypair tab in the Security menu. --> save the generated key, you’ll need it to ssh in the VM that you will create.

  2. Create a Security Group: in the same Security menu, you can create a new security group or edit the default one. Ensure that you edit the rules in order to open the right ports for the VM that you will create. Port information: -1 for ping, 22 default for ssh, 80 for HTTP, and 443 for HTTPS More information on port numbers

  3. Obtain a public IP: also in the same Security menu you can obtain a public IP from a pool. You will need to associate this IP to the instance that you will create later if it has not been done automatically.

  4. Create an instance: in the image pool select ubuntu 14.04, select the VM configuration, under security, select the keypair and security group that you created before, under networking, select a node with internet. Finally create a the instance.

  5. Associate the public: if it has not been done automatically associate the public IP to the recently created instance.

Now your VM is up and running. You can access it using ssh. The default user is ubuntu and it has the keypair that you have created previously associated.

Deploy Meteor app:

In order to deploy a Meteor app, I will recommend using Meteor Up. Follow the instruction in the link and your app will be live in a blink. :wink:
Remember to use the keypair you have created before.

2 Likes

Thank you so much both @seeekr and @PolGuixe for your inputs.

@PolGuixe : Thank you so much for replying the question with such a detailed explanation. I did not have yet any chance to try it but your answer seems it has all the tips for all the key points (stages) on Fi-Lab. Thanks once again.