{ "slug": "teleport", "kind": "compose", "metadata": { "name": "Teleport", "description": "Runs Teleport in Docker Compose with local auth and proxy services plus a companion Teleport configuration file.", "tags": [], "icon": { "provider": "selfhst", "id": "teleport" }, "draft": false, "version": { "name": "18.7.6", "source_dep_name": "public.ecr.aws/gravitational/teleport-distroless", "source_dep_version": "18.7.6" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "service_name", "type": "str", "title": "Compose service name", "required": false, "default": "teleport", "config": { "placeholder": "teleport" } }, { "name": "container_name", "type": "str", "title": "Container name", "required": false, "default": "teleport", "config": { "placeholder": "teleport" } }, { "name": "restart_policy", "type": "enum", "title": "Container restart policy", "required": true, "default": "unless-stopped", "config": { "options": [ "unless-stopped", "always", "on-failure", "no" ] } }, { "name": "data_host_path", "type": "str", "title": "Data Path", "required": false, "default": "./data", "description": "Host path for persistent Teleport data", "config": { "placeholder": "./data" } } ] }, { "title": "Configuration", "name": "configuration", "items": [ { "name": "teleport_node_name", "type": "str", "title": "Teleport node name", "required": false, "default": "teleport-prod-1", "config": { "placeholder": "teleport-prod-1" } }, { "name": "teleport_public_host", "type": "str", "title": "Public Teleport hostname", "required": true, "config": { "placeholder": "tp.home.arpa" } }, { "name": "teleport_log_level", "type": "enum", "title": "Teleport log level", "required": false, "default": "INFO", "config": { "options": [ "DEBUG", "INFO", "WARN", "ERROR" ] } }, { "name": "teleport_second_factor", "type": "enum", "title": "2FA Mode", "required": false, "default": "on", "config": { "options": [ "on", "off", "otp" ] } }, { "name": "teleport_connector_name", "type": "str", "title": "Connector Name", "required": false, "default": "passwordless", "description": "Connector name for the local auth workflow", "config": { "placeholder": "passwordless" } }, { "name": "app_service_enabled", "type": "bool", "title": "App Service", "required": false, "default": false } ] }, { "title": "Ports", "name": "ports", "items": [ { "name": "ports_web", "type": "int", "title": "Teleport web port", "required": false, "default": 3080, "config": { "placeholder": "3080" } }, { "name": "ports_ssh_proxy", "type": "int", "title": "SSH Proxy Port", "required": false, "default": 3023, "config": { "placeholder": "3023" } }, { "name": "ports_reverse_tunnel", "type": "int", "title": "Tunnel Port", "required": false, "default": 3024, "config": { "placeholder": "3024" } }, { "name": "ports_auth", "type": "int", "title": "Teleport auth port", "required": false, "default": 3025, "config": { "placeholder": "3025" } } ] }, { "title": "Network", "name": "network", "items": [ { "name": "network_name", "type": "str", "title": "Network Name", "required": true, "default": "proxy", "config": { "placeholder": "proxy" } }, { "name": "network_external", "type": "bool", "title": "External Network", "required": false, "default": true } ] }, { "title": "Traefik", "name": "traefik", "toggle": "traefik_enabled", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik", "required": false, "default": true }, { "name": "traefik_entrypoint", "type": "str", "title": "Entrypoint", "required": true, "default": "web", "config": { "placeholder": "web" } }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": true }, { "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": false, "default": "cloudflare", "config": { "placeholder": "cloudflare" }, "needs": [ "traefik_tls_enabled=true" ] } ] } ] }