How to run meteor in windows and Ubuntu using vagrant?

Mohan pd.
Written by Mohan pd. on
How to run meteor in windows and Ubuntu using vagrant?

Here are the steps for running meteor in windows and Ubuntu using vagrant.


  • Download VirtualBox [ Vagrant runs on top of VirtualBox, so you need it ]
  • Download latest Vagrant
  • Download git [It will install ssh binaries required by Vagrant and let you connect to the VM]
  • Create a folder to store your Vagrant files + Meteor project
  • Copy script below and save it as into that folder.
sudo apt-get update
sudo apt-get install python-software-properties
sudo apt-key adv --keyserver --recv 7F0CEB10
echo "deb dist 10gen" | sudo tee -a /etc/apt/sources.list.d/10gen.list
sudo apt-get update
sudo apt-get install -y git mongodb-10gen curl
cd /usr/local
sudo tar -xvzf node-v0.8.23-linux-x86.tar.gz --strip=1
rm -f node-v0.8.23-linux-x86.tar.gz
curl | sudo sh
sudo npm install -g meteorite

Steps on Windows command-line:

  1. Go to Start Menu > Type cmd > SHIFT + ENTER (to login as Administrator)
  2. cd C:\path\to\your\vagrant+meteor\project\folder
  3. set PATH=%PATH%;C:\Program Files (x86)\Git\bin (Append git binaries to path so vagrant can run ssh)
  4. vagrant init precise32 (To install Ubuntu 10.04 x86)
  5. Edit the Vagrantfile with your preferred editor and add those four lines anywhere inside the Vagrant.configure(“2”) block:
config.vm.provision :shell, :path => "" :forwarded_port, guest: 3000, host: 3000
config.vm.provider "virtualbox" do |v|
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  1. vagrant up (It will download box, configure meteor and get it up)
  2. vagrant ssh (It will connect on the VM and expose its command-line)

Now that you are inside the VM command-line, you can use it as your server:

Steps on Ubuntu command-line:

  1. cd /vagrant
  2. mrt create ~/meteorapp
  3. mrt create meteorapp && cd meteorapp && rm -rf .meteor && mkdir .meteor/ (Check your Windows folder you’ve created. It will be there!)
  4. Input these lines:
sudo mount --bind /home/vagrant/meteorapp/.meteor/ /vagrant/meteorapp/.meteor/
echo “sudo mount --bind /home/vagrant/meteorapp/.meteor/ /vagrant/meteorapp/.meteor/” >> ~/.bashrc && source ~/.bashrc
mrt run

It should be running on http://localhost:3000.

The point here is to use the .meteor folder of your app pointing to another place inside the VM (run ls -la .meteor/ on command-line and you will see the symbolic link), so Meteor uses the VM folder, not Windows folder, and won’t have permissions problems. You will also need to do all git flow inside Ubuntu command-line, because Windows can’t follow those links.


  • Make sure you do version control INSIDE THE VM, so the software can follow the symlink.
  • To halt a vagrant VM: vagrant halt
  • To restart a vagrant VM without running all Meteor installation again: vagrant reload --no-provision or just remove the shell path you’ve put on Vagrantfile on line 10.
  • To destroy a VM: vagrant destroy


Meteor in Windows using Vagrant gist by @gabrielhpugliese.

Mohan pd.

Mohan pd.

Author of The Coders Blog. Also a professional fullstack javascript developer working with various tech company and client around world.


comments powered by Disqus