Before diving into the technical details, understand, this documentation is for ME. The answers or guidance you might be looking for may not and mostly likely will not be here.
The following is a form a version control outside my Gitea repos. If you want to give it a read, by all means, have at it. Maybe it will help you. Maybe you just need reading material while sitting on the toilet 🚽.
Before implementing the procedures in this handbook, ensure you have:
Technical Prerequisites Hardware Requirements:
Minimum 4 nodes (1 manager, 3 workers recommended) Manager node: 8+ cores, 16+ GB RAM, SSD storage Worker nodes: 2+ cores, 4+ GB RAM each Reliable network connectivity between all nodes Shared or centralized storage solution Software Requirements:
Ubuntu 20.04 LTS or newer on all nodes Docker Engine 20.10+ (28.4.0 recommended) SSH access to all nodes from management workstation Internet connectivity for image downloads and certificate provisioning Network Requirements:
Administrative Access:
Root or sudo access on all cluster nodes Ability to modify system configuration files Permission to install software packages Access to external DNS management (Cloudflare, etc.) Security Considerations:
Secure credential storage and management practices Understanding of container security implications Network security and firewall management Backup and disaster recovery planning
This handbook uses consistent formatting and terminology to improve readability and reduce ambiguity.
Command Line Conventions Shell Commands:
# Commands to be executed as regular user docker service ls # Commands requiring root privileges sudo systemctl restart docker # Commands with placeholder values docker service update --image new-image:TAG service-name Command Output:
# Expected output is shown in code blocks ID NAME MODE REPLICAS IMAGE abc123def456 example_service replicated 1/1 nginx:latest Multi-line Commands: