Skip to content

feat: add support for docker-socket-proxy#52

Open
dan-hollis wants to merge 1 commit intoFinsys:mainfrom
dan-hollis:feat/socket-proxy-support
Open

feat: add support for docker-socket-proxy#52
dan-hollis wants to merge 1 commit intoFinsys:mainfrom
dan-hollis:feat/socket-proxy-support

Conversation

@dan-hollis
Copy link

@dan-hollis dan-hollis commented Mar 2, 2026

Summary

Adds TCP Docker connection support via DOCKER_HOST for use with docker-socket-proxy and similar TCP-based proxies.

Previously, DOCKER_HOST was loaded from the environment but never actually wired into the Docker client. All connections were hardcoded to Unix sockets. This caused startup failures when attempting to use a TCP proxy:

  • Docker socket not found at tcp://socket-proxy:2375 (config validation ran os.Stat() on a TCP URL)
  • dial unix /var/run/docker.sock: connect: no such file or directory (client always dialed Unix)

Changes

  • internal/docker/client.go: New NewClientWithHost() constructor with TCP/Unix transport selection. New DialDocker() method as single entry point for all raw connections, replacing 5 scattered net.Dial("unix", ...) calls.
  • internal/docker/compose.go: New dockerHostEnv() helper so subprocesses (docker compose, docker login) receive the correct DOCKER_HOST value instead of hardcoded unix://.
  • internal/config/config.go: Validates DOCKER_HOST format (tcp:// required) when set; skips socket file check.
  • internal/server/http.go, internal/edge/client.go, internal/edge/tunnel.go: Updated to pass DockerHost through and use DialDocker() for raw connections.

Usage

environment:
  - DOCKER_HOST=tcp://socket-proxy:2375
-e DOCKER_HOST=tcp://socket-proxy:2375

Where socket-proxy is a docker-socket-proxy container on the same internal docker network in this case.

fixes #44
fixes #46

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Socket proxy Connecting to Tecnativa/docker-socket-proxy

1 participant