154411e7a48d480ecf3d3f0f9234652215e4d146
Some checks failed
CI/CD / build-test-deploy (push) Has been cancelled
nginx resolves a plain `proxy_pass http://server:8080;` hostname once at config-load time. On a cold `docker compose up` that creates every container at once, the `server` container isn't always registered in Docker's embedded DNS yet by the time the client's nginx starts — nginx then fails immediately ("host not found in upstream") and doesn't retry, so it just crash-loops. Route the target through a variable instead (`set $upstream_server ...; proxy_pass $upstream_server;`) with an explicit `resolver`, which makes nginx resolve the hostname lazily per-request via Docker's DNS rather than once at startup. Also add `depends_on: [server]` on the client service so it at least doesn't start before the server container exists at all. Verified with repeated `docker compose down && docker compose up` cycles locally — this only reliably reproduced starting every container from nothing simultaneously, which prior local testing hadn't actually done (the server container had usually stayed running across rebuilds).
Description
No description provided
Languages
F#
93.4%
CSS
5.6%
Dockerfile
0.6%
HTML
0.3%