supabase / cli

Supabase CLI. Manage postgres migrations, run Supabase locally, deploy edge functions. Postgres backups. Generating types from your database schema.
https://supabase.com/docs/reference/cli/about
MIT License
1.02k stars 201 forks source link

failed to pull docker image #1938

Closed jdgamble555 closed 5 months ago

jdgamble555 commented 7 months ago

Describe the bug When I run supabase start I get this error:

failed to pull docker image: Error response from daemon: manifest for public.ecr.aws/supabase/gotrue:2.139.2-rc.7
not found: manifest unknown: Requested image not found

To Reproduce Install the latest version of supabase:

"supabase": "^1.142.2",

Expected behavior No errors

System information Rerun the failing command with --create-ticket flag (preferred).

J

jdgamble555 commented 7 months ago

So I temporarily fixed it by removing the version in supabase/.temp/gotrue-version, however, it still wants to link to a non-existent version:

You are running outdated service versions locally:
supabase/gotrue:v2.132.3 => 2.139.2-rc.7
Run supabase link to update them.

Should the cloud version be using a version that is not downloadable? This breaks the link.

J

sweatybridge commented 7 months ago

It looks like we don't have version 2.139.2-rc.7 published on docker hub. I will ping our auth team to take a look. Sorry for the inconvenience.

pidanou commented 7 months ago

I have somewgat the same issue with gotrue:v2.142.0

docker pull public.ecr.aws/supabase/gotrue:v2.142.0 works fine but when i run supabase start i have:

failed to pull docker image: invalid reference format
Retrying after 8s: public.ecr.aws/supabase/gotrue:2.142.0

failed to pull docker image: invalid reference format

By the way, it seems like the client looks for: gotrue:2.142.0 instead of gotrue:v2.142.0

Mikodin commented 7 months ago

We're in the same boat over here https://github.com/supabase/supabase/issues/21300

So I temporarily fixed it by removing the version in supabase/.temp/gotrue-version, however, it still wants to link to a non-existent version:

You are running outdated service versions locally:
supabase/gotrue:v2.132.3 => 2.139.2-rc.7
Run supabase link to update them.

Should the cloud version be using a version that is not downloadable? This breaks the link.

J

This worked, all I had to do was add a v in front of the version number in supabase/.temp/gotrue-version

sweatybridge commented 7 months ago

Can you try deleting any new line characters in the version file? I will also update the code to handle this better

stefan-girlich commented 7 months ago

@sweatybridge Sorry - I accidentally deleted my previous content; restoring it below:

I am getting a new error after hotfixng supabase/.temp/gotrue-version to include the "v" character:

➜  supabase db pull
Connecting to remote database...
Setting up initial schema....
failed to pull docker image: invalid reference format
Retrying after 4s: public.ecr.aws/supabase/gotrue:v2.142.0

@sweatybridge It seems there are no newline characters in the file. I will check if vim left any kind of control characters.

Update: This did the trick: echo -n "v2.142.0" > supabase/.temp/gotrue-version

gillesmag commented 7 months ago

I just ran into the same issue, pulling the image with the v tag prefix and tagging the image with the expected image name fixed it for me.

docker pull public.ecr.aws/supabase/gotrue:v2.142.0 && docker tag public.ecr.aws/supabase/gotrue:v2.142.0 public.ecr.aws/supabase/gotrue:2.142.0
jdgamble555 commented 7 months ago

@sweatybridge - I'm still getting the error:

failed to pull docker image: Error response from daemon: manifest for public.ecr.aws/supabase/gotrue:2.139.2-rc.7 
not found: manifest unknown: Requested image not found

When running npx supabase start. Your team has not added it yet.

J

gillesmag commented 7 months ago

@sweatybridge - I'm still getting the error:

failed to pull docker image: Error response from daemon: manifest for public.ecr.aws/supabase/gotrue:2.139.2-rc.7 
not found: manifest unknown: Requested image not found

When running npx supabase start. Your team has not added it yet.

J

Did you upgrade your supabase cli? That also helped me.

jdgamble555 commented 7 months ago

Yes, I'm using 1.142.2.

gillesmag commented 7 months ago

Do you have v2.142.0 in your supabase/.temp/gotrue-version file?

jdgamble555 commented 7 months ago

No because then it will ask me to relink. That is not the version installed on the cloud. Also, that is supabase cli you're talking about, not gotrue. If I change the version, I get:

You are running outdated service versions locally:
supabase/gotrue:v2.132.3 => 2.139.2-rc.7
Run supabase link to update them.

@gillesmag - Run npx supabase link (which will update your gotrue version), then npx supabase start and I bet yours isn't fixed.

J

gillesmag commented 7 months ago
Screenshot 2024-02-16 at 13 54 58

It is for my project. I reran supabase link (which did nothing since my versions are all synced) and supabase start works fine for me now. I created the project on supabase a couple of hours ago so that might be why I don't have the gotrue version issue that you're mentioning.

jdgamble555 commented 7 months ago

Yes, I can upgrade my project, but that doesn't fix the underlying problem.

jdgamble555 commented 7 months ago

@sweatybridge - There is definitely a bug here. I upgraded my supabase project by going to settings --> infrastructure in the cloud. I am now using the latest version.

The problem is a bug with supabase link. It does not seem to add the v to v2.142.0.

failed to pull docker image: Error response from daemon: manifest for public.ecr.aws/supabase/gotrue:2.142.0 
not found: manifest unknown: Requested image not found

I can add the v to it so that it is v2.142.0, but then I get this error when running supabase start:

You are running outdated service versions locally:
supabase/gotrue:v2.142.0 => 2.142.0

Obviously they are the same version, but supabase start does not realize this because the code does not take the v into account. This is a problem and a bug with supabase link AND supabase start.

J

sweatybridge commented 7 months ago

Turns out the v prefix was accidentally dropped from gotrue's /health endpoint response but the docker image was still tagged as v2.142.0. There's an upstream PR to fix it. Once it's rolled out, running link and start should work again.

stefkudla commented 7 months ago

I could not get any of the older versions or fixed mentioned above to work unfortunately, as this issue just started happening for me today. Deleting the supabase/.temp/gotrue-version file worked for me