Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ topics:
product: '{% data reusables.gated-features.codespaces %}'
shortTitle: Private image registry
---

## About private image registries and {% data variables.product.prodname_codespaces %}

A registry is a secure space for storing and managing private container images, such as Azure Container Registry or DockerHub. You can create secrets in GitHub to store the access details for a private registry and use them to give your codespace access to images stored in the registry.

When you launch a codespace, {% data variables.product.prodname_codespaces %} checks for three secrets, which define the server name, username, and personal access token (PAT) for a container registry. If these secrets are found, {% data variables.product.prodname_codespaces %} will make the registry available inside your codespace.
Expand All @@ -18,11 +21,32 @@ When you launch a codespace, {% data variables.product.prodname_codespaces %} ch

You can store secrets at the user, repository, or organization-level, allowing you to share them securely between different codespaces. When you create a set of secrets for a private image registry, you need to replace the “<*>” in the name with a consistent identifier. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)" and "[Managing encrypted secrets for your repository and organization for Codespaces](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces)."

For example, if you had a private image registry in Azure, you could create the following secrets:
If you are setting the secrets at the user or organization level, make sure to assign those secrets to the repository you'll be creating the codespace in by choosing an access policy from the dropdown list.

![Image registry secret example](/assets/images/help/codespaces/secret-repository-access.png)

## Example secrets

For a private image registry in Azure, you could create the following secrets:

```
ACR_CONTAINER_REGISTRY_SERVER = mycompany.azurecr.io
ACR_CONTAINER_REGISTRY_USER = acr-user-here
ACR_CONTAINER_REGISTRY_PASSWORD = <PAT>
```

For information on common image registries, see "[Common image registry servers](#common-image-registry-servers)."

![Image registry secret example](/assets/images/help/settings/codespaces-image-registry-secret-example.png)

Once you've added the secrets, you may need to stop and then start the codespace you are in for the new environment variables to be passed into the container. For more information, see "[Suspending or stopping a codespace](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)."

## Common image registry servers

Some of the common image registry servers are listed below:

- [DockerHub](https://docs.docker.com/engine/reference/commandline/info/) - `https://index.docker.io/v1/`
- [GitHub Container Registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry) - `ghcr.io`
- [Azure Container Registry](https://docs.microsoft.com/azure/container-registry/) - `<registry name>.azurecr.io`
- [Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html) - `<aws_account_id>.dkr.ecr.<region>.amazonaws.com`
- [Google Cloud Container Registry](https://cloud.google.com/container-registry/docs/overview#registries) - `gcr.io` (US), `eu.gcr.io` (EU), `asia.gcr.io` (Asia)
4 changes: 4 additions & 0 deletions content/get-started/learning-about-github/githubs-products.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ In addition to the features available with {% data variables.product.prodname_fr
- Draft pull requests
- Team pull request reviewers
- Scheduled reminders
{% ifversion fpt %}
- The option to enable {% data variables.product.prodname_github_codespaces %}
- Organization owners can enable {% data variables.product.prodname_github_codespaces %} for the organization by setting a spending limit and granting user permissions for members of their organization. For more information, see "[Enabling Codespaces for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)."
{% endif %}

{% data reusables.github-actions.actions-billing %}

Expand Down
10 changes: 5 additions & 5 deletions lib/rest/static/decorated/api.github.com.json
Original file line number Diff line number Diff line change
Expand Up @@ -66377,7 +66377,7 @@
}
],
"summary": "Sync a fork branch with the upstream repository",
"description": "Sync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"description": "**Note:** This endpoint is currently in beta and subject to change.\n\nSync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"tags": [
"repos"
],
Expand Down Expand Up @@ -66417,16 +66417,16 @@
"enabledForGitHubApps": true,
"previews": [],
"category": "repos",
"subcategory": "merging-upstream"
"subcategory": "branches"
},
"slug": "sync-a-fork-branch-with-the-upstream-repository",
"category": "repos",
"categoryLabel": "Repos",
"subcategory": "merging-upstream",
"subcategoryLabel": "Merging upstream",
"subcategory": "branches",
"subcategoryLabel": "Branches",
"contentType": "application/json",
"notes": [],
"descriptionHTML": "<p>Sync a branch of a forked repository to keep it up-to-date with the upstream repository.</p>",
"descriptionHTML": "<p><strong>Note:</strong> This endpoint is currently in beta and subject to change.</p>\n<p>Sync a branch of a forked repository to keep it up-to-date with the upstream repository.</p>",
"bodyParameters": [
{
"type": "string",
Expand Down
10 changes: 5 additions & 5 deletions lib/rest/static/decorated/github.ae.json
Original file line number Diff line number Diff line change
Expand Up @@ -56049,7 +56049,7 @@
}
],
"summary": "Sync a fork branch with the upstream repository",
"description": "Sync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"description": "**Note:** This endpoint is currently in beta and subject to change.\n\nSync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"tags": [
"repos"
],
Expand Down Expand Up @@ -56089,16 +56089,16 @@
"enabledForGitHubApps": true,
"previews": [],
"category": "repos",
"subcategory": "merging-upstream"
"subcategory": "branches"
},
"slug": "sync-a-fork-branch-with-the-upstream-repository",
"category": "repos",
"categoryLabel": "Repos",
"subcategory": "merging-upstream",
"subcategoryLabel": "Merging upstream",
"subcategory": "branches",
"subcategoryLabel": "Branches",
"contentType": "application/json",
"notes": [],
"descriptionHTML": "<p>Sync a branch of a forked repository to keep it up-to-date with the upstream repository.</p>",
"descriptionHTML": "<p><strong>Note:</strong> This endpoint is currently in beta and subject to change.</p>\n<p>Sync a branch of a forked repository to keep it up-to-date with the upstream repository.</p>",
"bodyParameters": [
{
"type": "string",
Expand Down
4 changes: 2 additions & 2 deletions lib/rest/static/dereferenced/api.github.com.deref.json
Original file line number Diff line number Diff line change
Expand Up @@ -282443,7 +282443,7 @@
"/repos/{owner}/{repo}/merge-upstream": {
"post": {
"summary": "Sync a fork branch with the upstream repository",
"description": "Sync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"description": "**Note:** This endpoint is currently in beta and subject to change.\n\nSync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"tags": [
"repos"
],
Expand Down Expand Up @@ -282543,7 +282543,7 @@

],
"category": "repos",
"subcategory": "merging-upstream"
"subcategory": "branches"
}
}
},
Expand Down
4 changes: 2 additions & 2 deletions lib/rest/static/dereferenced/github.ae.deref.json
Original file line number Diff line number Diff line change
Expand Up @@ -230547,7 +230547,7 @@
"/repos/{owner}/{repo}/merge-upstream": {
"post": {
"summary": "Sync a fork branch with the upstream repository",
"description": "Sync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"description": "**Note:** This endpoint is currently in beta and subject to change.\n\nSync a branch of a forked repository to keep it up-to-date with the upstream repository.",
"tags": [
"repos"
],
Expand Down Expand Up @@ -230647,7 +230647,7 @@

],
"category": "repos",
"subcategory": "merging-upstream"
"subcategory": "branches"
}
}
},
Expand Down