My Dockerfile pulls the latest Wolfi image like so:
FROM langchain/langgraph-api:3.13-wolfi
Building it again yesterday, my app won’t start due to error messages:
2026-01-21T11:02:34.752553+00:00 app[web.1]: 2026-01-21T11:02:34.752439Z [error ] Traceback (most recent call last):
2026-01-21T11:02:34.752571+00:00 app[web.1]: File “/api/langgraph_api/grpc/client.py”, line 280, in wait_until_grpc_ready
2026-01-21T11:02:34.752572+00:00 app[web.1]: File “/api/langgraph_api/grpc/client.py”, line 115, in healthcheck
2026-01-21T11:02:34.752572+00:00 app[web.1]: File “/usr/lib/python3.13/site-packages/grpc/aio/_call.py”, line 328, in await
2026-01-21T11:02:34.752573+00:00 app[web.1]: raise _create_rpc_error(
2026-01-21T11:02:34.752573+00:00 app[web.1]: …<2 lines>…
2026-01-21T11:02:34.752574+00:00 app[web.1]: )
2026-01-21T11:02:34.752575+00:00 app[web.1]: grpc.aio._call.AioRpcError: <AioRpcError of RPC that terminated with:
2026-01-21T11:02:34.752575+00:00 app[web.1]: status = StatusCode.UNAVAILABLE
2026-01-21T11:02:34.752589+00:00 app[web.1]: details = “failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:50051: Failed to connect to remote host: connect: Connection refused (111)”
2026-01-21T11:02:34.752592+00:00 app[web.1]: debug_error_string = “UNKNOWN:Error received from peer {grpc_status:14, grpc_message:“failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:50051: Failed to connect to remote host: connect: Connection refused (111)”}”
2026-01-21T11:02:34.752593+00:00 app[web.1]: >
2026-01-21T11:02:34.752593+00:00 app[web.1]:
2026-01-21T11:02:34.752593+00:00 app[web.1]: The above exception was the direct cause of the following exception:
2026-01-21T11:02:34.752593+00:00 app[web.1]:
2026-01-21T11:02:34.752594+00:00 app[web.1]: Traceback (most recent call last):
2026-01-21T11:02:34.752594+00:00 app[web.1]: File “/usr/lib/python3.13/site-packages/starlette/routing.py”, line 694, in lifespan
2026-01-21T11:02:34.752595+00:00 app[web.1]: async with self.lifespan_context(app) as maybe_state:
2026-01-21T11:02:34.752595+00:00 app[web.1]: ~~~~~~~~~~~~~~~~~~~~~^^^^^
2026-01-21T11:02:34.752595+00:00 app[web.1]: File “/usr/lib/python3.13/contextlib.py”, line 214, in aenter
2026-01-21T11:02:34.752596+00:00 app[web.1]: return await anext(self.gen)
2026-01-21T11:02:34.752596+00:00 app[web.1]: ^^^^^^^^^^^^^^^^^^^^^
2026-01-21T11:02:34.752597+00:00 app[web.1]: File “/api/langgraph_api/timing/timer.py”, line 227, in combined_lifespan
2026-01-21T11:02:34.752597+00:00 app[web.1]: File “/usr/lib/python3.13/contextlib.py”, line 668, in enter_async_context
2026-01-21T11:02:34.752597+00:00 app[web.1]: result = await _enter(cm)
2026-01-21T11:02:34.752597+00:00 app[web.1]: ^^^^^^^^^^^^^^^^
2026-01-21T11:02:34.752597+00:00 app[web.1]: File “/usr/lib/python3.13/contextlib.py”, line 214, in aenter
2026-01-21T11:02:34.752598+00:00 app[web.1]: return await anext(self.gen)
2026-01-21T11:02:34.752598+00:00 app[web.1]: ^^^^^^^^^^^^^^^^^^^^^
2026-01-21T11:02:34.752598+00:00 app[web.1]: File “/usr/lib/python3.13/site-packages/langgraph_runtime_postgres/lifespan.py”, line 97, in lifespan
2026-01-21T11:02:34.752598+00:00 app[web.1]: await wait_until_grpc_ready()
2026-01-21T11:02:34.752598+00:00 app[web.1]: File “/api/langgraph_api/grpc/client.py”, line 289, in wait_until_grpc_ready
2026-01-21T11:02:34.752598+00:00 app[web.1]: RuntimeError: gRPC server not ready after 10.0s (reached max attempts: 20)
I also see that recently, the default image was updated to 0.7:
And when I use an older version like this, the error disappears:
FROM langchain/langgraph-api:0.6.39-py3.13
Claude says that the reason is in my entrypoint: before starting the app itself, I set the environment variable for the REDIS_URI:
export REDIS_URI="${REDIS_URL}?ssl_cert_reqs=none"
And it seems the ssl_cert_reqs part is the culprit - but I haven’t found a solution yet. Anyone else seeing this?