Skip to content

Multi-host management (v2.0) #7

@amayer1983

Description

@amayer1983

Tracking issue for v2.0's multi-host feature — one Docksentry instance managing several Docker hosts.

Use cases (collected from #2 + offline feedback)

  • @famewolf: 3 Proxmox servers each running a Docker host in an LXC container. Currently running 3 separate bots (one per host) as a workaround.
  • @adrianejovir (Docksentry fork): also explored extending the bot toward multi-host territory.
  • Several Hetzner / homelab folks: 1 main + 1 backup host setup is common.

Bridging pattern already shipped

v1.17.3 added BOT_LABEL so multiple Docksentry instances can share one Telegram group / Discord channel and be told apart by prefix (🖥 pve1 · …). That makes "one chat, many hosts" usable today — but you still maintain N bots, N containers, N update streams. Real multi-host means one bot, one instance, N hosts.

Likely scope for v2.0

  • Per-host configuration: DOCKER_HOSTS=name1:tcp://host1:2375, name2:…
  • Per-host state files (pending queues, update history with host column)
  • Hostname column in Web UI tables + host selector dropdown
  • Hostname prefix in Telegram / Discord / webhook notifications
  • Per-host healthcheck for the Docksentry control plane itself
  • Migration path from single-host installs (preserve existing state)

Open design questions

  1. Connection method: TCP socket per host (with TLS / socket proxy), or SSH tunnel, or both?
  2. State storage: one /data directory with per-host subdirectories, or one flat dir with host-prefixed filenames?
  3. Authentication: single global TELEGRAM_ALLOWED_USERS, or per-host control?
  4. Group operations: can a container group span hosts? (Probably not — adds complexity without clear use case.)

What would help

If multi-host is something you'd actually use, comment with:

  • Your setup (how many hosts, OS, Docker / Podman, behind a proxy?)
  • What you'd want to do "across all hosts" (e.g. /status all vs /status pve1)
  • Anything you'd consider deal-breaker missing

The more concrete the picture before I start coding, the more likely v2.0 lands close to what people actually want.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestroadmapOn the project roadmapv2.0Targeting v2.0 release

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions