> ## Documentation Index > Fetch the complete documentation index at: https://bunny.net/docs/llms.txt > Use this file to discover all available pages before exploring further. # Bunny Container Registry > Push container images to your private bunny.net registry and deploy them with Magic Containers. > [!NOTE] > > Bunny Container Registry is in **Preview**. Usage is temporarily free during the Preview phase. Features and commands may change. See [Product Release Stages](https://bunny.net/docs/product-release-stages.md) for details. Bunny Container Registry is a private, OCI-compliant container registry built into bunny.net. Push images from your machine or CI pipeline and they immediately show up in the Magic Containers image list, ready to deploy. No external registry or credential setup required. The registry is available at `registry.bunny.net`. Repositories are private to your account and namespaced by your account ID (`/my-app`). The [bunny.net CLI](https://bunny.net/docs/cli.md) manages this namespace for you, so you only need your account ID when [pushing with Docker directly](#pushing-with-docker). > [!NOTE] > > Magic Containers only supports images built for the **linux/amd64** architecture. When building your container image, ensure you target this platform using `--platform linux/amd64`. ## Quickstart The recommended way to push images is with the [bunny.net CLI](https://bunny.net/docs/cli.md). > [!NOTE] > > `bunny registry` is **experimental** and may change in future releases. **1. Install the bunny.net CLI and log in** If you haven't already, [install the CLI](https://bunny.net/docs/cli/installation.md) and authenticate: ```bash theme={null} bunny login ``` **2. Push your image** Push a local Docker image by name. The CLI tags it for the registry and pushes it under your account namespace automatically: ```bash theme={null} bunny registry push my-app:latest ``` `push` shells out to the Docker CLI, so Docker must be installed and the image must exist in Docker's image store. **3. Deploy it** The image now appears in the Magic Containers image list. Select it when you [deploy](https://bunny.net/docs/magic-containers/deploy.md) or [update](https://bunny.net/docs/magic-containers/update.md) an app; no registry credentials need to be configured. ## Using the bunny.net CLI The [`bunny registry`](https://bunny.net/docs/cli/commands/registry) command pushes images and lists repositories and tags on the registry. Unlike Docker, you don't need to tag images with the registry host or your account ID: the CLI adds and hides the account namespace automatically, so you always work with the bare repository name. **1. Push to an explicit repository and tag** Without flags, `push` derives the repository and tag from the image name. Override either with flags: ```bash theme={null} bunny registry push my-app:dev --repository my-app --tag v1 ``` **2. List repositories and tags** Verify the push by listing what's on the registry: ```bash theme={null} # List repositories (alias: ls) bunny registry list # List tags for a repository bunny registry tags my-app ``` `list` and `tags` talk to the registry directly and don't require Docker. ## Pushing with Docker If you can't use the bunny.net CLI, for example in a CI pipeline where only Docker is available, you can push images with Docker directly. Unlike the CLI, you handle authentication and the account namespace yourself. **1. Log in to the registry** Authenticate with `token` as the username and your [API key](https://bunny.net/docs/account/api-keys.md) as the password: ```bash theme={null} docker login registry.bunny.net --username token ``` **2. Tag your image** Tag the image with the registry host and your account ID. Replace `my-app` with the name of your image and `` with your account ID: ```bash theme={null} docker tag my-app registry.bunny.net//my-app:latest ``` > [!TIP] > > Run [`bunny whoami`](https://bunny.net/docs/cli/commands/auth#bunny-whoami) to get your account ID. You can also find it in the dashboard: go to [Image Registries](https://dash.bunny.net/magic-containers/image-registries) and click **How to Push Images** to see these Docker commands with your account ID already filled in. **3. Push the image** ```bash theme={null} docker push registry.bunny.net//my-app:latest ``` Once pushed, the image appears in the Magic Containers image list, where you can select it to deploy. ## Deploying pushed images Images pushed to the Bunny Container Registry appear automatically in the image list when you [deploy](https://bunny.net/docs/magic-containers/deploy.md) or [update](https://bunny.net/docs/magic-containers/update.md) a Magic Containers app. Select the repository and tag to deploy; no registry credentials need to be configured. To automate the whole flow, so every push to your repository builds an image, pushes it to the registry, and rolls it out, see [Deploy with GitHub Actions](https://bunny.net/docs/magic-containers/deploy-with-github-actions.md). ## Limits The following limits apply to each account: * Repositories per account: 100. * Tags per account: 1,000, counted across all of your repositories. * Blobs per account: 5,000. Blobs are the layers and image configs that make up your images. A layer shared by several images or repositories in your account is stored and counted once. * Maximum image size: 10 GB, counting the image config and all layers. No single layer upload may exceed it either. * Maximum total storage: 100 GB. > [!NOTE] > > Your images are stored in a single storage zone in the Germany (DE) region. If you need your registry replicated to more regions, [contact support](https://bunny.net/contact/). This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.