Skip to content

Bracket Docker in Postgres 18 #1389

Description

@oscartobar

When creating a Docker container using the latest version (Postgres 18), this error is generated.

  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/fastapi/routing.py", line 133, in merged_lifespan
    async with original_context(app) as maybe_original_state:
  File "/usr/local/lib/python3.12/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/app/bracket/app.py", line 42, in lifespan
    await database.connect()
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/databases/core.py", line 112, in connect
    await self._backend.connect()
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/databases/backends/postgres.py", line 74, in connect
    self._pool = await asyncpg.create_pool(**kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/pool.py", line 418, in _async__init__
    await self._initialize()
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/pool.py", line 445, in _initialize
    await first_ch.connect()
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/pool.py", line 132, in connect
    self._con = await self._pool._get_new_connection()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/pool.py", line 517, in _get_new_connection
    con = await self._connect(
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connection.py", line 2421, in connect
    return await connect_utils._connect(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 1075, in _connect
    raise last_error or exceptions.TargetServerAttributeNotMatched(
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 1049, in _connect
    conn = await _connect_addr(
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 886, in _connect_addr
    return await __connect_addr(params, True, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 931, in __connect_addr
    tr, pr = await connector
             ^^^^^^^^^^^^^^^
  File "/home/bracket/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 802, in _create_ssl_connection
    tr, pr = await loop.create_connection(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1099, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1081, in create_connection
    sock = await self._connect_sock(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 984, in _connect_sock
    await self.sock_connect(sock, address)
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 647, in sock_connect
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 687, in _sock_connect_cb
    raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('172.18.0.4', 5432)
[2025-10-31 00:11:27 +0000] [8] [ERROR] Application startup failed. Exiting.
[2025-10-31 00:11:27 +0000] [8] [INFO] Worker exiting (pid: 8)
[2025-10-31 00:11:28 +0000] [1] [ERROR] Worker (pid:8) exited with code 3
[2025-10-31 00:11:28 +0000] [1] [ERROR] Shutting down: Master
[2025-10-31 00:11:28 +0000] [1] [ERROR] Reason: Worker failed to boot.
[2025-10-31 00:11:33 +0000] [1] [INFO] Starting gunicorn 23.0.0
[2025-10-31 00:11:33 +0000] [1] [INFO] Listening at: http://0.0.0.0:8400 (1)
[2025-10-31 00:11:33 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2025-10-31 00:11:33 +0000] [9] [INFO] Booting worker with pid: 9

After reviewing, I found that this new version has some differences, therefore the docker-compose.yml file must be modified so that instead of being

 postgres:
    environment:
      POSTGRES_DB: bracket_dev
      POSTGRES_PASSWORD: bracket_dev
      POSTGRES_USER: bracket_dev
    image: postgres
    networks:
      - bracket_lan
    restart: always
    volumes:
      - bracket_pg_data:/var/lib/postgresql/data

Now it must be like this

postgres:
    environment:
      POSTGRES_DB: bracket_dev
      POSTGRES_PASSWORD: bracket_dev
      POSTGRES_USER: bracket_dev
    image: postgres
    networks:
      - bracket_lan
    restart: always
    volumes:
      - bracket_pg_data:/var/lib/postgresql

see
https://hub.docker.com/_/postgres/#pgdata

docker-library/postgres#1259

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions