You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
INTERNAL_IPS = ["127.0.0.1", "10.0.2.2"]
if env("USE_DOCKER") == "yes":
import socket
hostname, _, ips = socket.gethostbyname_ex(socket.gethostname())
INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips]
This correctly detects my "django" container ip (172.18.0.5) and adds it to the INTERNAL_IPS.
However I am using a caddy webserver (172.18.0.6) and so the debug toolbar does not show in the end.
If I manually add 172.18.0.6 to the INTERNAL_IPS, it works as expected. (just to confirm)
Any ideas? 😅
The text was updated successfully, but these errors were encountered:
I had the same issue.
Running django runserver on the host but the rest of the supporting services in a docker compose stack in development.
According to AI this is the solution:
import subprocess
def get_nginx_docker_ip():
try:
# Run the `docker inspect` command to get the Nginx IP
output = subprocess.check_output(
[
`` "docker",
"inspect",
"-f",
"{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}",
"your_nginx_container_name", # Replace with your container name
],
stderr=subprocess.DEVNULL
)
# Decode byte response to string
return output.decode("utf-8").strip()
except subprocess.CalledProcessError:
# Log this or handle if the container is not running
print("Error: Could not determine Nginx IP")
return None
# Get the Nginx internal Docker IP and add to INTERNAL_IPS
nginx_ip = get_nginx_docker_ip()
INTERNAL_IPS = ["127.0.0.1"] # Include localhost
if nginx_ip:
INTERNAL_IPS.append(nginx_ip)
I tried it and it works!
With DEBUG on, it runs it and my setting looks like this:
@pjrulez thanks! I'm surprised this is even necessary when running runserver on the host because the browser will probably always connect from 127.0.0.1 then, and not from the docker gateway IP unless you're using your computer's external IP?
I tried the solution approach to auto detect the correct IP and add it to the
INTERNAL_IPS
:This correctly detects my "django" container ip (172.18.0.5) and adds it to the
INTERNAL_IPS
.However I am using a caddy webserver (172.18.0.6) and so the debug toolbar does not show in the end.
If I manually add 172.18.0.6 to the
INTERNAL_IPS
, it works as expected. (just to confirm)Any ideas? 😅
The text was updated successfully, but these errors were encountered: