> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-support-migration.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy

> Choose from Magic, Single region, or Advanced deployment options.

Magic Containers offers three deployment options: Magic deployment for effortless global provisioning, Single region for fast deployment without auto-scaling, and Advanced for full control over regions and scaling based on user activity. Before deploying, you'll need a [private container registry](/magic-containers/image-registries) configured.

# Magic deployment

<Frame>
  <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/a7425adfd3e165ff54bce0d5b569cd08fb2cafe6ebea61fa9a38fa8d69ec1bcf-Screenshot_2025-05-27_at_11.23.38.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=32374c4b926f1a4dbd9344fe647602dd" alt="" width="1107" height="293" data-path="images/docs/a7425adfd3e165ff54bce0d5b569cd08fb2cafe6ebea61fa9a38fa8d69ec1bcf-Screenshot_2025-05-27_at_11.23.38.png" />
</Frame>

**Magic deployment** is the simplest way to get your app up and running. It leverages the power of Magic Containers AI to handle global provisioning efficiently and cost-effectively.

Magic Containers AI will automatically analyze your app's requirements, determine the optimal deployment regions, and provision your app globally in just a few clicks. This approach ensures the best possible performance while minimizing costs.

<Card title="Magic Containers Quickstart" href="/magic-containers/quickstart" icon="rocket" horizontal />

# Single region deployment

**Single region deployment** gives you full control over provisioning settings, allowing you to deploy to the closest single region without the worry of any scaling. This is ideal for scenarios where you are wanting fast deployment and no auto-scaling.

<Steps>
  <Step title="Login to bunny.net">
    Login to [bunny.net dashboard](https://dash.bunny.net/auth/login?pk_buttonlocation=menu).
  </Step>

  <Step title="Add a new app">
    Select **Magic Containers** and click the **Add App** button.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/c19bb3012eb95af51d13b459983d89e94a1ffd2064bafcea65b44a3925ec2e9e-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=2ff50a3899bb522e507f9f7a26d45ea8" alt="" width="2174" height="1218" data-path="images/docs/c19bb3012eb95af51d13b459983d89e94a1ffd2064bafcea65b44a3925ec2e9e-image.png" />
    </Frame>
  </Step>

  <Step title="Select Single region deployment">
    Select the **Single region deployment** option, define the name of your app, and click **Next Step**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/w32H-OuMiEPPh72G/images/docs/f05ba05a8cc798498c7dbe489345e62c5c98ce26c0bcd0b548a9afcbe66a01bc-Screenshot_2025-05-27_at_12.50.46.png?fit=max&auto=format&n=w32H-OuMiEPPh72G&q=85&s=333c7e12db90710c7ea95cbd5b32e66f" alt="" width="1116" height="951" data-path="images/docs/f05ba05a8cc798498c7dbe489345e62c5c98ce26c0bcd0b548a9afcbe66a01bc-Screenshot_2025-05-27_at_12.50.46.png" />
    </Frame>
  </Step>

  <Step title="Configure App region">
    After selecting Single region deployment, configure your **App region**. You will be presented with your closest region preselected and a list of all available regions.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/7c91eefa4bdc3531dba7cb24599ba7ae9c70d97989fa122d5a86eebdb2c66a3f-Screenshot_2025-06-30_at_15.21.40.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=7c5d7aa17a1899bccd3e4644fbcedb1a" alt="" width="1468" height="822" data-path="images/docs/7c91eefa4bdc3531dba7cb24599ba7ae9c70d97989fa122d5a86eebdb2c66a3f-Screenshot_2025-06-30_at_15.21.40.png" />
    </Frame>

    After configuring the **App region** settings, click **Next Step.**

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/6b64dc8cd01863d95de9c06351ec9421fe52f9283dbe14dc06813164d046a82f-Screenshot_2025-06-30_at_15.22.16.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=8874dbcf3df8e56ecef6c3eb2dd2971d" alt="" width="1458" height="812" data-path="images/docs/6b64dc8cd01863d95de9c06351ec9421fe52f9283dbe14dc06813164d046a82f-Screenshot_2025-06-30_at_15.22.16.png" />
    </Frame>
  </Step>

  <Step title="Add your container">
    Click **Add Container**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/Z09ZI7FyatCuoSuT/images/docs/24b51224d1bbe27f2a261b7adc07434f699871f294faa6bb6e743521060b51b9-Single_region_-_container.png?fit=max&auto=format&n=Z09ZI7FyatCuoSuT&q=85&s=1cba199cabb7b38a37763d003cfd047a" alt="" width="1059" height="795" data-path="images/docs/24b51224d1bbe27f2a261b7adc07434f699871f294faa6bb6e743521060b51b9-Single_region_-_container.png" />
    </Frame>

    If you want your app to be available on the internet, you need to set up edge endpoints. Go to the **Endpoints** tab and click **Add New Endpoint**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/7d42129d7cc77e29db24f66ace83f264fd629282dac2140c0e701b059894a5e6-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=11358a3bad3771fed1ce2dc89c753eb4" alt="" width="1402" height="1758" data-path="images/docs/7d42129d7cc77e29db24f66ace83f264fd629282dac2140c0e701b059894a5e6-image.png" />
    </Frame>

    * You need to name the endpoint (it must have a unique name).
    * Decide how you want to expose the app, either using CDN or Anycast.
    * Define the container port, which is the port on which the application is listening inside the container.
    * Specify whether your application inside the container uses SSL for origin (only CDN setting).

    Click **Add endpoint**, and then click **Add Container**.
  </Step>

  <Step title="Review and create">
    Review your settings. If everything looks good, click **Next Step**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/aab12e2eb0c3404e4b24f164b6f73cd2586760988b27ca14726125af5671bb2c-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=e0ab31d4fba9946b3c3ada3e4940db1e" alt="" width="2008" height="1232" data-path="images/docs/aab12e2eb0c3404e4b24f164b6f73cd2586760988b27ca14726125af5671bb2c-image.png" />
    </Frame>

    Click **Confirm and Create**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/Z09ZI7FyatCuoSuT/images/docs/5729c360c08606e07c12293f8feb22e98394689c830a8068f2fd26675693bcad-image.png?fit=max&auto=format&n=Z09ZI7FyatCuoSuT&q=85&s=a2bb47e27b2d86667249682acf0021a1" alt="" width="1948" height="1722" data-path="images/docs/5729c360c08606e07c12293f8feb22e98394689c830a8068f2fd26675693bcad-image.png" />
    </Frame>

    You will be navigated to the overview screen of your app. The processing button should turn green, indicating that your app is being deployed.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/94ef88fec4933b4e13cda07cad4689dbfcb852ece64eb52babb602214f530231-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=981b28f04431ac19f9f78f40574502f6" alt="" width="2260" height="1448" data-path="images/docs/94ef88fec4933b4e13cda07cad4689dbfcb852ece64eb52babb602214f530231-image.png" />
    </Frame>

    Your application is now deployed and can be accessed by clicking here:

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/8ef79c614b1402619f36e3556b3eda7d76674394d20716e73fe2290f79fbde51-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=2a7a63078e248aaea2a5d70e5137079f" alt="" width="1052" height="128" data-path="images/docs/8ef79c614b1402619f36e3556b3eda7d76674394d20716e73fe2290f79fbde51-image.png" />
    </Frame>

    The provisioner will take your region settings into account and deploy your app accordingly.
  </Step>
</Steps>

# Advanced deployment

<Frame>
  <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/Z09ZI7FyatCuoSuT/images/docs/0b2c9b8e4451f8756fb4c187d3acbc6eb98bc4426b4a549263a156c2d2c8d83d-Advanced_Deployment.png?fit=max&auto=format&n=Z09ZI7FyatCuoSuT&q=85&s=bd69e66c8608c236684047fdc16486a6" alt="" width="481" height="283" data-path="images/docs/0b2c9b8e4451f8756fb4c187d3acbc6eb98bc4426b4a549263a156c2d2c8d83d-Advanced_Deployment.png" />
</Frame>

**Advanced deployment** gives you full control over provisioning settings, allowing you to customize the deployment regions and react to user activity. This level of customization is ideal for scenarios where you have specific geographical requirements or want to optimize your deployment strategy based on user behavior.

<Steps>
  <Step title="Login to bunny.net">
    Login to [bunny.net dashboard](https://dash.bunny.net/auth/login?pk_buttonlocation=menu).
  </Step>

  <Step title="Add a new app">
    Select **Magic Containers** and click the **Add App** button.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/c19bb3012eb95af51d13b459983d89e94a1ffd2064bafcea65b44a3925ec2e9e-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=2ff50a3899bb522e507f9f7a26d45ea8" alt="" width="2174" height="1218" data-path="images/docs/c19bb3012eb95af51d13b459983d89e94a1ffd2064bafcea65b44a3925ec2e9e-image.png" />
    </Frame>
  </Step>

  <Step title="Select Advanced deployment">
    Select the **Advanced deployment** option, define the name of your app, and click **Next Step**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/98705a609aca2581e6d48dc9bd560193d2a128da47679f48a154a9355769a8fd-Screenshot_2025-05-27_at_11.27.18.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=c999d2c50c198722b1fe15764a56d78a" alt="" width="1121" height="953" data-path="images/docs/98705a609aca2581e6d48dc9bd560193d2a128da47679f48a154a9355769a8fd-Screenshot_2025-05-27_at_11.27.18.png" />
    </Frame>
  </Step>

  <Step title="Configure Region Settings">
    You will be presented with a list of all available regions. For each region, you can set whether it is a base region or a standard region:

    * **Base region**: Regions where your app will always be deployed. You must select at least one base region and there is no maximum limit.
    * **Enabled region**: The provisioning system will actively monitor user locations and behavior. If it identifies active users in a specific region, it will dynamically deploy the app to accommodate the user traffic. Conversely, if there is no user activity in a region, the app will not be deployed in that area.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/w32H-OuMiEPPh72G/images/docs/f3476bf7b00a1dc409c5125c37ed65b90d1f255b6099a9a119944ea9833580aa-Screenshot_2025-06-30_at_15.58.52.png?fit=max&auto=format&n=w32H-OuMiEPPh72G&q=85&s=3c9d773cbab124935bed05e715255aa2" alt="" width="1456" height="1300" data-path="images/docs/f3476bf7b00a1dc409c5125c37ed65b90d1f255b6099a9a119944ea9833580aa-Screenshot_2025-06-30_at_15.58.52.png" />
    </Frame>

    Based on your settings, the provisioner will react to user activity as follows:

    * If the **Enabled Regions** and **Base Regions** are equal, the provisioner will use Static Provisioning. In this mode, the regions deployed over time will remain the same.
    * If the sets are different, the provisioner will use **Auto Provisioning**. Regions are chosen based on end-user activity. If users are active in a region, the app will be deployed there. If there are no active users in a region, the app won't be deployed.

    After configuring the region settings, click **Next Step.**
  </Step>

  <Step title="Configure instances and add container">
    Set the minimum and maximum number of instances (maximum is 10), and click **Add New Container**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/w32H-OuMiEPPh72G/images/docs/d348d268a258d52cc4b66ff09458184bdebd3ee196e0edc1a590d952246ea39a-image.png?fit=max&auto=format&n=w32H-OuMiEPPh72G&q=85&s=acbb0748bebc060dc2bbd1e0652a837b" alt="" width="1888" height="906" data-path="images/docs/d348d268a258d52cc4b66ff09458184bdebd3ee196e0edc1a590d952246ea39a-image.png" />
    </Frame>

    Select the provisioning type.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/Z09ZI7FyatCuoSuT/images/docs/064da8f98d9fe1db4a596eda7e97a4217831873772c3b2fa2ca9f0156720a29e-image.png?fit=max&auto=format&n=Z09ZI7FyatCuoSuT&q=85&s=a10e937735850b6bc25ec6350c0bc05d" alt="" width="1892" height="802" data-path="images/docs/064da8f98d9fe1db4a596eda7e97a4217831873772c3b2fa2ca9f0156720a29e-image.png" />
    </Frame>

    If you want your app to be available on the internet, you need to set up edge endpoints. Go to the **Endpoints** tab and click **Add New Endpoint**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/7d42129d7cc77e29db24f66ace83f264fd629282dac2140c0e701b059894a5e6-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=11358a3bad3771fed1ce2dc89c753eb4" alt="" width="1402" height="1758" data-path="images/docs/7d42129d7cc77e29db24f66ace83f264fd629282dac2140c0e701b059894a5e6-image.png" />
    </Frame>

    * You need to name the endpoint (it must have a unique name).
    * Decide how you want to expose the app, either using CDN or Anycast.
    * Define the container port, which is the port on which the application is listening inside the container.
    * Specify whether your application inside the container uses SSL for origin (only CDN setting).

    Click **Add endpoint**, and then click **Add Container**.
  </Step>

  <Step title="Review and create">
    Review your settings. If everything looks good, click **Next Step**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/aab12e2eb0c3404e4b24f164b6f73cd2586760988b27ca14726125af5671bb2c-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=e0ab31d4fba9946b3c3ada3e4940db1e" alt="" width="2008" height="1232" data-path="images/docs/aab12e2eb0c3404e4b24f164b6f73cd2586760988b27ca14726125af5671bb2c-image.png" />
    </Frame>

    Click **Confirm and Create**.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/Z09ZI7FyatCuoSuT/images/docs/5729c360c08606e07c12293f8feb22e98394689c830a8068f2fd26675693bcad-image.png?fit=max&auto=format&n=Z09ZI7FyatCuoSuT&q=85&s=a2bb47e27b2d86667249682acf0021a1" alt="" width="1948" height="1722" data-path="images/docs/5729c360c08606e07c12293f8feb22e98394689c830a8068f2fd26675693bcad-image.png" />
    </Frame>

    You will be navigated to the overview screen of your app. The processing button should turn green, indicating that your app is being deployed.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/94ef88fec4933b4e13cda07cad4689dbfcb852ece64eb52babb602214f530231-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=981b28f04431ac19f9f78f40574502f6" alt="" width="2260" height="1448" data-path="images/docs/94ef88fec4933b4e13cda07cad4689dbfcb852ece64eb52babb602214f530231-image.png" />
    </Frame>

    Your application is now deployed and can be accessed by clicking here:

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2-support-migration/RpQ-CUm87OlkPU-U/images/docs/8ef79c614b1402619f36e3556b3eda7d76674394d20716e73fe2290f79fbde51-image.png?fit=max&auto=format&n=RpQ-CUm87OlkPU-U&q=85&s=2a7a63078e248aaea2a5d70e5137079f" alt="" width="1052" height="128" data-path="images/docs/8ef79c614b1402619f36e3556b3eda7d76674394d20716e73fe2290f79fbde51-image.png" />
    </Frame>

    The provisioner will take your region settings into account and deploy your app accordingly.
  </Step>
</Steps>
