{ "slug": "portainer-compose", "kind": "compose", "metadata": { "name": "Portainer", "description": "Web-based management UI for Docker and Kubernetes environments. Simplifies container, image, network, and volume management through an intuitive interface.", "tags": [ "traefik", "volumes" ], "icon": { "provider": "selfhst", "id": "portainer" }, "draft": false, "version": { "name": "2.41.0-alpine", "source_dep_name": "docker.io/portainer/portainer-ce", "source_dep_version": "2.41.0-alpine" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "service_name", "type": "str", "title": "Service Name", "required": false, "default": "portainer", "config": { "placeholder": "portainer" } }, { "name": "container_timezone", "type": "str", "title": "Container Timezone", "required": false, "config": { "placeholder": "Europe/Berlin" } }, { "name": "restart_policy", "type": "enum", "title": "Restart Policy", "required": true, "default": "unless-stopped", "config": { "options": [ "unless-stopped", "always", "on-failure", "no" ] } } ] }, { "title": "Ports", "name": "ports", "items": [ { "name": "ports_http", "type": "str", "title": "HTTP Port", "required": false, "default": 9000, "config": { "placeholder": "9000" } }, { "name": "ports_https", "type": "str", "title": "HTTPS Port", "required": false, "default": 9443, "config": { "placeholder": "9443" } }, { "name": "ports_edge", "type": "int", "title": "Edge Port", "required": true, "default": 8000, "config": { "placeholder": "8000" } } ] }, { "title": "Traefik", "name": "traefik", "toggle": "traefik_enabled", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik", "required": false, "default": false }, { "name": "traefik_host", "type": "str", "title": "Host", "required": true, "config": { "placeholder": "portainer" } }, { "name": "traefik_domain", "type": "str", "title": "Domain", "required": true, "config": { "placeholder": "home.arpa" } }, { "name": "traefik_entrypoint", "type": "str", "title": "Entrypoint", "required": true, "default": "web", "config": { "placeholder": "web" } }, { "name": "traefik_network", "type": "str", "title": "Network", "required": true, "default": "traefik", "config": { "placeholder": "traefik" } }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": false }, { "name": "traefik_tls_entrypoint", "type": "str", "title": "TLS Entrypoint", "required": true, "default": "websecure", "config": { "placeholder": "websecure" }, "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_certresolver", "type": "str", "title": "Cert Resolver", "required": true, "default": "cloudflare", "config": { "placeholder": "cloudflare" }, "needs": [ "traefik_tls_enabled=true" ] } ] }, { "title": "Volume", "name": "volume", "items": [ { "name": "volume_mode", "type": "enum", "title": "Volume Mode", "required": true, "default": "local", "config": { "options": [ "local", "mount", "nfs" ] } }, { "name": "volume_mount_path", "type": "str", "title": "Volume Mount Path", "required": true, "default": "/data", "needs": [ "volume_mode=mount" ], "config": { "placeholder": "/data" } }, { "name": "volume_nfs_server", "type": "str", "title": "Volume Nfs Server", "required": true, "default": "NFS_SERVER", "needs": [ "volume_mode=nfs" ], "config": { "placeholder": "NFS_SERVER" } }, { "name": "volume_nfs_path", "type": "str", "title": "Volume Nfs Path", "required": true, "default": "/export", "needs": [ "volume_mode=nfs" ], "config": { "placeholder": "/export" } }, { "name": "volume_nfs_options", "type": "str", "title": "Volume Nfs Options", "required": true, "default": "rw,nolock,soft", "needs": [ "volume_mode=nfs" ], "config": { "placeholder": "rw,nolock,soft" } } ] } ] }