408 Timeout / Curl Error 7 in Executor when accessing deployed site (Self-Hosted)
- 0
- 2
- Self Hosted
- Sites
- Functions
Hey everyone, I am losing my mind over a routing loop/timeout issue on a fresh self-hosted setup. I have a single Linux VPS (IP: 45.141.37.105) and one domain (vietsoul.de).
The main Appwrite console works perfectly at appwrite.vietsoul.de. However, when I try to access my deployed site at vietsoul.de, the browser hangs and eventually throws a 408 Synchronous function execution timed out.
My Setup:
- Appwrite 1.9.0 (Self-Hosted via docker-compose)
- Cloudflare DNS: A Records for
appwrite,sites,functions,www, and@are all pointing to the VPS IP. Proxy status is set to DNS Only so Appwrite handles Let's Encrypt SSL. .envtargets:_APP_DOMAIN="appwrite.vietsoul.de",_APP_DOMAIN_SITES="sites.vietsoul.de"
The Logs:
[Error] Type: Exception
[Error] Message: Internal curl error has occurred within the executor! Error Number: 7
[Error] File: /usr/local/src/Executor/Runner/Docker.php
[Error] Line: 1161
What I have already tried (that did not fix it):
- Server Resources: Verified my VPS has plenty of RAM (5.5GB free, no swapping).
- Cleaned up Runtimes: Reduced
_APP_FUNCTIONS_RUNTIMESdown to justnode-20.0,node-21.0,node-22,php-8.0,php-8.3,static-1,flutter-3.29to prevent network daemon overload. - IPv6: Emptied
_APP_DOMAIN_TARGET_AAAA=to prevent IPv6 routing blackholes. - Internal DNS / Hairpin NAT routing: I tried adding
extra_hoststo the executor forhost-gateway. When that failed, I added networkaliasesto thetraefikcontainer for both theappwriteandruntimesnetworks to force internal DNS resolution.
It seems like the temporary build container on the runtimes network is failing to reach appwrite.vietsoul.de to download the deployment tarball, resulting in the connection refused (Error 7) and the subsequent 408 timeout.
Does anyone know the exact docker-compose routing fix to allow the build containers to resolve the main Appwrite domain on a single-node setup?
I tried debugging it with google gemini, but that thing just seemed to send me into even more destruction...
I never worked with docker tbh and this is my first self hosted Appwrite so i just counted on AI helping me fix 1-2 errors, but i legit got nowhere
seems like ur really close to figurng out the problem, very narrow to some networking issue on docker side
did u try checking traeffic? maybe its getting blocked there somehow
Thanks for the help! I finally fixed it! turns out it was a weird DNS issue from the hoster. The server had a search domain that caused Docker to resolve all internal services (like MariaDB and Redis) to 127.0.0.1, which broke the whole network. I just had to add dns_search: [.] to my compose file to ignore it, and now it works like a charm! Gemini CLI really helped me dig into the VPS directly to find it.
Recommended threads
- SITE QR CODE
THERE WAS NO SITE QR CODE AVALABEL : {"message":"The requested service is disabled. You can enable the service from the Appwrite console.","code":403,"type":"ge...
- Functions in cloud console not works
please advise as all of my runing functions on Appwrite console was working before , but now it give this error [Invalid `headers` param: Value must be a valid...
- [SOLVED] Production down - createExecuti...
Hey, Since 1.9.6 rollout in fra (~17:00 UTC, 14 Aug), POST /v1/functions/{functionId}/executions returns a 400 whenever the body includes an empty headers ob...