The recommended way to deploy Vulcan is by using Meteor Up.
You should have a Linux server online, for instance a Digital Ocean droplet running with Ubuntu.
On your local development machine, install globally the latest
npm install -g mup
Create Meteor Up configuration files in your project directory with
mup init. In the example below, the configuration files are created in a
.deploy directory at the root of your app.
This will create two files :
mup.js - Meteor Up configuration file
Then, replace the content of the newly created
settings.json with your own settings (you can use the content of
sample_settings.json as a starter).
mup.js with your credentials and optional settings (check the Mup repo for additional docs).
ROOT_URL field should be the absolute url of your deploy ; and you need to explicitly point out to use
abernix/meteord:base docker image with a
docker field within the
You can take inspiration (or copy/paste) on this
From this folder, you can now setup Docker & Mongo your server with:
Still in the same folder, to deploy your app with your settings file:
mup deploy --settings settings.json
If you are using the two-repo install you must specify the path to your package directory:
METEOR_PACKAGE_DIRS="/Users/sacha/Vulcan/packages" mup deploy --settings settings.json
(Taking care to adapt the
/Users/sacha/Vulcan/packages path to point to your Vulcan core repo’s
meteor npm install --save bcrypt.
npm install -g now meteor-now
Create now account
Now on your root folder, run the following command:
meteor-now -d -e ROOT_URL=https://mydomain.now.sh -e NODE_ENV=production`
mydomain with your custom domain name.
You can also add
-e MONGO_URL=mongodb://<username>:<pass>@.... for persistance storage of data. We recommend you using a service like mlab.
After your deployment is done, create an alias to the domain you just specified. Just copy the hashed link provided by the now deployment. It should be copied to your clipboad. It usually follows this format:
now alias set https://xxxxxxxxx.now.sh https://mydomain.now.sh
That’s it! now visit
For more info, for how to get a custom domain name run
now -h. You may need a premium now account.
Contributed by adalidda.
Deploy Vulcan GraphQL/Apollo version with PM2
On Ubuntu 14 or better.
Run the following command
sudo apt-get update
Check that node 4.7.3 is your default node version, with the command
sudo npm i -g pm2
Check that your PM2 is working with the following commands:
pm2 list=> list the process under PM2
pm2 -v=> list PM2 version
sudo apt-get install nginx
Note: I suggest to use the docker version of nginx
npm i pm2-meteor -g
Type the following command to init the default deployment file:
pm2-meteor will then create a file
pm2-meteor.json with your own parameters.
Below is my pm2-meteor.json given as reference.
You note that I use the
nvm command in my
pm2-meteor.json, because without using the nvm command, pm2 will use Node version on your server that may be not compatible with the one required by Vulcan GraphQL/Apollo (which is node version 4.7.0 or 4.7.3) and in this case pm2 will generate high use of your CPU around 100% !
Type the following command
Type the following command to check the status of your app on the server
To Stop your App, type
pm2 stop myappname
To restart your App, type
pm2 restart myappname
To delete your App, type
pm2 delete myappname
- How to deploy Meteor Apps with pm2-meteor
- pm2 2.3.1-next
- How To Install Node.js on Ubuntu 16.04
- Heroku deployment instructions