LooLzzz / docking-station

168 stars 2 forks source link

docker.io registry doesn't seem to be supported #7

Open neovov opened 1 month ago

neovov commented 1 month ago

Hi 👋!

Thank you for docking-station! I installed it today and I had an issue with some containers:

ERROR:    2024-07-23 00:03:56 [uvicorn.error] Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 72, in app
    response = await func(request)
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/settings/cache.py", line 231, in inner
    ret = await ensure_async_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/settings/cache.py", line 136, in ensure_async_func
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/routes/stacks.py", line 29, in list_compose_stacks
    return await docker_services.list_compose_stacks(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/services/docker.py", line 167, in list_compose_stacks
    stacks = await asyncio.gather(*[
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/services/docker.py", line 159, in _task
    stack.services = await list_containers(
                     ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/services/docker.py", line 68, in list_containers
    await asyncio.gather(*[
  File "/app/docking-station-app/src/app/api/services/docker.py", line 56, in _task
    res.image = await get_image(
                ^^^^^^^^^^^^^^^^
  File "/app/docking-station-app/src/app/api/services/docker.py", line 147, in get_image
    raise KeyError(repository_or_tag)
KeyError: 'docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0'

Latest version of Immich uses docker.io for its redis and pgvecto containers.

In the meantime, I added:

labels:
  - com.loolzzz.docking-station.enabled=false

In the containers' definition in the docker compose file for Immich.

LooLzzz commented 1 month ago

Thank you for narrowing it down to docker.io!

I will look for a workaround

DragonHeart69 commented 5 days ago

When you remove this text in de image: tag, it work again.

All images are on the default docker hub.

Maybe you can create a check function and remove the parts automatic?