Meteor 1.4 App on Azure App Services
Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Nodejs and general JavaScript community.
This Blog would help you create a sample meteor app in local environment and later we would help you move sample app to Azure Web Apps
Creating Sample Meteor App:
Use Below command to install meteor on local environment
curl https://install.meteor.com/ | sh
Check for your meteor version. we highly recommend using > 1.4
meteor --version
Use Below command to create a sample meteor app
meteor create simple-todos
Above command would create a new folder with few files for our sample app as in below screenshot
Using Demeteorizer to convert app into node.js format
Use below cmd to install Demeteorizer
npm install -g demeteorizer
Navigate to your meteor app root folder and enter below cmd
>demeteorizer
It would create a new .demeteorized folder
Navigate to .demeteorized/bundle/programs/server using below cmd
cd .demeteorized/bundle/programs/server
Please Use npm > 3 if you are getting any long path issues.. Use NVM(https://github.com/coreybutler/nvm-windows) to easily change node/npm version in local environment.
Enter below cmd to install all the required node.js modules
npm install
Running App on Local Env
Use below cmd to execute demeteorized/converted nodejs app in local environment
PORT=8080 ROOT_URL=https://localhost:8080 npm start
Moving App to Azure
Create a new web app on azure and Setup continuous deployment and get the git url. Below link has details on it
https://azure.microsoft.com/en-us/documentation/articles/web-sites-nodejs-develop-deploy-mac/
Add below app setting to your web app inside Azure portal App Settings
Key : ROOT_URL
Value : web app url(ex: https://Your_APP_Name.azurewebsites.net/
)
Create a web.config file @ .demeteorized/bundle/ and insert below link content
https://raw.githubusercontent.com/christopheranderson/azure-demeteorizer/master/resources/web.config
Navigate to .demeteorized/bundle/ folder and Commit your changes to WEB_APP_GIT_URL
git init
git add .
git commit -m "initial commit"
git remote add samplemeteorapp WEB_APP_GIT_URL
git push samplemeteorapp master
Comments
- Anonymous
September 17, 2016
Thanks, this worked for me! Don't forget to activate websockets in your apps configurations and the "http://" prefix at ROOT_URL is really important!What is the easiest way to connect to MongoDB from the Web Service?- Anonymous
September 20, 2016
Do you want a sample code or the npm module name ? .. try mongoose for nodejs.. - Anonymous
November 30, 2016
I believe there is a MONGO_URL environment variable you have to use to connect to your mongodb server - Anonymous
January 29, 2017
Hi Adrian,How do you activate Websockets? Isn't it a default Meteor setting.
- Anonymous
- Anonymous
February 03, 2017
thanks!! greate job!,I have a question, how update the demeteorizer app in azure? I need demeteorizer again? i need delete .demeteorized folder? - Anonymous
June 05, 2017
I followed the same steps but when i browse the app after deploying i am getting error "You do not have permission to view this directory or page." - Anonymous
September 26, 2017
The comment has been removed