Gathering detailed insights and metrics for pm2-meteor
Gathering detailed insights and metrics for pm2-meteor
Gathering detailed insights and metrics for pm2-meteor
Gathering detailed insights and metrics for pm2-meteor
pm2-meteor-args
Simplest way to deploy, scale and run Meteor Apps with PM2.
pm2-meteor-nvm
Simplest way to deploy, scale and run Meteor Apps with PM2.
@veho-tech/deploy-meteor
small Node app for (re)configuring a Meteor deployment with pm2
meteor-dagda-pm2-publish
Adexe Created Npm Publish store to check for the client purpose Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
Simplest way to deploy, scale and run Meteor Apps with PM2.
npm install pm2-meteor
Typescript
Module System
Node Version
NPM Version
CoffeeScript (90.92%)
JavaScript (8.63%)
Makefile (0.45%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
160 Stars
60 Commits
37 Forks
16 Watchers
7 Branches
2 Contributors
Updated on Oct 29, 2024
Latest Version
0.11.5
Package Id
pm2-meteor@0.11.5
Unpacked Size
644.22 kB
Size
587.15 kB
File Count
17
NPM Version
6.11.3
Node Version
10.17.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
pm2-meteor is a CLI tool, that will deploy your Meteor app (from your dev machine or from git) as Nodejs bundle and run it with PM2. (tested with Ubuntu and Freebsd hosts)
pm-meteor.js
file which module.exports settingsPM2 is a process manager, that will run/restart Nodejs apps, just like forever - but:
$ npm i -g pm2-meteor
You should have Nodejs, npm and PM2 installed on your host machine.
pm2-meteor won't install global tools on your server.
$ mkdir ninjaApp_deployment
$ cd ninjaApp_deployment
$ pm2-meteor init
(The pm2-meteor wizzard will ask you some questions and prefill the configuration file.)
{
// the name of your app
"appName": "ninjaApp",
// where your app is located
"appLocation": {
"local": "~/Workspace/ninjaApp"
// or you can also deploy with git ;-)
// (use username:password@github.com/... for authentication)
// "git": "https://user:password@github.com/andruschka/ninjaApp",
// "branch": "production"
},
// where the meteor settings are located
"meteorSettingsLocation":"~/Workspace/ninjaApp/settings/production.json",
"meteorSettingsInRepo": false,
// or RELATIVE to app root, if settings are located in git repo (this is not a good idea...)
// "meteorSettingsLocation":"settings/production.json",
// "meteorSettingsInRepo": true,
// build flags for Meteor
"meteorBuildFlags": "--architecture os.linux.x86_64"
// runs as command in the meteor app before building
"prebuildScript": "",
// say you are still using meteorite and want to install deps before deploying:
// "prebuildScript": "mrt install",
// the env vars
// (METEOR_SETTINGS will be generated from your meteor-settings file)
"env": {
"ROOT_URL": "http://ninja.my-host.com",
"PORT": 4004,
// optional - set some additional free ports if you want to use fork_mode with several instances
// (you need handle loadbalancing yourself!)
// "FORK_PORTS": [4005, 4006]
"MONGO_URL": "mongodb://localhost:27017/ninjaApp"
},
// infos for deployment
"server": {
"host": "my-host.com",
"username": "nodejs",
"password": "trustno1",
// or auth with pem file
// "pem":"~/.ssh/id_rsa",
// optional - set port
// "port": "22",
// optional - object whose key and value will be passed as -o key:value to any ssh session
// "ssh": {}
// this dir will contain your apps
// (app will be deployed to /opt/pm2-meteor/ninjaApp)
"deploymentDir": "/opt/pm2-meteor",
// optional - will source a profile before executing tasks on the server
// "loadProfile": "",
// exec mode for pm2
"exec_mode": "cluster_mode",
"instances": 2,
// you can also set another interpreter (e.g. use another node version / nvm - see pm2 docs)
"interpreter": ""
},
// optional - set this one if you want to undeploy your app
// "allowUndeploy": true
// optional - set this if you want to specify timestamps to the pm2 log-files
// "log_date_format": "YYYY-MM-DD HH:mm Z"
}
$ pm2-meteor deploy
If you already have deployed this app before, the old app tar-bundle will be moved to a ./backup directory.
$ pm2-meteor reconfig
Will send new pm2-env file to server and hard-restart your app.
$ pm2-meteor revert
Will unzip the old bundle.tar.gz and restart the app
$ pm2-meteor start
$ pm2-meteor stop
$ pm2-meteor status
$ pm2-meteor logs
Start 2 more instances:
$ pm2-meteor scale +2
Down/Upgrade to 4 instances
$ pm2-meteor scale 4
To delete your app from the PM2 deamon and delete all app files add "allowUndeploy":true to your pm2-meteor setting, then:
$ pm2-meteor undeploy
$ pm2-meteor generateBundle
then transfer it to your machine, unzip it and run
$ pm2 start pm2-env.json
Deploy from a private github repo and start 2 load balanced instances:
{
"appName": "todos",
"appLocation": {
"git": "https://andruschka:bestPass123@github.com/andruschka/todos.git",
"branch": "master"
},
"meteorSettingsLocation": "settings/production.json",
"prebuildScript": "mrt install",
"meteorBuildFlags": "--architecture os.linux.x86_64",
"env": {
"PORT": 3000,
"MONGO_URL": "mongodb://localhost:27017/todos",
"ROOT_URL": "http://todos.my-host.co"
},
"server": {
"host": "my-host.co",
"username": "nodejs",
"pem": "~/.ssh/id_rsa",
"deploymentDir": "/home/nodejs/",
"exec_mode": "cluster_mode",
"instances": 2
}
}
Deploy a local app and run app in fork-mode:
(using a pm2-meteor.js file and passing the MONGO_URL via bash env var
e.g.: MONGO_URL='mongodb://user:pw@host/db' pm2-meteor deploy
)
const appName = "todos"
const mongoUrl = process.env.MONGO_URL
module.exports = {
appName, // <~ just ES6 stuff for appName: appName
"appLocation": {
"local":"~/Workspace/todos"
},
"meteorSettingsLocation": "~/Workspace/todos/settings/production.json",
"prebuildScript": "",
"meteorBuildFlags": "--architecture os.linux.x86_64",
"env": {
"PORT": 3000,
"MONGO_URL": mongoUrl, // <~
"ROOT_URL": "http://todos.my-host.co"
},
"server": {
"host": "my-host.co",
"username": "nodejs",
"pem": "~/.ssh/id_rsa",
"deploymentDir": "/home/nodejs/",
"exec_mode": "fork_mode",
"instances": 1
}
}
Deploy a local app and run app in fork-mode with several instances (for managing load balancing yourself):
{
"appName": "todos",
"appLocation": {
"local":"~/Workspace/todos"
},
"meteorSettingsLocation": "~/Workspace/todos/settings/production.json",
"prebuildScript": "",
"meteorBuildFlags": "--architecture os.linux.x86_64",
"env": {
"PORT": 3000, // first fork_mode instande willl use this port ...
"MONGO_URL": "mongodb://localhost:27017/todos",
"ROOT_URL": "http://todos.my-host.co"
},
"server": {
"host": "my-host.co",
"username": "nodejs",
"pem": "~/.ssh/id_rsa",
"deploymentDir": "/home/nodejs/",
"exec_mode": "fork_mode",
"instances": 3,
"freePorts": [3002, 3003] // ... further fork_mode instances will use this ports
}
}
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
Found 1/29 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
license file not detected
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
19 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-07-14
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More