Upload Docker Image Failed

Docker image upload failed during deploy of candidate with this error:

no_id: Error name unknown: The repository with name 'mynamespace/press.example.com/bench-0001' does not exist in the registry with id 'b1c1d1e2'

I am using AWS public ECR and my registry url is: public.ecr.aws/b1c1d1e2.

I have created a namespace mynamespace in AWS ECR. There are no other resources there.
Note:
Servers: n1.press.example.com, f1.press.example.com, m1.press.example.com
Press is running on a different server.

Do I have to manually push docker image or manually create the ‘mynamespace/press.example.com/bench-0001’ repo before deploying ?

Did you updated the registry details in the press settings?

Yes.

I solved it by manually creating the repo it was asking for: mynamespace/press.example.com/bench-0001

But I think that should not be the way to handle this.

Bro i have a small doubt on the registry server here…

If my current registry server becomes full, can I set up a new registry server and update the Press Console settings to point to it? Are there any dependencies I should be aware of when switching from the old registry to the new one? Will changing the registry affect any existing sites or running containers? Also, is the registry server used only for pushing and pulling Docker images, or does it serve any other purpose? How exactly can I safely switch to a new registry server without causing issues?

I think you can’t switch registry services if you still need old data.

I believe, the Press first uploads docker image of the apps that you deploy. Then when you/your users create a site from that image / bench using that image, Press looks for that particular docker image in the registry. If you switch registry, then all deployments made before changing are now useless.

However, if old deployment images are not needed and you are creating new release groups for newer versions, then I think you can switch registry without problem. In that case, all previously created sites must work fine unless you try to update (may be).

I suggest you the following (since you already have an up and running Press)

  1. Switch the registry.
  2. Create a new site from existing bench.
  3. Does it throw any error ?
    If it does, then I am right. :smiley:

Also, I have a question:

Is this the only way ? Or is the repo created automatically ?

for me i setup registry server and press handled everything for me …i just pasted the details in press settings and it worked out of the box …

Also how will i upgrade my registry server now :slight_smile:

Which registry are you using ?

I am using AWS ECR for these reasons:

  1. Both new and existing customers get 50 GB per month of always-free storage for their public repositories.
  2. I am using public repos for this reason:

Read here. Fully Managed Container Registry – Amazon Elastic Container Registry Pricing - Amazon Web Services

I am facing two issues with AWS:

  1. The repository with name 'mynamespace/press.example.com/bench-0001' does not exist in the registry with id 'b1c1d1e2'
    Which is why I had opened this thread.

To solve this, I manually create repos for now.

  1. Another issue, I have asked here. AWS ECR authorization token for Frappe Cloud

I think there is a way.

You can try to create another registry in AWS may be and then replicate everything from existing registry to this one.

I’m still undecided about migrating the registries to AWS. I’m not fully aware of the risk factors involved yet, so I want to evaluate things more thoroughly.

From a cost-efficiency standpoint, Hetzner Cloud currently offers excellent value so for now, I’m leaning toward simply upgrading my existing registry server there in the future. Still weighing all options before locking anything in.