Skip to content

Missing Container (Portainer_Agent) on one of my hosts #192

@begunfx

Description

@begunfx

Drydock version

1.4.5

What happened?

For some reason one of my portainer agents is not appearing. It happens to be the one on my server hosting drydock controller stack.

Image

All the other ones appear just fine.

What did you expect?

Should see a Portainer_agent for all hosts except the host running the Portainer controller stack.

Steps to reproduce

Not sure what steps to provide to reproduce this. I had already deleted the database file and recreated it from scratch. The portainer_agent is created by portainer without any kind of compose or stack.

Relevant configuration

Drydock controller stack:

services:
  drydock:
    image: codeswhat/drydock:latest
    container_name: drydock
    restart: unless-stopped
    ports:
      - "3010:3000"
    depends_on:
      socket-proxy:
        condition: service_healthy
    volumes:
      - /volume1/docker/drydock:/store
    healthcheck:
      test: curl --fail http://localhost:${DD_SERVER_PORT:-3000}/health || exit 1
      interval: 10s
      timeout: 10s
      retries: 3
      start_period: 10s
    environment:
      # --- CRON SCHEDULE ---
      - DD_WATCHER_DATAVAULT_CRON=15 */6 * * *
      - DD_WATCHER_DATAVAULT_JITTER=900000

      # --- PERMISSIONS ---
      - PUID=1000
      - PGID=1000

      # --- OTHER ---
      - TZ=America/Los_Angeles
      - DD_SESSION_SECRET=<redacted>

      # --- SECURITY SCANNING ---
      - DD_SECURITY_SCANNER=trivy
      - DD_SECURITY_SCAN_CRON=0 2 * * *
      - DD_SECURITY_BLOCK_SEVERITY=NONE
      
      # --- BASIC AUTH ---
      - DD_AUTH_BASIC_ADMIN_USER=admin
      - DD_AUTH_BASIC_ADMIN_HASH=<redacted>
      
      # --- LOCAL DATAVAULT DISCOVERY (Global Watcher) ---
      - DD_WATCHER_DATAVAULT_HOST=drydock-socket-proxy
      - DD_WATCHER_DATAVAULT_PORT=2375
      - DD_WATCHER_DATAVAULT_WATCHBYDEFAULT=true

      # --- LOCAL DATAVAULT EXECUTION (Trigger Connection) ---
      - DD_TRIGGER_DOCKER_DATAVAULT_PRUNE=true

      # --- REMOTE HOST MEDIAVAULT ---
      - DD_AGENT_MEDIAVAULT_HOST=mediavault
      - DD_AGENT_MEDIAVAULT_PORT=3010
      - DD_AGENT_MEDIAVAULT_SECRET=<redacted>

      # --- REMOTE HOST TMVAULT ---
      - DD_AGENT_TMVAULT_HOST=tmvault
      - DD_AGENT_TMVAULT_PORT=3010
      - DD_AGENT_TMVAULT_SECRET=<redacted>

      # --- REMOTE HOST SERVICEVAULT ---
      - DD_AGENT_SERVICEVAULT_HOST=servicevault
      - DD_AGENT_SERVICEVAULT_PORT=3010
      - DD_AGENT_SERVICEVAULT_SECRET=<redacted>

      # --- REMOTE HOST SERVICEVAULT2 ---
      - DD_AGENT_SERVICEVAULT2_HOST=servicevault2
      - DD_AGENT_SERVICEVAULT2_PORT=3010
      - DD_AGENT_SERVICEVAULT2_SECRET=<redacted>
      
      # --- OBSERVABILITY ---
      - DD_METRICS_PROMETHEUS_ENABLE=true

      # --- GMAIL SMTP CONFIG ---
      - DD_TRIGGER_SMTP_GMAIL_HOST=smtp.gmail.com
      - DD_TRIGGER_SMTP_GMAIL_PORT=587
      - DD_TRIGGER_SMTP_GMAIL_USER=<redacted>@gmail.com
      - DD_TRIGGER_SMTP_GMAIL_PASS=<redacted>
      - DD_TRIGGER_SMTP_GMAIL_FROM=<redacted>@gmail.com
      - DD_TRIGGER_SMTP_GMAIL_TO=<redacted>
      - DD_TRIGGER_SMTP_GMAIL_TLS_ENABLED=false
      - DD_TRIGGER_SMTP_GMAIL_MODE=batch
      
      # --- PUSHOVER CONFIG ---
      - DD_TRIGGER_PUSHOVER_MOBILE_USER=<redacted>
      - DD_TRIGGER_PUSHOVER_MOBILE_TOKEN=<redacted>

      # --- DOCKER HUB (PUBLIC/PRIVATE) ---
      - DD_REGISTRY_HUB_PUBLIC_AUTH=<redacted>
      - DD_REGISTRY_HUB_PRIVATE_AUTH=<redacted>

      # --- GITHUB CONTAINER REGISTRY (GHCR) ---
      - DD_REGISTRY_GHCR_PRIVATE_USERNAME=<redacted>
      - DD_REGISTRY_GHCR_PRIVATE_TOKEN=<redacted>

  socket-proxy:
    image: lscr.io/linuxserver/socket-proxy:latest
    container_name: drydock-socket-proxy
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1
      - IMAGES=1
      - EVENTS=1
      - SERVICES=1
      - POST=1
      - DELETE=1
      - NETWORKS=1
      - VOLUMES=1
      - LOG_LEVEL=info
      - RATE_LIMIT_HTTP=100
      - RATE_LIMIT_INTERVAL=1m
    healthcheck:
      test: wget --spider http://localhost:2375/version || exit 1
      interval: 5s
      timeout: 3s
      retries: 3
      start_period: 5s
  socket-heartbeat:
    image: alpine:latest
    container_name: drydock-socket-heartbeat
    command: sh -c "sleep 300"
    restart: always

Logs

Logs do show:
3/20/2026, 3:47:08 PM
warn
watcher.docker.datavault
Cannot get a reliable tag for this image [sha256:<redacted>]
This does identify the portainer_agent on my datavault host

Installation method

Docker Compose

Docker version

24.0.1

OS / Architecture

Synology DSM

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions