{"id":15013326,"url":"https://github.com/jkrup/meteor-now","last_synced_at":"2025-04-05T14:09:49.045Z","repository":{"id":15912434,"uuid":"78969594","full_name":"jkrup/meteor-now","owner":"jkrup","description":"Instantly deploy your Meteor apps with `meteor-now`","archived":false,"fork":false,"pushed_at":"2022-12-06T22:17:43.000Z","size":1219,"stargazers_count":337,"open_issues_count":38,"forks_count":24,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-29T13:11:18.165Z","etag":null,"topics":["cli","deployment","docker","meteor","meteor-apps","now","npm-package","zeit"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jkrup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-14T22:09:14.000Z","updated_at":"2024-11-22T11:37:37.000Z","dependencies_parsed_at":"2023-01-14T00:15:08.846Z","dependency_job_id":null,"html_url":"https://github.com/jkrup/meteor-now","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkrup%2Fmeteor-now","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkrup%2Fmeteor-now/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkrup%2Fmeteor-now/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkrup%2Fmeteor-now/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jkrup","download_url":"https://codeload.github.com/jkrup/meteor-now/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345856,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","deployment","docker","meteor","meteor-apps","now","npm-package","zeit"],"created_at":"2024-09-24T19:44:05.932Z","updated_at":"2025-04-05T14:09:49.028Z","avatar_url":"https://github.com/jkrup.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Deprecation notice:\n\n[**NOTE: meteor-now is no longer actively maintained.** Since ZEIT Now no longer focuses on serverful frameworks, it has been deprecated in favor of **meteor-hero** which allows free meteor deploys using Heroku.](https://github.com/jkrup/meteor-hero)\n\n---\n\n\n# Meteor Now [![CircleCI](https://circleci.com/gh/jkrup/meteor-now.svg?style=svg)](https://circleci.com/gh/jkrup/meteor-now) [![npm version](https://badge.fury.io/js/meteor-now.svg)](https://badge.fury.io/js/meteor-now) [![downloads](https://img.shields.io/npm/dm/meteor-now.svg)](https://npmjs.org/package/meteor-now)\n\n`meteor-now` is a tool to let you instantly deploy your Meteor apps with one command using ZEIT's [▲now](http://zeit.co/now) service. Just run `meteor-now` and instantly deploy your Meteor app like you could back in the good 'ol days of `meteor deploy`.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/jkrup/meteor-now/raw/master/assets/meteor-now-intro.gif\"\u003e\n\u003c/p\u003e\n\n## Demo\n[https://meteor-test-msrbsvslpz.now.sh](https://meteor-test-msrbsvslpz.now.sh)\n\n# Install\nInstall the `now` and `meteor-now` packages:\n```\n$ npm install -g now meteor-now\n```\n\nCreate `now` account\n```\n$ now login\n\u003e Enter your email: \u003cyour email\u003e\n\u003e Please follow the link sent to \u003cyour email\u003e to log in.\n\u003e Verify that the provided security code in the email matches Pragmatic Manta Ray.\n\n✔ Confirmed email address!\n\n\u003e Logged in successfully. Token saved in ~/.now.json\n```\n\n# Usage\n\n## Deploying for Development / Testing\n\nIn your Meteor app directory, run `meteor-now`.\n\n```\n~/my-meteor-app/ $ meteor-now\n✔ [METEOR-NOW] - building meteor app\n✔ [METEOR-NOW] - preparing build\n✔ [METEOR-NOW] - deploying build\n✔ [METEOR-NOW] - meteor app deployed to https://meteor-test-msrbsvslpz.now.sh\n```\n\n## Deploying for Production\n\nThere are a few things you'll want to know before using `meteor-now` in production. And your deploy command will probably look more like the following:\n\n```\nmeteor-now -e MONGO_URL=mongodb://\u003cusername\u003e:\u003cpass\u003e@.... -e ROOT_URL=https://mydomain.com -e NODE_ENV=production\n```\n\nIf your app uses MongoDB at all you will want to specify a `-e MONGO_URL=` for persistent storage of data. [Mlab](http://mlab.com) has a great free sandbox tier, but also not recommended for production (you will probably want to pay at some point).\n\nYou should also have a paid account with [▲now](https://zeit.co/now) so that you can specify a custom domain name, and have more than 1GB of bandwidth/mo.\n\nYou will also likely want to specify a `-e ROOT_URL=` [http://stackoverflow.com/questions/24046186/meteor-what-is-the-purpose-of-root-url-and-to-what-should-it-be-defined](http://stackoverflow.com/questions/24046186/meteor-what-is-the-purpose-of-root-url-and-to-what-should-it-be-defined)\n\nFinally you should have a `production.settings.json` in your project directory if you are using `METEOR_SETTINGS` (i.e. passing in `--settings`) and use `-e NODE_ENV=production` to tell `meteor-now` to use that.\n\n# How\n![METEOR-NOW](assets/zeit-meteor.png \"METEOR-NOW\")\n`meteor-now` use ZEITs [▲now](https://zeit.co/now) service to deploy the Meteor app in a container. Please refer to their [documentation and support](https://github.com/zeit/) for hosting related details.\n\n# Additional Info\n## Full deploy with MongoDB\n`meteor-now` lets you to deploy your Meteor app with a MongoDB included similar to how `meteor deploy` used to work. **This method is not intended for production deployments**. In order to achieve this, we bundle your Meteor app and MongoDB into a a single Dockerfile and we instruct your app to connect to the local MongoDB instance. The Dockerfile gets built in the cloud by `now` and once it's ready, the Meteor app will spin up and connect to the MongoDB instance running locally in that docker container.\n\nSome things to keep in mind here is that since MongoDB is installed on the docker container itself, your app data is not persistent and has the chance of getting deleted if a new container is created. Because `now` automatically scales your deployment with load, new docker containers are bound to be created and your is likely going to get lost.\n\nTo not have this issue, spin up your own MongoDB instance and pass the `-e MONGO_URL=...` flag when you deploy.\n## Using METEOR_SETTINGS\nCurrently there are two ways you can set the METEOR_SETTINGS environment variable in your deployments\n\n- Using `now secrets`\n\n```\n$ now secrets add meteor-settings '{ \"public\": { \"foo\": \"bar\" }}'\n$ meteor-now -e METEOR_SETTINGS=@meteor-settings -e MONGO_URL=...\n```\n\n- Using `development.settings.json` and `production.settings.json`\nFollowing the convention of the `NODE_ENV` environment variable, `meteor-now` uses `NODE_ENV` to determine which file to look for.\nIt will either look for `development.settings.json` or `production.settings.json` in your root Meteor directory.\n\nNote that `meteor-now` by default looks for `development.settings.json` unless otherwise specified by `-e NODE_ENV=production` or `-e METEOR_SETTINGS='{ \"foo\": \"bar\" }'`.\n\n## Debug\nIn order to see detailed deployment logs as they happen, pass the `-d` when you deploy.\n\n## Bundle Splitting\nThe `now` free tier has a limitation of 1mb per file. As a workaround, we split the final bundle into pieces prior to uploading. If you are on a paid plan, you can turn this off by passing the `--nosplit` flag like so `meteor-now --nosplit`.\n\n## now.json\nYou can include a regular `now.json` file in your project directory. `meteor-now` will make sure to include it along with your app when it deploys. Specifying now settings in the `package.json` file is not currently supported.\n\n## FAQ\n### Can I use this in production?\nYes– if you are paying for ▲now and using an external database! ▲now supports dynamic autoscaling of apps (with sticky-sessions), you should read all the caveats related to `now` if you are not paying for a monthly plan– You only get 1GB of bandwidth per month, and also your source files are made (somewhat) public at your url /_src\nAlso read the caveats below if you did not specify a MONGO_URL\n\n### What happens when I don't specify a MONGO_URL\nWhen you don't specify a MONGO_URL we bundle a local version of MonogoDB with your application. What this basically means is that if your application ever gets shut down, or scales up to multiple instances you will lose all data that was inserted into your DB.\n\n### How can I change my ROOT_URL\nIn order to set the ROOT_URL for your application, pass the -e flag along with the value for what you want the ROOT_URL to be. Example: `meteor-now -e ROOT_URL=www.mymeteorapp.com`\n\n### How do I set a domain name\nIn order to use a custom domain name, you would need a Pro account with now.\n\nRun `now domain add --external meteor-now.com`. You should get a response back with steps to verify your domain.\n\n```\nVerification required: Please add the following TXT record on the external DNS server: _now.meteor-now.com: ea39a62a58b3109f92024230826e37f0adc6abcd\n```\n\nIn your domain DNS settings, add a TXT record with the above information.\n\nWait a few moments for the DNS records to propagate and rerun the same command above.\n```\n$ now domains add --external meteor-now.com\nSuccess! Domain meteor-now.com verified [2s]\n```\n\nNow alias your deployment to the new domain\n```\n$ now alias https://meteor-now-site-izdolpdrvv.now.sh/ www.meteor-now.com\nwww.meteor-now.com is a custom domain.\nVerifying the DNS settings for www.meteor-now.com (see https://zeit.world for help)\nVerification OK!\nProvisioning certificate for www.meteor-now.com\nSuccess! Alias created: https://www.meteor-now.com now points to https://meteor-now-site-izdolpdrvv.now.sh [copied to clipboard]\n```\n\nYou can also pass the `--alias abc.com` option to `meteor-now` and it will automatically run the alias after the deployment completes. \n\nRead [this blog post](https://zeit.co/blog/now-alias) for more information.\n\n### Why are my XX resource not loading\nBecause now enforces SSL, you may experience some issues with 3rd party resources (such as google fonts) not being fetched by your clients due to mixed content warnings. To resolve, just make sure all your assets are being fetched with https:// protocol urls whenever available. If that's not possible, you may need to just download those assets and serve them locally through meteor's public/ directory.\n\n### I deployed my free app but it's failing to connect to MongoDB\nIf you're deploying with an included MongoDB, we've observed that sometimes MongoDB takes a while to start. In this case, Meteor complains that it can't connect to MongoDB. Give it a few more minutes and your app should start. Make sure to refresh the page.\n\n### I want to use a different docker image\nThe default docker images are `nodesource/jessie:0.10.43` for Meteor \u003c 1.4, `node:8.9.4` for \u003c 1.7 and `node:8.11.2` for \u003e= 1.7.\nIf you want to use a different image, use the `--docker-image` flag.\n\n### My app requires XX can I use my own Dockerfile?\nWe're currently support passing a `--deps 'depName1,depName2'` flag so that applications that rely on things like imagemagick are able to work. We are also looking into the ability to specify your own Dockerfile in the case that you require even more customization.\n\nStay tuned to updates on the [issue](https://github.com/jkrup/meteor-now/issues/6)\n\n# Authors\n\u003ca href=\"https://www.github.com/jkrup\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/519731?v=3\u0026s=460\" alt=\"Justin Avatar\" height=\"100\" width=\"100\"\u003e\u003c/a\u003e|\u003ca href=\"https://www.github.com/purplecones\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/136654?v=3\u0026s=460\" height=\"100\" width=\"100\" alt=\"Mirza Avatar\"\u003e\u003c/a\u003e\n---|---\nJustin Krup|Mirza Joldic\n[@jkrup](https://www.github.com/jkrup)|[@purplecones](https://www.github.com/purplecones)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkrup%2Fmeteor-now","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkrup%2Fmeteor-now","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkrup%2Fmeteor-now/lists"}