LogoLogo
edgegap.comDashboard
  • 📘Learning Center
    • Getting Started
    • Unreal Engine Games
      • Getting Started - Servers
      • Developer Tools
    • Unity Games
      • Getting Started - Servers
      • Developer Tools
    • Matchmaking
      • Getting Started
      • Matchmaker In-Depth
      • Ping Beacons
    • Advanced Features
      • Apps and Versions
      • Deployments
      • Managed Clusters
  • API Reference
    • Dedicated Servers
    • Integration
    • Matchmaking
    • Peer to Peer
  • Release Notes
    • Archive
  • 📚Documentation
    • Sample Projects
      • Unreal Engine
        • Lyra Sample
        • Top-Down Sample
      • Unity
        • Photon Fusion 2
        • Photon Fusion 1
        • Unity NGO
        • Mirror Pong
        • Mirror
        • Fishnet
        • Photon Bolt
        • Mirror WebGL
        • Fishnet WebGL
      • NuxtJS
      • Ruby On Rails
    • Tools & Integrations
      • Container
        • What is Docker
        • Your First Docker
        • SSH in Your Container
        • External Registries
          • Docker Hub
          • AWS ECR
          • GCP GCR
          • Gitlab registry
      • Deploy from Nakama
      • EOS Lobby Integration
      • Switch From Gamelift
      • Switch From Multiplay
      • Playfab Bridge
    • Container Registry
    • Deployment
      • Endpoint Storage
        • How to Save Logs
        • Upload File to Deployment
      • Webhooks
    • Session
      • How They Work
      • Application Version Configuration
      • Manage Request
      • Selectors Filtering
    • Fleet
      • Fleet Policy
      • Policy Filter
      • Linking Version
      • Fleet's Deployment
    • Relays (P2P)
      • Relay Edgegap API
      • Transport Samples
      • Game Integration
    • Glossary
    • SLA Terms
Powered by GitBook
On this page
  1. 📚Documentation
  2. Tools & Integrations
  3. Container
  4. External Registries

GCP GCR

PreviousAWS ECRNextGitlab registry

Last updated 5 months ago

Was this helpful?

LogoLogo

Connect with Community

  • Discord
  • Linkedin
  • X

Read More

  • Release Notes
  • Blog
  • llms-full.txt

Useful Links

  • edgegap.com
  • Enterprise
  • Legal

© 2025 Edgegap

CtrlK
  • Use Edgegap with Google Container Registry
  • You need to have on hand
  • To get this information, go to GCP Console
  • Split the Full Repository Name
  • Generate your JSON Key File
  • Add the app on Edgegap

Was this helpful?

Use Edgegap with Google Container Registry

You need to have on hand

To get this information, go to GCP Console

  1. Go to your Project

  2. Go to Container Registry

  3. Copy the Full Repository Name

Split the Full Repository Name

Given this Full Repository: gcr.io/project-name/example

Your Repository will be: gcr.io

and your Image will be: project-name/example

Generate your JSON Key File

Follow GCP Steps to generate this file.

Please Verify that your Google Service Account has the right permissions to manage your container registry

You will end with a file that contains something similar

{
  "type": "service_account",
  "project_id": "project-name",
  "private_key_id": "12345abcdef12345",
  "private_key": "-----BEGIN PRIVATE KEY-----\n[...]\n-----END PRIVATE KEY-----\n",
  "client_email": "[email protected]",
  "client_id": "1234567890",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40project-name.iam.gserviceaccount.com"
}

Add the app on Edgegap

API Example

The username will always be _json_key

{
    [...]
    "docker_repository": "gcr.io",
    "docker_image": "project-name/repository-name",
    "docker_tag": "v1",
    "private_username": "_json_key",
    "private_token": "<The Content of JSON key file as JSON String>",
    [...]
}

The Private Token will look something like this

{
    [...]
    "private_token": "{\"type\": \"service_account\", \"project_id\": \"project-name\", \"private_key_id\": \"12345abcdef12345\", \"private_key\": \"-----BEGIN PRIVATE KEY-----\\n[...]\\n-----END PRIVATE KEY-----\\n\", \"client_email\": \"[email protected]\", \"client_id\": \"1234567890\", \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\", \"token_uri\": \"https://oauth2.googleapis.com/token\", \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\", \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example%40project-name.iam.gserviceaccount.com\"}",
    [...]
}

From Dashboard

From our Dashboard, The Private registry token will be the content of your JSON key file

You can copy the content directly without Stringify it