Web Developer
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: 1161What 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?