version: '3' services: haproxy: image: haproxy:2.3 volumes: - ./resources/haproxy:/usr/local/etc/haproxy:ro ports: - "9080:9080" depends_on: - spoe - dex - protected-backend - unprotected-backend - unauthorized-backend networks: haproxy-spoe-net: aliases: - dex.example.com protected-backend: image: nginx:1.21.5 volumes: - ./resources/protected:/usr/share/nginx/html - ./resources/nginx/default.conf:/etc/nginx/conf.d/default.conf networks: haproxy-spoe-net: unprotected-backend: image: nginx:1.21.5 volumes: - ./resources/unprotected:/usr/share/nginx/html - ./resources/nginx/default.conf:/etc/nginx/conf.d/default.conf networks: haproxy-spoe-net: unauthorized-backend: image: nginx:1.21.5 volumes: - ./resources/unauthorized:/usr/share/nginx/html - ./resources/nginx/default.conf:/etc/nginx/conf.d/default.conf networks: haproxy-spoe-net: spoe: build: . volumes: - .:/app - ./resources/scripts:/scripts - ./resources/configuration:/configuration working_dir: /app command: /scripts/run.sh security_opt: - seccomp:unconfined - apparmor:unconfined cap_add: - SYS_PTRACE depends_on: - ldap - dex networks: haproxy-spoe-net: dex: image: quay.io/dexidp/dex command: dex serve /dex/config.yaml volumes: - ./resources/dex/config.yaml:/dex/config.yaml ports: - "5556:5556" depends_on: - ldap networks: haproxy-spoe-net: ldap: image: osixia/openldap:1.4.0 environment: - LDAP_ORGANISATION=MyCompany - LDAP_DOMAIN=example.com - LDAP_ADMIN_PASSWORD=password - LDAP_CONFIG_PASSWORD=password - LDAP_ADDITIONAL_MODULES=memberof - LDAP_ADDITIONAL_SCHEMAS=openldap - LDAP_FORCE_RECONFIGURE=true command: - '--copy-service' - '--loglevel' - 'debug' volumes: - ./resources/ldap:/container/service/slapd/assets/config/bootstrap/ldif/custom networks: haproxy-spoe-net: networks: haproxy-spoe-net: