{ "slug": "nginx-swarm", "kind": "swarm", "metadata": { "name": "Nginx", "description": "High-performance web server, reverse proxy, and load balancer known for stability, low resource consumption, and simple configuration.", "tags": [ "traefik" ], "icon": { "provider": "simple-icons", "id": "nginx" }, "draft": false, "version": { "name": "1.30.0-alpine", "source_dep_name": "docker.io/library/nginx", "source_dep_version": "1.30.0-alpine" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "service_name", "type": "str", "title": "Service Name", "required": false, "default": "nginx", "config": { "placeholder": "nginx" } }, { "name": "traefik_tls_entrypoint", "type": "str", "title": "Traefik Tls Entrypoint", "required": false, "default": "", "config": { "placeholder": "websecure" }, "needs": [ "traefik_enabled=true", "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_certresolver", "type": "str", "title": "Cert Resolver", "required": false, "default": "", "config": { "placeholder": "cloudflare" }, "needs": [ "traefik_enabled=true", "traefik_tls_enabled=true" ] }, { "name": "swarm_replicas", "type": "int", "title": "Replicas", "required": false, "default": 1, "description": "Number of replicas for Swarm mode", "config": { "slider": true, "min": 1, "max": 20, "step": 1, "placeholder": "1", "unit": "replicas" } }, { "name": "swarm_placement_host", "type": "str", "title": "The placement host", "required": false, "default": "", "config": { "placeholder": "swarm-node-1" } }, { "name": "swarm_placement_mode", "type": "enum", "title": "The placement mode", "required": false, "default": "replicated", "description": "Placement mode for the service.", "config": { "options": [ "replicated", "global" ] } } ] }, { "title": "Ports", "name": "ports", "items": [ { "name": "ports_http", "type": "int", "title": "HTTP Port", "required": false, "default": 8080, "config": { "placeholder": "8080" }, "needs": [ "traefik_enabled=false" ] }, { "name": "ports_https", "type": "int", "title": "HTTPS Port", "required": false, "default": 8443, "config": { "placeholder": "8443" }, "needs": [ "traefik_enabled=false" ] } ] }, { "title": "Traefik", "name": "traefik", "toggle": "traefik_enabled", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik Enabled", "required": false, "default": false }, { "name": "traefik_network", "type": "str", "title": "Network", "required": false, "default": "traefik", "config": { "placeholder": "traefik" } }, { "name": "traefik_host", "type": "str", "title": "Host", "required": true, "config": { "placeholder": "nginx" } }, { "name": "traefik_domain", "type": "str", "title": "Domain", "required": true, "config": { "placeholder": "home.arpa" } }, { "name": "traefik_entrypoint", "type": "str", "title": "Traefik Entrypoint", "required": false, "default": "web", "config": { "placeholder": "web" }, "needs": [ "traefik_enabled=true" ] } ] }, { "title": "Traefik TLS", "toggle": "traefik_tls_enabled", "name": "traefik-tls", "items": [ { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": false } ] } ] }