Vagrant configuration for a virtual machine that can run Meteor apps. Can be used on Windows, Mac OS X or Linux.
The following instructions are optimized for Windows users.
- Install Cygwin with the packages
openssh
andrsync
. - Add the
<CYGWIN_INSTALL_DIR>/bin
folder to your PATH. - Install VirtualBox.
- Install Vagrant (1.6.1 or newer is needed).
- Clone this repo to your local machine.
- Install and start the Vagrant VM by executing
start.bat
. It will take a little bit to download and install everything. Read the next part "File Synchronisation" while it installs. ;-)
The folder is synchronised to two places on the guest. Each synchronized folder has a special purpose.
The folder is synchronised with Rsync to the guest folder /meteor_cli
.
- You must use this folder to start the Meteor app.
- You must use this folder for
mrt add
andmrt update
. - Changes won't be synchronized back to the host and will be deleted after the next sync.
The folders are also synchronised with the VirtualBox shared folder feature to the guest folders /Tempo_HD
and /Cadence_HD
.
- Use this folder to make changes in the guest that should be synchronized with the host.
- After you added or updated smart packages you must copy the smart.json and smart.lock file
from
/meteor_cli
to/Tempo_HD
with (see open issue):
cp -f /vagrant/<MY_APP>/smart.* /vagrant2/<MY_APP>/
cp -f /vagrant/<MY_APP>/.meteor/packages /vagrant2/<MY_APP>/.meteor/
- Cannot be used to start the Meteor app.
- Cannot be used for
mrt add
,mrt install
ormrt update
If this is your first time running vagrant:
- Install nodejs:
sudo rm /var/lib/apt/lists/*
It will complain about being unable to remove a "partial" directory, ignore this
sudo apt-get update
sudo apt-get install nodejs
- Start Meteor:
cd /meteor_cli
meteor run
- From a new ssh terminal, run cadence.js to populate mongo with test data:
cd /Cadence_HD
node cadence.js
- Navigate to localhost:3000 in your host browser!
Skip steps 1 and 3 for subsequent sessions (as long as you didn't run vagrant destroy
)
Check out the wiki for more details.
v1.0 - initial build with Docker v2.0 - included missing packages in sourcecode v2.1 - second attempt at adding missing packages