Cluster Topology
Swarm Information:
- Cluster ID:
[SECRET]
- Total Nodes: 4 (1 manager, 3 workers)
- Docker Version: 28.4.0 across all nodes
- Network Driver: Overlay with VXLAN encapsulation
- Address Pool: 10.0.0.0/8 with /24 subnets
Network Configuration:
- Homelab Network: 10.0.1.0/24 (primary application network)
- Ingress Network: 10.0.0.0/24 (published ports)
- Portainer Network: 10.0.2.0/24 (management isolation)
Node Constraints and Placement Strategies
The cluster employs strategic service placement based on node capabilities:
Manager Node (p0) Services:
constraints: [node.hostname == p0]
- Critical Infrastructure: Traefik, PostgreSQL, MariaDB
- Authentication Services: Authentik server and worker
- Management Tools: Portainer, Homarr, Adminer
- High-I/O Services: Nextcloud, Paperless-NGX
Rationale: Centralized on the most powerful node with direct storage access.
Worker Node Services:
constraints: [node.role == worker]
- Application Workloads: BookStack, Vikunja
- Distributed Services: Taylor’s Tracker (3 replicas)
- Monitoring: Uptime Kuma
Rationale: Distributed for resilience and load balancing.
Global Services:
mode: global
- Portainer Agent: Deployed on all nodes for management
- Monitoring Agents: System-level monitoring across cluster