zoraxy icon indicating copy to clipboard operation
zoraxy copied to clipboard

refactor: docker container list

Open eyerrock opened this issue 8 months ago • 2 comments

This PR enhances the Docker container list by reorganizing the UI and improving stability.

Changes

UI enhancements

  • Section headings & grouping
    Containers are now split into four logical groups, each reflecting how Zoraxy can reach them:
    1. Containers on Zoraxy’s Networks
      Supported via Docker DNS–based name resolution
    2. Containers using Host Network
      Supported using host.docker.internal to access the host’s network gateway (ports must be entered manually)
    3. Containers on different Networks
      Any other Docker network (address + ports must be entered manually)
    4. Containers with existing Proxy Rules
      Containers already configured with proxy mappings
  • Running-only filter
    Added a Show Only Running Containers checkbox to hide stopped or paused containers

Core changes

  • Container self-label
    Zoraxy’s own container now carries a label for easy in-container identification
  • Host gateway resolution
    Injects host.docker.internal:host-gateway so Zoraxy resolves the Docker host’s gateway IP seamlessly
  • API version negotiation
    Enables Docker-client version negotiation to avoid errors when daemon and client differ

Related issues

  • Closes #462 — containers now listed by reachability (manual config still required for networks out of Zoraxy’s reach)
  • Fixes #639 — Docker API negotiation replaces hard-coded client version

If you have any questions or suggestions, feel free to reach out.

eyerrock avatar Apr 26 '25 14:04 eyerrock

@eyerrock Cool!

The go code section of the PR looks good to me, I will let @PassiveLemon to review the changes in regard to the docker file before I merge it in :D

tobychui avatar Apr 27 '25 04:04 tobychui

LGTM

PassiveLemon avatar Apr 27 '25 19:04 PassiveLemon

No, still the same issue ([2025-05-02 17:42:01.250266] [Docker] [system:error] List docker container failed: Error response from daemon: client version 1.43 is too new. Maximum supported API version is 1.41) where and what I have to manual config?

ChronoWerX82 avatar May 02 '25 15:05 ChronoWerX82

@ChronoWerX82 You need to build from source in order to use the change in this PR. This is only merged after the latest release of v3.2.1

tobychui avatar May 03 '25 02:05 tobychui