I cant get anchor-server to connect to self hosted supabase with self signed certificate.
2025-09-05 21:35:02.553 | INFO: Will watch for changes in these directories: ['/app']
2025-09-05 21:35:02.553 | INFO: Uvicorn running on http://0.0.0.0:8181 (Press CTRL+C to quit)
2025-09-05 21:35:02.553 | INFO: Started reloader process [1] using WatchFiles
2025-09-05 21:35:13.397 | INFO: Started server process [8]
2025-09-05 21:35:13.397 | INFO: Waiting for application startup.
2025-09-05 21:35:13.519 | Error loading credentials: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1010)
2025-09-05 21:35:13.519 | ❌ Failed to start backend: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1010)
2025-09-05 21:35:13.523 | ERROR: Traceback (most recent call last):
2025-09-05 21:35:13.523 | File "/venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
2025-09-05 21:35:13.523 | yield
2025-09-05 21:35:13.523 | File "/venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 250, in handle_request
2025-09-05 21:35:13.524 | resp = self._pool.handle_request(req)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 256, in handle_request
2025-09-05 21:35:13.524 | raise exc from None
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 236, in handle_request
2025-09-05 21:35:13.524 | response = connection.handle_request(
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 101, in handle_request
2025-09-05 21:35:13.524 | raise exc
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 78, in handle_request
2025-09-05 21:35:13.524 | stream = self._connect(request)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 156, in _connect
2025-09-05 21:35:13.524 | stream = stream.start_tls(**kwargs)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 154, in start_tls
2025-09-05 21:35:13.524 | with map_exceptions(exc_map):
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
2025-09-05 21:35:13.524 | self.gen.throw(value)
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
2025-09-05 21:35:13.524 | raise to_exc(exc) from exc
2025-09-05 21:35:13.524 | httpcore.ConnectError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1010)
2025-09-05 21:35:13.524 |
2025-09-05 21:35:13.524 | The above exception was the direct cause of the following exception:
2025-09-05 21:35:13.524 |
2025-09-05 21:35:13.524 | Traceback (most recent call last):
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/starlette/routing.py", line 694, in lifespan
2025-09-05 21:35:13.524 | async with self.lifespan_context(app) as maybe_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/fastapi/routing.py", line 134, in merged_lifespan
2025-09-05 21:35:13.524 | async with original_context(app) as maybe_original_state:
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 210, in __aenter__
2025-09-05 21:35:13.524 | return await anext(self.gen)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/app/src/server/main.py", line 80, in lifespan
2025-09-05 21:35:13.524 | await initialize_credentials()
2025-09-05 21:35:13.524 | File "/app/src/server/services/credential_service.py", line 496, in initialize_credentials
2025-09-05 21:35:13.524 | await credential_service.load_all_credentials()
2025-09-05 21:35:13.524 | File "/app/src/server/services/credential_service.py", line 130, in load_all_credentials
2025-09-05 21:35:13.524 | result = supabase.table("archon_settings").select("*").execute()
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/postgrest/_sync/request_builder.py", line 57, in execute
2025-09-05 21:35:13.524 | r = self.session.request(
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 825, in request
2025-09-05 21:35:13.524 | return self.send(request, auth=auth, follow_redirects=follow_redirects)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 914, in send
2025-09-05 21:35:13.524 | response = self._send_handling_auth(
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 942, in _send_handling_auth
2025-09-05 21:35:13.524 | response = self._send_handling_redirects(
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 979, in _send_handling_redirects
2025-09-05 21:35:13.524 | response = self._send_single_request(request)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 1014, in _send_single_request
2025-09-05 21:35:13.524 | response = transport.handle_request(request)
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 249, in handle_request
2025-09-05 21:35:13.524 | with map_httpcore_exceptions():
2025-09-05 21:35:13.524 | ^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-05 21:35:13.524 | File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
2025-09-05 21:35:13.524 | self.gen.throw(value)
2025-09-05 21:35:13.524 | File "/venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
2025-09-05 21:35:13.524 | raise mapped_exc(message) from exc
2025-09-05 21:35:13.524 | httpx.ConnectError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1010)
2025-09-05 21:35:13.524 |
2025-09-05 21:35:13.524 | ERROR: Application startup failed. Exiting.
Archon Version
v0.1.0
Bug Severity
🔴 Critical - App unusable
Bug Description
I cant get anchor-server to connect to self hosted supabase with self signed certificate.
Steps to Reproduce
Self hosted supabase on docker with self signed certificate
Update .env with supabase URL and API
Run docker compose up -d from anchor git folder
Expected Behavior
anchor-server container to start successfully
Actual Behavior
anchor-server fail to start - log attached
docker-log.txt
Error Details (if any)
Affected Component
🐳 Docker / Infrastructure
Browser & OS
Windows 11 / Docker
Additional Context
No response
Service Status (check all that are working)