1
0
Fork 0
docker-easy-haproxy/tests_e2e/swarm/README.md
Joao Gilberto Magalhaes a410b34521 Documentation Refactor
2026-02-20 11:46:57 -05:00

2.3 KiB

Docker Swarm Examples

Self-contained examples for EasyHAProxy in Docker Swarm mode. All documentation is in the YAML files as header comments.

Quick Start

  1. Pick an example below
  2. Open the YAML file
  3. Read the header comments for complete instructions
  4. Run the commands step-by-step

Prerequisites

All examples require:

  • Docker Swarm initialized (docker swarm init)
  • Overlay network created (docker network create --driver overlay --attachable easyhaproxy)
  • EasyHAProxy deployed (docker stack deploy -c easyhaproxy.yml easyhaproxy)

See header comments in each file for detailed setup instructions.

Basic Examples

File Description
easyhaproxy.yml EasyHAProxy service for Swarm with stats and certbot
services.yml Basic services with SSL (embedded cert and file-based)
portainer.yml Portainer management UI behind EasyHAProxy

Plugin Examples

File Description
jwt-validator.yml JWT token validation for API protection
ip-whitelist.yml IP whitelist for admin panels or sensitive services
cloudflare.yml Restore real client IPs when behind Cloudflare CDN
plugins-combined.yml Multiple plugins combined for layered security

Documentation Structure

Each YAML file contains:

  • WHAT THIS DEMONSTRATES - Key features and concepts
  • REQUIREMENTS - Idempotent setup commands (safe to run multiple times)
  • HOW TO START - Command to deploy the stack
  • HOW TO VERIFY IT'S WORKING - Test commands with expected outputs
  • CLEAN UP - Commands to remove resources

Important: Service Labels

In Swarm mode, labels must be under deploy.labels, NOT top-level labels:

# ✅ CORRECT - Service labels
deploy:
  labels:
    easyhaproxy.http.host: example.com

# ❌ WRONG - Container labels (ignored in Swarm)
labels:
  easyhaproxy.http.host: example.com

Additional Documentation