agenta icon indicating copy to clipboard operation
agenta copied to clipboard

[AGE-2114] [Bug] Cannot login for the first time after deploying locally via Docker Desktop [macOS]

Open serverdown-eth opened this issue 9 months ago • 9 comments

As per title, after deploying Agenta via Docker Desktop the login fails as per the following screenshot:

Image

I already tried pulling the repository several times and retrying, and also tried on multiple ports, always restarting from a fresh install and rebuilding the web image as per docs: https://docs.agenta.ai/self-host/host-locally?utm_source=github&utm_medium=referral&utm_campaign=readme

Tried on 3 different browsers: Safari, Brave and Chrome, none of them with success.

AGE-2114

serverdown-eth avatar Apr 07 '25 12:04 serverdown-eth

Hey @serverdown-eth can you please:

  • Provide us with the requests in the developer console in your frontend
  • Let us know of your self-hosting configuration (port 80? are you rebuilding?)
  • Provide us with the logs of the api and web docker containers

Thank you!

mmabrouk avatar Apr 07 '25 13:04 mmabrouk

Thank you for your fast response,

These are the errors in the developer console:

Image

This is my .env config:

registry & service: agenta-specific

AGENTA_RUNTIME_PREFIX= AGENTA_PORT=80 FEATURE_FLAG=oss ENVIRONMENT=development BARE_DOMAIN_NAME=localhost DOMAIN_NAME=http://localhost WEBSITE_DOMAIN_NAME=http://localhost AGENTA_HOST=http://host.docker.internal:80 AGENTA_TEMPLATE_REPO=agentaai/templates_v2 AGENTA_AUTH_KEY=replace-me SERVICE_URL_TEMPLATE=http://localhost:80/services/{path} ALEMBIC_CFG_PATH=/app/oss/databases/postgres/migrations/alembic.oss.ini POSTGRES_USER=username POSTGRES_PASSWORD=password POSTGRES_DB=agenta_oss RABBITMQ_DEFAULT_USER=guest RABBITMQ_DEFAULT_PASS=guest REDIS_URL=redis://redis:6379/0 CELERY_BROKER_URL=amqp://guest@rabbitmq// CELERY_RESULT_BACKEND=redis://redis:6379/0 POSTGRES_URI=postgresql+asyncpg://username:password@postgres:5432/agenta_oss POSTGRESQL_CONNECTION_URI=postgresql://username:password@postgres:5432/supertokens_oss AGENTA_CRYPT_KEY=replace-me

log of api docker container:

2025-04-07 15:50:17 INFO: Will watch for changes in these directories: ['/app'] 2025-04-07 15:50:17 INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) 2025-04-07 15:50:17 INFO: Started reloader process [1] using StatReload 2025-04-07 15:50:26 INFO: Started server process [8] 2025-04-07 15:50:26 INFO: Waiting for application startup. 2025-04-07 15:50:32 INFO: Application startup complete. 2025-04-07 15:53:58 ERROR: Exception in ASGI application 2025-04-07 15:53:58 Traceback (most recent call last): 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py", line 428, in run_asgi 2025-04-07 15:53:58 result = await app( # type: ignore[func-returns-value] 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in call 2025-04-07 15:53:58 return await self.app(scope, receive, send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 1054, in call 2025-04-07 15:53:58 await super().call(scope, receive, send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/starlette.py", line 408, in _sentry_patched_asgi_app 2025-04-07 15:53:58 return await middleware(scope, receive, send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asgi.py", line 158, in _run_asgi3 2025-04-07 15:53:58 return await self._run_app(scope, receive, send, asgi_version=3) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asgi.py", line 259, in _run_app 2025-04-07 15:53:58 raise exc from None 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asgi.py", line 254, in _run_app 2025-04-07 15:53:58 return await self.app( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 112, in call 2025-04-07 15:53:58 await self.middleware_stack(scope, receive, send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/starlette.py", line 199, in _create_span_call 2025-04-07 15:53:58 return await old_call(app, scope, new_receive, new_send, **kwargs) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 187, in call 2025-04-07 15:53:58 raise exc 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 165, in call 2025-04-07 15:53:58 await self.app(scope, receive, _send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/starlette.py", line 199, in _create_span_call 2025-04-07 15:53:58 return await old_call(app, scope, new_receive, new_send, **kwargs) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 93, in call 2025-04-07 15:53:58 await self.simple_response(scope, receive, send, request_headers=headers) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 144, in simple_response 2025-04-07 15:53:58 await self.app(scope, receive, send) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/starlette.py", line 199, in _create_span_call 2025-04-07 15:53:58 return await old_call(app, scope, new_receive, new_send, **kwargs) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/supertokens_python/framework/fastapi/fastapi_middleware.py", line 53, in call 2025-04-07 15:53:58 result: Union[BaseResponse, None] = await st.middleware( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/supertokens_python/supertokens.py", line 613, in middleware 2025-04-07 15:53:58 request_handled = await final_matched_recipe.handle_api_request( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/supertokens_python/recipe/emailpassword/recipe.py", line 331, in handle_api_request 2025-04-07 15:53:58 return await handle_sign_up_api( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/supertokens_python/recipe/emailpassword/api/signup.py", line 73, in handle_sign_up_api 2025-04-07 15:53:58 response = await api_implementation.sign_up_post( 2025-04-07 15:53:58 File "/app/oss/src/init.py", line 220, in sign_up_post 2025-04-07 15:53:58 organization_db = await check_if_user_exists_and_create_organization( 2025-04-07 15:53:58 File "/app/oss/src/services/db_manager.py", line 892, in check_if_user_exists_and_create_organization 2025-04-07 15:53:58 organization_db = await create_organization(name=organization_name) 2025-04-07 15:53:58 File "/app/oss/src/services/db_manager.py", line 995, in create_organization 2025-04-07 15:53:58 await session.commit() 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/ext/asyncio/session.py", line 1015, in commit 2025-04-07 15:50:32 2025-04-07 15:50:32 We have detected that there are pending database migrations ['7cc66fc40298'] that need to be applied to keep the application up to date. To ensure the application functions correctly with the latest updates, please follow the guide here => https://docs.agenta.ai/self-host/migration/applying-schema-migration 2025-04-07 15:50:32 2025-04-07 15:53:57 INFO: 172.18.0.6:38102 - "POST /auth/signup HTTP/1.1" 500 Internal Server Error 2025-04-07 15:53:58 await greenlet_spawn(self.sync_session.commit) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 203, in greenlet_spawn 2025-04-07 15:53:58 result = context.switch(value) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2032, in commit 2025-04-07 15:53:58 trans.commit(_to_root=True) 2025-04-07 15:53:58 File "", line 2, in commit 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go 2025-04-07 15:53:58 ret_value = fn(self, *arg, **kw) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1313, in commit 2025-04-07 15:53:58 self._prepare_impl() 2025-04-07 15:53:58 File "", line 2, in _prepare_impl 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go 2025-04-07 15:53:58 ret_value = fn(self, *arg, **kw) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1288, in _prepare_impl 2025-04-07 15:53:58 self.session.flush() 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 4353, in flush 2025-04-07 15:53:58 self._flush(objects) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 4489, in _flush 2025-04-07 15:53:58 transaction.rollback(_capture_exception=True) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 146, in exit 2025-04-07 15:53:58 raise exc_value.with_traceback(exc_tb) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 4449, in _flush 2025-04-07 15:53:58 flush_context.execute() 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute 2025-04-07 15:53:58 rec.execute(self) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute 2025-04-07 15:53:58 util.preloaded.orm_persistence.save_obj( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj 2025-04-07 15:53:58 _emit_insert_statements( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements 2025-04-07 15:53:58 result = connection.execute( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1416, in execute 2025-04-07 15:53:58 return meth( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection 2025-04-07 15:53:58 return connection._execute_clauseelement( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement 2025-04-07 15:53:58 ret = self._execute_context( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context 2025-04-07 15:53:58 return self._exec_single_context( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context 2025-04-07 15:53:58 self._handle_dbapi_exception( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception 2025-04-07 15:53:58 raise sqlalchemy_exception.with_traceback(exc_info[2]) from e 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context 2025-04-07 15:53:58 self.dialect.do_execute( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute 2025-04-07 15:53:58 cursor.execute(statement, parameters) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute 2025-04-07 15:53:58 self.adapt_connection.await( 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only 2025-04-07 15:53:58 return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn 2025-04-07 15:53:58 value = await result 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute 2025-04-07 15:53:58 self._handle_exception(error) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception 2025-04-07 15:53:58 self._adapt_connection._handle_exception(error) 2025-04-07 15:53:58 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception 2025-04-07 15:53:58 raise translated_error from error 2025-04-07 15:53:58 sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation "organizations" does not exist 2025-04-07 15:53:58 [SQL: INSERT INTO organizations (id, name, description, type, owner, created_at, updated_at) VALUES ($1::UUID, $2::VARCHAR, $3::VARCHAR, $4::VARCHAR, $5::VARCHAR, $6::TIMESTAMP WITH TIME ZONE, $7::TIMESTAMP WITH TIME ZONE)] 2025-04-07 15:53:58 [parameters: (UUID('01961087-8095-7da1-b455-bc53ec737521'), 'alintixai', 'The open-source LLM developer platform for cross-functional teams.', None, None, datetime.datetime(2025, 4, 7, 13, 53, 57, 909500, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 4, 7, 13, 53, 57, 909502, tzinfo=datetime.timezone.utc))] 2025-04-07 15:53:58 (Background on this error at: https://sqlalche.me/e/20/f405)

then I followed the schema migration https://docs.agenta.ai/self-host/applying-schema-migration with the command: docker exec -e PYTHONPATH=/app -w /app/oss/databases/postgres/migrations agenta-oss-gh-api-1 alembic -c alembic.oss.ini upgrade head

I received this error:

return await self._prepare(

File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 653, in _prepare stmt = await self._get_statement( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 432, in _get_statement statement = await self._protocol.prepare( File "asyncpg/protocol/protocol.pyx", line 165, in prepare asyncpg.exceptions.UndefinedColumnError: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 190, in add_project_id_to_db_entities session.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2365, in execute return self._execute_internal( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement result = conn.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1416, in execute return meth( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection return connection._execute_clauseelement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement ret = self._execute_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context return self._exec_single_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist [SQL: SELECT app_variants.id, app_variants.app_id, app_variants.variant_name, app_variants.revision, app_variants.project_id, app_variants.modified_by_id, app_variants.base_name, app_variants.base_id, app_variants.config_name, app_variants.config_parameters, app_variants.hidden, app_variants.created_at, app_variants.updated_at FROM app_variants WHERE app_variants.project_id IS NULL LIMIT $1::INTEGER OFFSET $2::INTEGER] [parameters: (1000, 0)] (Background on this error at: https://sqlalche.me/e/20/f405)

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 521, in _prepare_and_execute prepared_stmt, attributes = await adapt_connection._prepare( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 768, in _prepare prepared_stmt = await self._connection.prepare( File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asyncpg.py", line 128, in _inner res = await f(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 635, in prepare return await self._prepare( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 653, in _prepare stmt = await self._get_statement( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 432, in _get_statement statement = await self._protocol.prepare( File "asyncpg/protocol/protocol.pyx", line 165, in prepare asyncpg.exceptions.UndefinedColumnError: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/bin/alembic", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 636, in main CommandLine(prog=prog).main(argv=argv) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 626, in main self.run_cmd(cfg, options) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 603, in run_cmd fn( File "/usr/local/lib/python3.9/site-packages/alembic/command.py", line 408, in upgrade script.run_env() File "/usr/local/lib/python3.9/site-packages/alembic/script/base.py", line 586, in run_env util.load_python_file(self.dir, "env.py") File "/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file module = load_module_py(module_id, path) File "/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py spec.loader.exec_module(module) # type: ignore File "", line 850, in exec_module File "", line 228, in _call_with_frames_removed File "/app/oss/databases/postgres/migrations/env.py", line 100, in run_migrations_online() File "/app/oss/databases/postgres/migrations/env.py", line 94, in run_migrations_online asyncio.run(run_async_migrations()) File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete return future.result() File "/app/oss/databases/postgres/migrations/env.py", line 86, in run_async_migrations await connection.run_sync(do_run_migrations) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/ext/asyncio/engine.py", line 887, in run_sync return await greenlet_spawn( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/concurrency_py3k.py", line 203, in greenlet_spawn result = context.switch(value) File "/app/oss/databases/postgres/migrations/env.py", line 71, in do_run_migrations context.run_migrations() File "", line 8, in run_migrations File "/usr/local/lib/python3.9/site-packages/alembic/runtime/environment.py", line 946, in run_migrations self.get_context().run_migrations(**kw) File "/usr/local/lib/python3.9/site-packages/alembic/runtime/migration.py", line 623, in run_migrations step.migration_fn(**kw) File "/app/oss/databases/postgres/migrations/versions/55bdd2e9a465_add_default_project_to_scoped_model.py", line 29, in upgrade add_project_id_to_db_entities() File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 225, in add_project_id_to_db_entities raise e File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 190, in add_project_id_to_db_entities session.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2365, in execute return self._execute_internal( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement result = conn.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1416, in execute return meth( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection return connection._execute_clauseelement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement ret = self._execute_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context return self._exec_single_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist [SQL: SELECT app_variants.id, app_variants.app_id, app_variants.variant_name, app_variants.revision, app_variants.project_id, app_variants.modified_by_id, app_variants.base_name, app_variants.base_id, app_variants.config_name, app_variants.config_parameters, app_variants.hidden, app_variants.created_at, app_variants.updated_at FROM app_variants WHERE app_variants.project_id IS NULL LIMIT $1::INTEGER OFFSET $2::INTEGER] [parameters: (1000, 0)] (Background on this error at: https://sqlalche.me/e/20/f405) thomaswerner@MacBookPro agenta % docker exec -e PYTHONPATH=/app -w /app/oss/databases/postgres/migrations agenta-oss-gh-api-1 alembic -c alembic.oss.ini upgrade head INFO [alembic.runtime.migration] Context impl PostgresqlImpl. INFO [alembic.runtime.migration] Will assume transactional DDL. INFO [alembic.runtime.migration] Running upgrade c00a326c625a -> 55bdd2e9a465, add default project to scoped model entities ERROR adding project_id to db entities: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 521, in _prepare_and_execute prepared_stmt, attributes = await adapt_connection._prepare( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 768, in _prepare prepared_stmt = await self._connection.prepare( File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asyncpg.py", line 128, in _inner res = await f(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 635, in prepare return await self._prepare( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 653, in _prepare stmt = await self._get_statement( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 432, in _get_statement statement = await self._protocol.prepare( File "asyncpg/protocol/protocol.pyx", line 165, in prepare asyncpg.exceptions.UndefinedColumnError: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 190, in add_project_id_to_db_entities session.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2365, in execute return self._execute_internal( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement result = conn.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1416, in execute return meth( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection return connection._execute_clauseelement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement ret = self._execute_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context return self._exec_single_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist [SQL: SELECT app_variants.id, app_variants.app_id, app_variants.variant_name, app_variants.revision, app_variants.project_id, app_variants.modified_by_id, app_variants.base_name, app_variants.base_id, app_variants.config_name, app_variants.config_parameters, app_variants.hidden, app_variants.created_at, app_variants.updated_at FROM app_variants WHERE app_variants.project_id IS NULL LIMIT $1::INTEGER OFFSET $2::INTEGER] [parameters: (1000, 0)] (Background on this error at: https://sqlalche.me/e/20/f405)

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 521, in _prepare_and_execute prepared_stmt, attributes = await adapt_connection._prepare( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 768, in _prepare prepared_stmt = await self._connection.prepare( File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/asyncpg.py", line 128, in _inner res = await f(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 635, in prepare return await self._prepare( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 653, in _prepare stmt = await self._get_statement( File "/usr/local/lib/python3.9/site-packages/asyncpg/connection.py", line 432, in _get_statement statement = await self._protocol.prepare( File "asyncpg/protocol/protocol.pyx", line 165, in prepare asyncpg.exceptions.UndefinedColumnError: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/bin/alembic", line 8, in sys.exit(main()) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 636, in main CommandLine(prog=prog).main(argv=argv) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 626, in main self.run_cmd(cfg, options) File "/usr/local/lib/python3.9/site-packages/alembic/config.py", line 603, in run_cmd fn( File "/usr/local/lib/python3.9/site-packages/alembic/command.py", line 408, in upgrade script.run_env() File "/usr/local/lib/python3.9/site-packages/alembic/script/base.py", line 586, in run_env util.load_python_file(self.dir, "env.py") File "/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file module = load_module_py(module_id, path) File "/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py spec.loader.exec_module(module) # type: ignore File "", line 850, in exec_module File "", line 228, in _call_with_frames_removed File "/app/oss/databases/postgres/migrations/env.py", line 100, in run_migrations_online() File "/app/oss/databases/postgres/migrations/env.py", line 94, in run_migrations_online asyncio.run(run_async_migrations()) File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete return future.result() File "/app/oss/databases/postgres/migrations/env.py", line 86, in run_async_migrations await connection.run_sync(do_run_migrations) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/ext/asyncio/engine.py", line 887, in run_sync return await greenlet_spawn( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/concurrency_py3k.py", line 203, in greenlet_spawn result = context.switch(value) File "/app/oss/databases/postgres/migrations/env.py", line 71, in do_run_migrations context.run_migrations() File "", line 8, in run_migrations File "/usr/local/lib/python3.9/site-packages/alembic/runtime/environment.py", line 946, in run_migrations self.get_context().run_migrations(**kw) File "/usr/local/lib/python3.9/site-packages/alembic/runtime/migration.py", line 623, in run_migrations step.migration_fn(**kw) File "/app/oss/databases/postgres/migrations/versions/55bdd2e9a465_add_default_project_to_scoped_model.py", line 29, in upgrade add_project_id_to_db_entities() File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 225, in add_project_id_to_db_entities raise e File "/app/oss/databases/postgres/migrations/data_migrations/projects.py", line 190, in add_project_id_to_db_entities session.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2365, in execute return self._execute_internal( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement result = conn.execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1416, in execute return meth( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection return connection._execute_clauseelement( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement ret = self._execute_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context return self._exec_single_context( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 945, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute self.adapt_connection.await( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute self._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 508, in _handle_exception self._adapt_connection._handle_exception(error) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 792, in _handle_exception raise translated_error from error sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column app_variants.hidden does not exist [SQL: SELECT app_variants.id, app_variants.app_id, app_variants.variant_name, app_variants.revision, app_variants.project_id, app_variants.modified_by_id, app_variants.base_name, app_variants.base_id, app_variants.config_name, app_variants.config_parameters, app_variants.hidden, app_variants.created_at, app_variants.updated_at FROM app_variants WHERE app_variants.project_id IS NULL LIMIT $1::INTEGER OFFSET $2::INTEGER] [parameters: (1000, 0)] (Background on this error at: https://sqlalche.me/e/20/f405)

serverdown-eth avatar Apr 07 '25 14:04 serverdown-eth

Thanks for the description. I am going to try to reproduce the issue locally today. In the mean time, I would suggest nuking the postgres volume, and recreating the containers, and applying the migration.

mmabrouk avatar Apr 07 '25 15:04 mmabrouk

Thank you for the suggestion. tried again with a fresh start, and the migration resulted in the same error. I will add more context, although I' m not sure how useful:

I am using a Mac with apple silicon, so I figured that could be a virtualization issue:

Image

In the docker settings, I tried two different configuration , although with the same results: Docker VMM and Apple virtualization framework

Image

serverdown-eth avatar Apr 07 '25 16:04 serverdown-eth

I am having the exact same issue. Is there a fix available?

Wout-VDWG avatar May 09 '25 14:05 Wout-VDWG

Hello @Wout-VDWG , I am not able to reproduce the issue. Can you please provide more information:

  • Logs from api and web containers
  • Information if any container is failing
  • Network tab from browser

Thank you!

p.s. please also let us know if you modified any env var

mmabrouk avatar May 12 '25 19:05 mmabrouk

SAME TO ME

del-zhenwu avatar May 14 '25 08:05 del-zhenwu

Hello @del-zhenwu can you please share:

  • Logs from api and web containers
  • Information if any container is failing
  • Network tab from browser

Thank you!

p.s. please also let us know if you modified any env var

mmabrouk avatar May 14 '25 09:05 mmabrouk

Hello everyone, We have made a major update to our env variables and self-hosting documentation to fix all these issues. We hope this resolves all the problems. Here is the new list of env variables, how to use ssl and our network architecture.

This should make self-hosting using different reverse-proxy, solutions much easier we hope. Please let us know if this helps!

mmabrouk avatar May 29 '25 10:05 mmabrouk