this post was submitted on 28 Oct 2023
1 points (100.0% liked)

Self-Hosted Main

502 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

Has anyone been able to get glances to show container metrics when going through docker socket proxy?

I tried enabling every flag listed on the socket proxy GitHub but glances still won't show containers. It reports them just fine if I go directly to the socket.

Thanks!

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 0 points 10 months ago (1 children)

Since I was feeling bad for giving the wrong answer in another comment, I spin up a docker socket proxy and did some test :)

The main points are:

  • add DOCKER_HOST variable pointing to your tcp socket
  • add CONTAINERS=1 variable in docker-socker-proxy to allow reading containers, otherwise it will fails silently (unless you run glances with -d) with a 403

Here's a sample compose file, adjust to your needs. Please note that the tcp socket is not exposed outside of admin_net network and that glances does not have access to the docker.sock socket:

    version: '3.3'
    services:
      admin-glances:
        container_name: glances
        restart: always
        ports:
          - '61208:61208'
        environment:
          - GLANCES_OPT=-w
          - DOCKER_HOST=tcp://dockerproxy:2375
        volumes:
          - './glances/glances.conf:/glances/conf/glances.conf'
    #      - '/var/run/docker.sock:/var/run/docker.sock:ro'
        pid: host
        image: 'nicolargo/glances:latest-full'
        networks:
          admin_net:
    
      admin-docker-socket-proxy:
        container_name: dockerproxy
        hostname: dockerproxy
        image: tecnativa/docker-socket-proxy
        environment:
          - CONTAINERS=1
        volumes:
          - '/var/run/docker.sock:/var/run/docker.sock:ro'
    #    ports:
    #      - '2375:2375'
        networks:
          admin_net:
    
    networks:
      admin_net:
        name: admin_net
[โ€“] [email protected] 1 points 10 months ago

OMG...Instead of the env variable DOCKER_HOST: tcp://dockerproxy:2375 I had hostname: tcp://dockerproxy:2375 in there which only changed the website title. So dumb. Everything else was the same as your example.

Thanks for the help!