Deploy meteor applications to your own servers using SSH and SFTP. Pull and feature requests are encouraged.
This package will deploy your meteor application in a way to be able to rollback to a previous deployment. Basic filestructure is:
/<configured remote path>/<environment>/ .payloads <projectName>-<deployment timestamp> ... <ProjectName> -> symlink to current deployment <ProjectName-previous> -> symlink to previous deployment npm install -g meteor-deploy Imagine the following package.json:
{ "name": "MyCoolApp", "version": "0.1.0", "repository": { "type": "git", "url": "https://github.com/xenolf/meteor-deploy.git" }, "author": "azhwkd", "deployConfig": { "alpha": { "remote" : "192.0.0.100", "port": "22", "user": "myCoolSSHUser", "cert": "/path/to/my/private/key", "passphrase": "coolPass101", "remotePath": "/path/where/my/apps/should/run", "ref": "origin/alpha", "runPort": "3000", "rootUrl": "http://coolurl.com", "mongoUrl": "mongodb://localhost:27017/meteor", "mailUrl": "smtp://..." } } }The deployConfig node is the root of all evil. Under it there are so called environment nodes. For every environment you want to deploy to you can add a new object and so every environment can have its own server and credentials.
- remote The server you want to deploy to. Has to have an SSH server with SFTP subsystem.
- port (Optional) The port of your SSH server. Defaults to 22 if not declared otherwise.
- user The username to use for the SSH connection.
- cert The private key file for your SSH user.
- passphrase (Optional) Passphrase for your SSH cert. Only needed if your cert has one set.
- remotePath The absolute path on the server where you want to run the app.
- ref (Optional) a git reference in the form of [remote]/[branch]. The git HEAD will get reset to this reference. Defaults to the latest ref.
- runPort (Optional) If specified then this value will get passed to meteor in the PORT env var. Defaults to 3000
- rootUrl The url root of your application.
- mongoUrl (Optional) The connection string to your mongoDB. Defaults to mongodb://localhost:27017/meteor
- mailUrl (Optional) If your app uses mail you have to set this to a valid smtp uri.
Usage: meteor-deploy [options] [command] Commands: rollback Rolls back to the last deployed version. deploy Deploys the git repository to a remote server. Options: -h, --help output usage information -V, --version output the version number --env <environment> Deploy to the provided environment. --mrt Deploy using meteorite. Default false. -f, --forever Attempt to start/restart the program on the server using forever.