Skip to content

Bug: Self-hosted AI providers on private Docker networks are blocked #157

Description

@jmbillard

Summary

When configuring an AI provider hosted on the same Docker network (e.g. LiteLLM), Windshift refuses the connection because the resolved IP belongs to a private network.

The error shown is:

failed to connect to LLM service: Get "http://litellm:4000/v1/models": dial host resolves to a blocked IP range: 172.28.0.3 (tcp)

Environment

  • Windshift running via Docker (Portainer)
  • LiteLLM running in another container
  • Both containers are attached to the same Docker bridge network
  • The hostname (litellm) resolves correctly

Expected Behavior

Windshift should be able to communicate with AI providers running on the same Docker network in self-hosted deployments.

This is a very common setup for services such as:

  • LiteLLM
  • Ollama
  • vLLM
  • OpenAI-compatible gateways

Actual Behavior

Windshift resolves the hostname successfully but refuses to connect because the destination IP is in a private network (172.x.x.x).

The connection is blocked before any request reaches the LLM service.

Additional Context

The Docker network is working correctly. The same LiteLLM instance is successfully used by other containers such as:

  • n8n
  • Open WebUI

This suggests the issue is not related to Docker networking or DNS resolution, but rather to an internal restriction that blocks requests to private IP ranges.

Suggestion

For self-hosted deployments, it would be helpful to either:

  • allow connections to private network addresses by default, or
  • provide a configuration option to explicitly allow private IP ranges (e.g. 172.x.x.x, 192.168.x.x, 10.x.x.x) for trusted internal services.

This would enable common self-hosted AI setups while still allowing public deployments to keep stricter SSRF protections.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions