Docker Administration for Small Networks

Managing a small fleet of 6-10 containers across 2-3 hosts represents a "Goldilocks" zone in system administration: too complex for manual ad-hoc commands, but small enough that heavy orchestrators like Kubernetes introduce more problems (overhead, complexity, resource drain) than they solve.

This guide outlines a tiered approach to Docker administration, prioritizing simplicity, data integrity, and a "clean" production environment.

Tier 1: The "Invisible" Minimalist (SSH + Docker Compose)

For users who want zero "middleman" overhead and full control over every configuration byte, the combination of SSH and Docker Compose remains the gold standard.

Core Practices

Automation via SSH

You can manage remote hosts without logging in by using the Docker Context feature:

# Register a remote host
docker context create remote-host --docker "host=ssh://user@host-ip"
# Switch to it
docker context use remote-host
# Run commands as if local
docker compose up -d

Tier 2: The Modern PaaS (All-in-One Management)

If you prefer a "Heroku-like" experience where SSL, domain routing, and deployments are handled automatically, several open-source tools have matured to solve this specifically for small networks.

1. Coolify (The Feature King)

Coolify is arguably the most advanced self-hosted PaaS. It manages your servers, handles Git-push-to-deploy, and automates database backups.

2. Dockge (The Compose Specialist)

Created by the developer of Uptime Kuma, Dockge provides a beautiful, reactive UI for managing your Compose stacks. Unlike Portainer, it doesn't try to abstract Docker; it just helps you manage the .yaml files.

3. CapRover (The Rock Solid)

An older, extremely stable PaaS that uses Docker Swarm under the hood for "one-click" apps and automatic Nginx/SSL setup.


Tier 3: Multi-Host Strategy (The 3-Host Network)

When moving beyond a single host, you must solve for Networking and Storage.

1. Networking: Docker Swarm

For 2-3 hosts, Docker Swarm is significantly easier than Kubernetes. It is built into Docker and uses an "overlay network" that allows containers on Host A to talk to Host B as if they were local.

2. Reverse Proxy: Traefik or Nginx Proxy Manager


Essential Production Practices

Regardless of the tool you choose, these three rules prevent "screwing things up":

1. The 3-2-1 Backup Rule

Containers are ephemeral; volumes are not.

2. Automated Updates (with Caution)

Use Watchtower to keep your images fresh.

3. Log Hygiene

By default, Docker logs can grow indefinitely. Limit them in your /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Summary Comparison

GoalRecommended Stack
Max Control / Zero BloatSSH + Git + Docker Contexts
Easy Web ManagementDockge + Nginx Proxy Manager
Full Private Cloud (GitOps)Coolify
High Stability / Multi-HostDocker Swarm + CapRover