> ## Documentation Index
> Fetch the complete documentation index at: https://hercules.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Environments

> Run your app in separate production and development environments. Add development deployments with their own database, functions, and secrets to test changes safely.

Every app has two environments: **Production** (your live app) and **Development** (isolated backends you use to test changes). A development deployment is a second backend with its own database, functions, and secrets, so you can try changes without risking real user data.

<Warning>
  Creating new deployments is deprecated in favor of [branches](/docs/apps/branches). The ability to
  create new deployments will be removed in the coming weeks. Everything else on this page still
  applies to your existing deployments.
</Warning>

<div className="screenshot ocean">
  <img src="https://mintcdn.com/zeus-0f6dadbf/i_m6uEKZ9B8OoR-9/images/apps/deployments.png?fit=max&auto=format&n=i_m6uEKZ9B8OoR-9&q=85&s=29d028ed881b6586502fda97122ba7bb" alt="Backend screen showing production and development deployments" width="2354" height="1214" data-path="images/apps/deployments.png" />
</div>

### When should I add a development deployment?

Add one when you want a safe place to try changes before they reach real users. Common reasons:

* Test a migration or schema change against throwaway data
* Experiment with a new integration or API key
* Let teammates try a feature without polluting production data

### How do I create a development deployment?

1. Open your app in the Dashboard
2. Go to **Advanced** → **Backend**
3. Click **Add deployment**
4. Fill in a name (optional) and pick a region
5. Click **Confirm**

Hercules provisions the development deployment for you. This usually takes less than a minute.

### How is the development environment different from production?

* **Separate database.** Development deployments start empty. Nothing from production is copied over.
* **Separate secrets.** Only secrets scoped to the development environment are available. See [Secrets](/docs/apps/secrets).
* **Separate URL.** Each development deployment has its own URL, so frontend requests from development don't hit production.
* **Separate region.** You can pick a different region from your production deployment.

### Can I have more than one development deployment per app?

Yes. Each app can have one production deployment and up to 5 development deployments.

### How do I rename a development deployment?

On the **Backend** screen, open the deployment's actions menu and click **Edit**. You can update the display name and reference.

### How do I delete a development deployment?

On the **Backend** screen, open the deployment's actions menu and click **Delete**. Type the confirmation text shown in the dialog, then click **Delete**. This permanently deletes the deployment and all its data. Production deployments cannot be deleted.

<Warning>
  Deleting a development deployment erases its database. There is no undo. If you need the data,
  export it first.
</Warning>

### How do I pause a development deployment?

On the **Backend** screen, open the deployment's actions menu, click **Pause**, then click **Pause deployment** in the dialog. This works for branch deployments too. Its functions, crons, and scheduled jobs stop, and anything that uses the deployment stops working, including Hercules pushing backend changes from that branch's chats. Its data is kept, and the deployment shows a **Paused** badge.

To start it again, open the same menu and click **Resume**.

<AccordionGroup>
  <Accordion title="Why can't I resume a paused deployment?">
    The **Resume** option only appears for deployments you paused yourself. A deployment paused for a
    negative balance resumes once you add credits. For any other pause by Hercules, contact support.
  </Accordion>

  <Accordion title="Why can't I pause a deployment?">
    Production cannot be paused from the Backend screen. If your app still needs its auth upgrade,
    upgrade auth first.
  </Accordion>

  <Accordion title="Do I need a development deployment to build with Hercules?">
    No. Every app gets a production deployment automatically. Development deployments are optional.
  </Accordion>

  <Accordion title="Which region does a new development deployment use?">
    It defaults to your organization's region. You can pick a different region when you create it.
    Currently available: US East (N. Virginia), EU West (Ireland), Canada Central (Montreal), and Asia
    Pacific (Sydney).
  </Accordion>

  <Accordion title="Are my secrets shared between production and development?">
    Only secrets you've scoped to the development environment are available in development
    deployments. Production-only secrets stay in production.
  </Accordion>

  <Accordion title="Can I copy production data into a development deployment?">
    Yes. On the **Backend** screen, open the development deployment's actions menu and click **Clone
    data from production**. A snapshot from production is restored into the development deployment,
    and its existing data is replaced.
  </Accordion>

  <Accordion title="Can I see which functions are being called?">
    Yes. Open a deployment's actions menu and click **View function usage** to see a per-function
    breakdown of call count, database bandwidth, and action compute. You can filter by last 24 hours,
    3 days, 7 days, 30 days, or 90 days.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.