Frequently Asked Questions

Check our status page and Twitter status account to find current and real time updates.
Whenever you upload files using Now CLI or Now Desktop, a new deployment is created. This deployment will only have one instance by default. However, every deployment can be scaled to multiple instances.
Therefore, each "deployment" can consist of multiple "instances".
Both personal and team accounts may own unlimited deployments. However, the number of running instances is limited your personal or team account's current plan.
If you exceed your paid plan's limit for running instances, you will be charged the On Demand price (check the On Demand plan) for the additional instances.
Create a configuration file with the keys alias and name similar to this one:
{
  "name": "my-app",
  "alias": "my-app.now.sh"
}
Then run the following command:
now && now alias
It will deploy your application under the configured name and then alias the latest deployment with the configured alias.
Note that you do not need to remove an old deployment since it will eventually freeze. If you keep it, you can easily rollback by just changing the alias.
But if you still want to remove it, it is possible using the following command:
now rm my-app --safe --yes
This command will remove all your non-aliased deployments with the name my-app. This can be run after the now alias command to remove the previous deployment of the project.
now && now alias && now rm my-app --safe --yes
Now will deploy to the nearest region available automatically by default. You can override this behavior either
Send us an email at support@zeit.co with your desired email address. We will reply with validation codes similar to Sparkling Red-handed Tamarin to both your old and new email addresses. Upon receiving a response with the codes, we will then proceed with the change.
Each instance has up to 1GB of RAM and 1 CPU in any paid plan.
Deployments belonging to the OSS plan have half the resources of a paid plan.
The storage limit of any plan is shown under the plan on the pricing page.
At the moment there is no way to change this. We do have this on the roadmap though!
For enterprise customers we can offer customizations which include more resources for deployments.
Deployments are immutable. This means they cannot be be modified after being created. To update your application, you need to deploy the new version using the command now, after that you will get a new unique deployment URL similar to my-app-hjrehxuuih.now.sh.
This model enables a few interesting benefits:
  • Easy rollback
    You can just move your alias to an older deployment to have immediate rollbacks.
  • Staging and Production deployments
    A new deployment gives you a unique URL you can use as staging, share it with co-workers or clients and then after it is confirmed it works you can upgrade it to production with a single command, now alias.
  • Zero-Downtime deployment
    Most services will require you to restart your server (eg. Node.js). Thanks to Now, you get a new deployment. You can wait until the deployment is ready to change the alias and avoid any downtime in the deployment process.
Now deployments must expose a single port running an HTTP or WebSocket server. However, using Docker it is possible to run a database in the same container of the HTTP API consuming it.
Note that due the immutability of deployments there are many cases where you will lose the data of your database.
  • A new deployment will have a newly created, fresh database.
  • Each instance of the same deployment will have it's own data.
  • If the deployment freezes (has zero running instances), when it unfreezes the database will be cleared.
We recommend that you run your database on a database hosting service. You can ask our community for recommendations.
We are working on a domain transfer tool to make this process easy. In the meantime you can contact us at support@zeit.co with the domain you would like to transfer.
If you would like to move a domain from one ZEIT account to another, you could do so by running the following commands:
  1. From the current owner of the domain: now domain rm domain.com
  2. From the desired owner of the domain: now domain add domain.com
After you have done this, the desired owner will be in possession of the domain and be able to utilize it with ZEIT and Now.
At the moment Now does not support docker-compose. Keep an eye on the open issue on GitHub to know when it will be supported.
There is no way to disable SSL. All the Now deployments are HTTPS by default.
We will always try to replace any environment variable where the value starts with an @ with a secret. We have an active issue for this on GitHub.
As a workaround you can setup a secret with a value starting with @.
Deployments have a default scale configuration which sets each deployment to freeze after a while from inactivity.
This lets you have any amount of deployments without worrying about your currently running instances. They will be unfrozen when a new request comes and keeps the instance running for a while (eventually freezing from inactivity with no requests again).
This behaviour can be completely avoided using the now scale command as described in previous link.
You can delete a team by going to the 'Identity' section of the team's settings. Please note that this action is irreversible.
Check our guide on how to setup a redirect:
Yes, you can! Remember to expose a single port running an HTTP server.
If your bot is working in the background; before removing it, it is recommended that you manually scale your current bot deployment down to zero instances then deploy a new version. This avoids having your bot running multiple times.
now scale my-bot-hjnfyyugps.now.sh 0
This will ensure the bot is no longer running before you remove it or deploy a new version.
This is not currently possible to do via the Now CLI, but you can contact us at support@zeit.co with your desired nameservers and, after a security verification of the ownership, we can change them for you.
If you add the --public option when deploying, you will not be asked to confirm if you are aware the deployment's contents will be made public.
now --public
We send a receipt to your email address for every card transaction including a link to download the invoice as a PDF. Your invoice can also be downloaded from the Usage section of your dashboard. For special invoicing requests, please contact us at support@zeit.co with the following information:
  • Company name
  • Billing address
    • Country
    • City
    • Postal Code
    • Address
  • Contact phone number
  • VAT number (if applicable)
  • Any additional information you may require
Please note that we can only honor special invoicing requests that come from the personal account's email address or, in the event the request pertains to a team, the team owner's email address.
Contact us at support@zeit.co from the account's email address.
You can define up to 10 levels of subdomains for a custom domain you own. For .now.sh domains you can only use one level.
All the deployments made with a paid account or team are private by default.
If you are logged in to zeit.co, you can still access the source when going to _src.
Check our WordPress example repository.
Check our Ghost example repository.
The IP addresses of Now deployments are too dynamic and for that reason we don't provide a list of them.
Our recommendation when connecting to external services (eg. a database) is to use a strong password and SSL.
Now doesn't provide you with an email server for your custom domains. You can use now dns to setup MX records pointing to any external service.
Any HTTP authentication should be implemented inside the deployment code
For static sites you can use zeit/serve with the --auth flag.
You can read how to use private npm modules on our guide:
For private GitHub repositories you can follow the GitHub guide:
Yes, you can use now alias to move an existing alias from a deployment to another the same way you use it to assign it the first time.
Note that you can not use an alias already used by another user until they remove it.
The actual deletion of a deployment could take around a minute, but sometimes this could take longer. If your deployment is showing side-effects without a request (eg. a process running every N minutes), we recommend that you first scale it to zero instances and then remove it.
We have support for wildcard SSL certificates, but wildcard subdomains are not currently supported.
No, there is no way to release a domain after it was purchased until the next renewal date, because of that we can not give you a refund.
If you do not want to renew a domain purchased with Now Domains; remove it with the following command:
now domain rm mysite.com
Yes, we do. Let us know if you'd like our help at enterprise@zeit.co.
At the moment this is not possible.
It is not possible to download files of a deployment from the CLI nor the web, contact us at support@zeit.co from the personal account's email address or, in the event the request pertains to a team, the team owner's email address and we can help you.
While we do not have a built-in way to run scheduled tasks it is possible.
Create a deployment with a basic HTTP service running and initialize a setInterval and a second deployment with the code of your tasks running behind an HTTP server.
Every time you need to run the task the first deployment must send an HTTP request to the second deployment. Using two different deployments will let you change the code of your task without restarting the interval.
Remember to scale the first deployment to always have one running instance.
It depends on your code. Each instance belonging to a paid account or team has 1GB of RAM and 1 CPU (OSS accounts have half of each).
The amount of HTTP requests you can have per instance is based on the previous information and your code.
Your instance limit (based on your plan) is per account not per deployment. For example; if you want to have more than one running deployment you need to share those instances. Using autoscale will let you have N amount of deployments and scale as required.
You can see those metrics on your account or team dashboard.
Yes, it is possible under the /tmp folder. Note that each instance has it's own temporary directory, this mean you can lose those files under following conditions:
  • A new deployment will have a newly created temporary folder
  • Each instance of the same deployment will have it's own temporary folder.
  • If the deployment freeze (has zero running instances) when it unfreeze the temporary folder will be also cleared.
We recommend that you only do this for temporary files and use now-storage or another storage service for hosting those files indefinitely.
Both our DNS and HTTP(s) load balancing services have sophisticated DDoS protections in place.
Attacks come in very different forms and sizes. Therefore, we offer more advanced protection in the enterprise tiers.
ZEIT's login is serverless. You just need your email address and don't need to remember yet another password.
For custom requirements you can contact us at enterprise@zeit.co.
We do not currently offer support for IPv6.
Now does not block any incoming or outgoing requests.
We do not currently offer support for the 3-D Secure protocol.